Искористите ОпенАИ-јев ДАЛЛ·Е 2 модел за генерисање слика помоћу Питхон-а.

Ако сте икада користили ЦхатГПТ, онда сте били сведоци његове интуиције. Са АПИ-јима ОпенАИ-а, генерисање кода, довршавање текста, поређење текста, обука модела и генерисање слика су све у торби за програмере да истраже и интегришу у апликације.

У овом водичу ћете научити како да користите ОпенАИ АПИ са Питхон-ом за генерисање, уређивање и варирање слика помоћу упита на природном језику.

Први кораци са ОпенАИ користећи Питхон

Морате да подесите неколико ствари пре него што започнете овај водич. Прво се уверите да сте инсталирали најновију верзију Питхон-а на свој рачунар. Ако користите дистрибуцију Линука као што је Убунту, можда бисте желели да видите како инсталирати Питхон на Убунту.

Направите нову фасциклу за свој пројекат и отворите командну линију у директоријуму вашег пројекта.

Следеће је инсталација ОпенАИ пакета. Морате инсталирати јастук да конвертујете слике у РГБА док користите крајњу тачку за уређивање слика. Можда ћете желети и да инсталирате

instagram viewer
питхон-дотенв; ово ћете користити за маскирање тајних кључева.

Препоручујемо да направите а наменско Питхон виртуелно окружење да изолују зависности.

Код који се користи у овом пројекту доступан је у а ГитХуб спремиште и бесплатан је за коришћење под МИТ лиценцом.

Да бисте инсталирали питхон-дотенв, јастук, и опенаи пакете, покрените следећу команду у терминалу:

пип инсталл опенаи питхон-дотенв јастук

Сада пређите на ОпенАИ и пријавите се на своју контролну таблу да бисте преузели свој АПИ кључ:

  1. Када се пријавите, кликните на икону свог профила у горњем десном делу.
  2. Иди на Прикажи АПИ кључеве. Ако ваш АПИ кључ није видљив, кликните Креирајте нови тајни кључ да генерише нову.
  3. Копирајте генерисани тајни кључ и налепите га на безбедно место на рачунару. Можда бисте желели да га налепите у датотеку променљиве окружења у основни директоријум вашег пројекта ради безбедности.

Како генерисати и уређивати слике помоћу ОпенАИ АПИ-ја у Питхон-у

Генерисање слика ОпенАИ АПИ-ја садржи крајње тачке за генерисање нових слика, креирање варијација слика и њихово уређивање.

У следећим одељцима ћете истражити ове крајње тачке да бисте генерисали, уређивали, подешавали и преузимали слике користећи упутства на природном језику.

Генерисање слика помоћу ОпенАИ АПИ-ја

Крајња тачка генерисања слике прихвата три аргумента кључне речи. Ови укључују промпт, н, и величина.

Тхе промпт кључна реч је низ текста који описује слику коју желите да генеришете, док н је број слика за генерисање током АПИ позива. Тхе величина је величина слике, а од тренутка писања прихвата само 256к256, 512к512 и 1024к1024 пиксела, према званичницима ОпенАИ документација за генерисање слике.

Следећи код генерише слике користећи упите на природном језику и исписује њихову УРЛ адресу (адресе слика):

увоз опенаи
увоз ос
увоз захтева
из дотенв увоз лоад_дотенв
из ПИЛ увоз Слика
лоад_дотенв()

класаИмагеГенератор:
деф__у томе__(сам) -> стр:
селф.имаге_урл: стр
опенаи.апи_кеи = ос.гетенв(„ОПЕНАИ_АПИ_КЕИ“)
селф. АПИКеи = опенаи.апи_кеи
селф.наме = Ниједан

дефгенератеИмаге(селф, Промпт, ИмагеЦоунт, ИмагеСизе):
покушати:
селф. АПИКеи
одговор = опенаи. Имаге.цреате(
промпт = Промпт,
н = Број слика,
величина = Величина слике,
)
селф.имаге_урл = одговор['подаци']

селф.имаге_урл = [слика["урл"] за слика ин селф.имаге_урл]
штампа (селф.имаге_урл)
повратак селф.имаге_урл
осим опенаи.еррор. ОпенАИЕррор као е:
штампа (е.хттп_статус)
штампа (е.еррор)

дефдовнлоадИмаге(ја, имена)-> Ниједан:
покушати:
селф.наме = имена
за урл ин селф.имаге_урл:
слика = рекуестс.гет (урл)
за име ин селф.наме:
са отвори („{}.пнг“.формат (име), "вб") као ф:
ф.врите (имаге.цонтент)
осим:
штампа ("Грешке")
повратак селф.наме

# Инстанцирајте класу
имагеГен = ИмагеГенератор()

# Генеришите слике:
имагеГен.генератеИмаге(
Промпт = "Џиновски лав, медвед, мајмун и тигар стоје на водопаду",
ИмагеЦоунт = 2,
Величина слике = '1024к1024'
)

# Преузмите слике:
имагеГен.довнлоадИмаге (наме=[
"Животиње",
"Животиње2"
])

Горњи код садржи ан ИмагеГенератор разред са имаге_урл и АПИКеи атрибути. Тхе генератеИмаге метода прилагођава захтеве крајње тачке генерисања слике. То генерише н УРЛ адресе које користе одзив на природном језику, у зависности од ИмагеЦоунт вредност.

