Prompt Matrix adalah paket python kecil yang memperluas string yang menentukan matriks prompt. Misalnya, string "The <dog|cat> in the hat"
mengembang ke daftar ["The dog in the hat", "The cat in the hat"]
.
Kasing yang memotivasi untuk paket ini adalah untuk membandingkan efek dari perbedaan yang berbeda dalam sistem pembuatan teks dan gambar seperti difusi stabil dan GPT-3.
String prompt dapat berisi beberapa pergantian. Misalnya, "The <dog|cat> in the <cardigan|hat>"
menghasilkan daftar empat senar "The dog in the cardigan"
, "The dog in the hat"
, "The cat in the cardigan"
, dan "The cat in the hat"
.
String prompt mungkin berisi pergantian bersarang. Misalnya, "The <<small|large> dog|cat>"
menghasilkan string "The small dog"
, "The large do"
, dan "The cat"
.
Kurung []
Lampirkan elemen opsional. Misalnya, "The [small] cat"
setara dengan "The <small,> cat"
, dan keduanya menghasilkan string "The small cat"
dan "The cat"
.
Karakter Khusus <>{}|
dapat diganti dengan string yang berbeda, atau dinonaktifkan dengan menentukan None
atau string kosong.
Catatan : Disjungsi dibatasi oleh kurung yang melampirkan, jika ada.
"The dog|cat in the cardigan|hat"
menghasilkan tiga senar"The dog"
,"cat in the gardigan"
, dan"hat"
. Ini berbeda dengan beberapa sistem lain, bahwa ruang lingkup disjungsi pada teks yang dibatasi oleh ruang putih di sekitarnya.
$ pip install prompt-matrix
Prompt Matrix menyediakan dua fungsi untuk memperluas matriks cepat: expand
dan iterexpand
. Keduanya mengambil string yang menentukan matriks prompt.
expand
mengembalikan serangkaian string dengan semua kemungkinan kombinasi elemen matriks cepat.
import prompt_matrix
prompt = "<hi|hello> <there|you>"
expansion = prompt_matrix . expand ( prompt )
print ( expansion ) # ["hi there", "hi you", "hello there", "hello you"]
iterexpand
mengembalikan generator yang menghasilkan ekspansi satu per satu.
import prompt_matrix
prompt = "<hi|hello> <there|you>"
for expansion in prompt_matrix . iterexpand ( prompt ):
print ( expansion ) # "hi there", "hi you", "hello there", "hello you"
Contoh 1: Penggunaan Dasar
import prompt_matrix
prompt_matrix . expand ( "The <dog|cat> in the hat" )
# ->
# ["The dog in the hat",
# "The cat in the hat"]
Contoh 2: Menggunakan beberapa pergantian
prompt_matrix . expand ( "The <dog|cat> in the <cardigan|hat>" )
# ->
# ["The dog in the cardigan",
# "The dog in the hat",
# "The cat in the cardigan",
# "The cat in the hat"]
Contoh 3: Menggunakan kurung bersarang
prompt_matrix . expand ( "The <<small|large> <brown|black> dog|<red|blue> fish>" )
# ->
# ["The small brown dog",
# "The small black dog",
# "The large brown dog",
# "The large black dog",
# "The red fish",
# "The blue fish"]
Contoh 4: Menggunakan kurung dan pemisah khusus
prompt_matrix . expand ( "The {dog,cat} in the {cardigan,hat}" ,
brackets = [ '{' , '}' ], alt = ',' )
# ->
# ["The dog in the cardigan",
# "The dog in the hat",
# "The cat in the cardigan",
# "The cat in the hat"]
Versi JavaScript dari perpustakaan ini ada di https://github.com/osteele/promppt-matrix.py.
Mit