Како функционира дизајнирањето на промпти
Поради начинот на кој се обучуваат моделите на OpenAI, постојат конкретни формати на промпти што функционираат особено добро и водат до покорисни излези од моделот. Официјалниот водич за дизајнирање на промпти од OpenAI обично е најдоброто место за почеток за совети за промпти.
Подолу претставуваме неколку формати на промпти за кои сметаме дека функционираат добро, но слободно истражете и други формати што можеби подобро одговараат на вашата задача.
Практични правила и примери
Белешка: „{text input here}“ е место-носител за вистински текст/контекст
1. Користете го најновиот модел
За најдобри резултати, генерално препорачуваме да ги користите најновите и најспособни модели. Поновите модели обично се полесни за дизајнирање промпти.
Белешка: Има некои разлики што треба да се земат предвид кога се прави промпт за модел со расудување наспроти промпт за GPT модел. Повеќе детали тука.
2. Ставете ги инструкциите на почетокот на промптот и користете ### или """ за да ги одделите инструкцијата и контекстот
Помалку ефективно ❌:
Сумирај го текстот подолу како листа со точки од најважните поенти.
{text input here}Подобро ✅:
Сумирај го текстот подолу како листа со точки од најважните поенти.
Текст: """
{text input here}
"""3. Бидете конкретни, описни и што е можно подетални за посакуваниот контекст, исход, должина, формат, стил итн.
Бидете конкретни за контекстот, исходот, должината, форматот, стилот итн.
Помалку ефективно ❌:
Напиши песна за OpenAI. Подобро ✅:
Напиши кратка инспиративна песна за OpenAI, фокусирајќи се на неодамнешното лансирање на производот DALL-E (DALL-E е ML модел за текст во слика) во стилот на {famous poet}4. Изразете го посакуваниот формат на излезот преку примери
Помалку ефективно ❌:
Извлечи ги ентитетите спомнати во текстот подолу. Извлечи ги следниве 4 типа ентитети: имиња на компании, имиња на луѓе, конкретни теми и општи теми.
Текст: {text}Покажете и кажете - моделите реагираат подобро кога ќе им се покажат конкретни барања за форматот. Ова исто така го олеснува сигурното програмско издвојување на повеќе излези.
Подобро ✅:
Извлечи ги важните ентитети спомнати во текстот подолу. Прво извлечи ги сите имиња на компании, потоа извлечи ги сите имиња на луѓе, потоа извлечи конкретни теми што одговараат на содржината и на крај извлечи општи сеопфатни теми
Посакуван формат:
Имиња на компании: <запирка_раздвоена_листа_на_имиња_на_компании>
Имиња на луѓе: -||-
Конкретни теми: -||-
Општи теми: -||-
Текст: {text}5. Почнете со промпт без примери, потоа со промпт со мал број примери; ако ниедно не успее, фино подесете
✅ Промпт без примери
Извлечи клучни зборови од текстот подолу.
Текст: {text}
Клучни зборови:✅ Промпт со мал број примери - наведете неколку примери
Извлечи клучни зборови од соодветните текстови подолу.
Текст 1: Stripe обезбедува API-и што веб-развивачите можат да ги користат за да интегрираат обработка на плаќања во нивните веб-страници и мобилни апликации.
Клучни зборови 1: Stripe, обработка на плаќања, API-и, веб-развивачи, веб-страници, мобилни апликации
##
Текст 2: OpenAI има обучено најсовремени јазични модели што се многу добри во разбирање и генерирање текст. Нашиот API обезбедува пристап до овие модели и може да се користи за решавање на речиси секоја задача што вклучува обработка на јазик.
Клучни зборови 2: OpenAI, јазични модели, обработка на текст, API.
##
Текст 3: {text}
Клучни зборови 3:✅ Фино подесување: видете ги најдобрите практики за фино подесување тука.
6. Намалете ги „празните“ и непрецизни описи
Помалку ефективно ❌:
Описот за овој производ треба да биде прилично краток, само неколку реченици, и не многу повеќе од тоа.Подобро ✅:
Користи пасус од 3 до 5 реченици за да го опишеш овој производ.7. Наместо само да кажете што не треба да се прави, кажете што треба да се прави наместо тоа
Помалку ефективно ❌:
Следното е разговор меѓу агент и клиент. НЕ БАРАЈ КОРИСНИЧКО ИМЕ ИЛИ ЛОЗИНКА. НЕ ПОВТОРУВАЈ.
Клиент: Не можам да се најавам на мојата сметка.
Агент:Подобро ✅:
Следното е разговор меѓу агент и клиент. Агентот ќе се обиде да го дијагностицира проблемот и да предложи решение, притоа воздржувајќи се од поставување какви било прашања поврзани со PII. Наместо да бараш PII, како корисничко име или лозинка, упати го корисникот на статијата за помош www.samplewebsite.com/help/faq
Клиент: Не можам да се најавам на мојата сметка.
Агент:8. Специфично за генерирање код - користете „водечки зборови“ за да го насочите моделот кон одреден образец
Помалку ефективно ❌:
# Напиши едноставна python функција што
# 1. Ќе ме праша за број во милји
# 2. Ги претвора милјите во километриВо примерот со код подолу, додавањето на „import“ му навестува на моделот дека треба да почне да пишува во Python. (Слично, „SELECT“ е добар навестувач за почеток на SQL-исказ.)
Подобро ✅:
# Напиши едноставна python функција што
# 1. Ќе ме праша за број во милји
# 2. Ги претвора милјите во километри
import9. Користете ја функцијата „Генерирај што било“
Програмерите може да ја користат функцијата „Генерирај што било“ за да опишат задача или очекуван излез на природен јазик и да добијат приспособен промпт.
Дознајте повеќе за користење на функцијата „Генерирај што било“.
Параметри
Општо земено, моделот и температурата се најчесто користените параметри за менување на излезот од моделот.
модел — Моделите со повисоки перформанси обично се поскапи и може да имаат поголемо доцнење.
температура — Мерка за тоа колку често моделот генерира токен со помала веројатност. Колку е повисока температурата, толку е послучаен (и обично покреативен) излезот. Меѓутоа, ова не е исто што и „вистинитост“. За повеќето случаи што бараат фактичка точност, како извлекување податоци и вистинито одговарање на прашања, најдобра е температура од 0.
max_completion_tokens (максимална должина) — Не ја контролира должината на излезот, туку поставува строга горна граница за генерирање токени. Во идеален случај, нема често да ја достигнувате оваа граница, бидејќи моделот ќе запре кога ќе процени дека завршил или кога ќе наиде на дефинирана секвенца за запирање.
stop (секвенци за запирање) — Низа знаци (токени) што, кога ќе се генерираат, го запираат генерирањето текст.
За опис на другите параметри, погледнете ја референцата за API.
