Как работи бързият инженеринг
Поради начина, по който са обучени моделите на 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. Използвайте функцията Generate Anything
Разработчиците могат да използват функцията 'Generate Anything', за да опишат задача или очакван резултат на естествен език и да получат персонализирана подкана.
Научете повече за използването на функцията 'Generate Anything'.
Параметри
Като цяло установяваме, че model и temperature са най-често използваните параметри за промяна на изхода на модела.
model- Моделите с по-висока производителност обикновено са по-скъпи и може да имат по-голяма латентност.temperature- Мярка за това колко често моделът извежда по-малко вероятен токен. Колкото по-висока еtemperature, толкова по-случаен (и обикновено по-креативен) е резултатът. Това обаче не е същото като „правдивост“. За повечето фактически случаи на употреба, като извличане на данни и правдиви въпроси и отговори,temperature0 е най-добра.max_completion_tokens(максимална дължина) - Не контролира дължината на изхода, а е твърда гранична стойност за генериране на токени. В идеалния случай няма често да достигате този лимит, тъй като вашият модел ще спре или когато прецени, че е приключил, или когато достигне зададена от вас стоп последователност.stop(стоп последователности) - Набор от знаци (токени), които, когато бъдат генерирани, ще накарат генерирането на текста да спре.
За описания на други параметри вижте API справката.