Међутим, селф.имаге_урл издваја генерисане УРЛ адресе слика из ЈСОН одговора у листу користећи фор петљу у разумевању листе.

Излаз изгледа овако:

Коначно, довнлоадИмаге метод преузима сваку слику тако што захтева генерисане адресе. Овај метод прихвата н број имена која желите да дате свакој слици.

Уређивање слика помоћу ОпенАИ АПИ-ја

Крајња тачка за уређивање вам омогућава да уредите постојећу слику на основу шаблона маске. Маска је РГБА формат са обележеном, провидном површином и мора бити исте величине као слика коју желите да измените.

Када дате маску, крајња тачка за уређивање замењује своју маскирану област новом промптом у постојећој слици да би произвела нову. Додајте следеће методе горњој претходној класи:

класаИмагеГенератор:
деф__у томе__(сам, ...):
...

дефцонвертИмаге(селф, име маске):
слика = Имаге.опен(„{}.пнг“.формат (маскНаме))
ргба_имаге = имаге.цонверт('РГБА')
ргба_имаге.саве(„{}.пнг“.формат (маскНаме))

повратак ргба_имаге


дефедитИмаге(селф, имагеНаме, маскНаме, ИмагеЦоунт, ИмагеСизе, Промпт) -> стр:
селф.цонвертИмаге (маскНаме)
одговор = опенаи. Имаге.цреате_едит(
слика = отворена(„{}.пнг“.формат (име слике), "рб"),
маска = отворена(„{}.пнг“.формат (маскНаме), "рб"),
промпт = Промпт,
н = Број слика,
величина = Величина слике,
)
селф.имаге_урл = одговор['подаци']
селф.имаге_урл = [слика["урл"] за слика ин селф.имаге_урл]

штампа (селф.имаге_урл)
повратак селф.имаге_урл

# Измените постојећу слику:
имагеГен.едитИмаге(
имагеНаме = "Животиње",
маскНаме = "маска",
ИмагеЦоунт = 1,
Величина слике = "1024к1024",
Промпт = "Орао стоји на обали реке и пије воду са великом планином"
)

# Преузмите уређену слику:
имагеГен.довнлоадИмаге (наме=[
"Нове животиње",
])

Тхе цонвертИмаге метода претвара слику маске у РГБА формат. То можете постићи користећи конвертовати метод из Питхон-овог пакета јастука (увезен као ПИЛ).

Када се конвертује, нова маска се чува као замена постојеће. Дакле, конверзија слика је први задатак методе уређивања (едитИмаге) извршава.

Тхе слика чита циљну слику из постојеће датотеке, док је маска чита конвертовану слику маске, која мора имати провидну област.

Можете означити провидну област у маски помоћу софтвер за уређивање фотографија као Гимп или Пхотосхоп.

На пример, слика коју желимо да уредимо коришћењем упита у коду изнад је:

Сада претпоставите да желите да замените антилопу која стоји уз обалу реке орлом, као што је наведено у упиту.

Ево како маска изгледа:

Пошто кључна реч у промпту из горњег кода каже, „орао који стоји на обали реке“, празно место попуњава орао, замењујући антилопу која је раније била тамо.

Ево нове слике у овом случају:

Можете покушати да се поиграте са крајњом тачком за уређивање слика користећи друге фотографије.

Генерисање варијација слике у Питхон-у помоћу ОпенАИ АПИ-ја

Крајња тачка варијације генерише алтернативне слике из постојеће слике. Даље проширите класу генератора слика додавањем методе варијације слике као што је приказано у наставку:

класаИмагеГенератор:
деф__у томе__(сам) -> стр:
...

дефимагеВариатионс(селф, ИмагеНаме, ВариатионЦоунт, ИмагеСизе):
одговор = опенаи. Имаге.цреате_вариатион(
слика = отворена(„{}.пнг“.формат (ИмагеНаме), "рб"),
н = Број варијација,
величина = Величина слике
)

селф.имаге_урл = одговор['подаци']

селф.имаге_урл = [слика["урл"] за слика ин селф.имаге_урл]
штампа (селф.имаге_урл)
повратак селф.имаге_урл

# Инстанцирајте класу
имагеГен = ИмагеГенератор()

# Генеришите варијације за постојећу слику
имагеГен.имагеВариатионс(
ИмагеНаме = "Нове_животиње",
ВариатионЦоунт = 2,
Величина слике = "1024к1024"
)

# Преузмите варијације
имагеГен.довнлоадИмаге (наме=[
"Варијација 1",
"Варијација 2",
]
)

Горњи код генерише варијације слике.

Користите ОпенАИ у своју корист

Иако се неки људи плаше да би им вештачка интелигенција могла украсти посао, ипак би то могло бити уточиште – ако научите да га контролишете и користите. Овај водич за креирање ОпенАИ слике само је један од многих случајева употребе АИ у стварном свету. ОпенАИ АПИ-ји пружају згодне унапред обучене моделе које можете лако да интегришете у своју апликацију. Тако да можете прихватити изазов и направити нешто вредно из овог водича.

Иако је АПИ за генерисање слика још увек у бета верзији од тренутка писања, већ вам омогућава да правите имагинарне уметничке радове. Надамо се да ће добити додатна ажурирања како би се омогућило повећање величине и прихватање различитих величина слика.