Jak działa inżynieria poleceń
Ze względu na sposób trenowania modeli OpenAI istnieją określone formaty poleceń, które działają szczególnie dobrze i prowadzą do bardziej użytecznych wyników modelu. Oficjalny przewodnik OpenAI po inżynierii poleceń to zwykle najlepsze miejsce, by zacząć szukać wskazówek dotyczących tworzenia poleceń.
Poniżej przedstawiamy kilka formatów poleceń, które naszym zdaniem działają dobrze, ale zachęcamy do eksperymentowania z innymi formatami, które mogą lepiej pasować do Twojego zadania.
Praktyczne reguły i przykłady
Uwaga: „{text input here}” to symbol zastępczy dla rzeczywistego tekstu/kontekstu
1. Użyj najnowszego modelu
Aby uzyskać najlepsze wyniki, zazwyczaj zalecamy korzystanie z najnowszych, najbardziej zaawansowanych modeli. Nowsze modele zwykle łatwiej poddają się inżynierii poleceń.
Uwaga: Przy tworzeniu poleceń dla modelu rozumującego i modelu GPT należy wziąć pod uwagę pewne różnice. Więcej szczegółów znajdziesz tutaj.
2. Umieść instrukcje na początku polecenia i użyj ### lub „”” do oddzielenia instrukcji od kontekstu
Mniej skuteczne ❌:
Podsumuj poniższy tekst w formie listy punktowanej z najważniejszymi punktami.
{text input here}Lepsze ✅:
Podsumuj poniższy tekst w formie listy punktowanej z najważniejszymi punktami.
Tekst: """
{text input here}
"""3. Opisz pożądany kontekst, wynik, długość, format, styl itp. konkretnie, opisowo i możliwie szczegółowo
Precyzyjnie określ kontekst, wynik, długość, format, styl itp.
Mniej skuteczne ❌:
Napisz wiersz o OpenAI. Lepsze ✅:
Napisz krótki inspirujący wiersz o OpenAI, koncentrując się na niedawnym wprowadzeniu produktu DALL-E (DALL-E to model ML zamieniający tekst na obraz), w stylu {famous poet}4. Określ pożądany format wyniku za pomocą przykładów
Mniej skuteczne ❌:
Wyodrębnij encje wymienione w poniższym tekście. Wyodrębnij następujące 4 typy encji: nazwy firm, imiona i nazwiska osób, konkretne tematy oraz motywy.
Tekst: {text}Pokaż i powiedz — modele reagują lepiej, gdy pokaże się im konkretne wymagania dotyczące formatu. Ułatwia to także niezawodne programowe parsowanie wielu wyników.
Lepsze ✅:
Wyodrębnij ważne encje wymienione w poniższym tekście. Najpierw wyodrębnij wszystkie nazwy firm, następnie wszystkie imiona i nazwiska osób, potem konkretne tematy pasujące do treści, a na końcu ogólne nadrzędne motywy
Pożądany format:
Nazwy firm: <lista_nazw_firm_oddzielonych_przecinkami>
Imiona i nazwiska osób: -||-
Konkretne tematy: -||-
Ogólne motywy: -||-
Tekst: {text}5. Zacznij od podejścia bez przykładów, potem z kilkoma przykładami, a jeśli żadne nie zadziała, dostrój model
✅ Bez przykładów
Wyodrębnij słowa kluczowe z poniższego tekstu.
Tekst: {text}
Słowa kluczowe:✅ Kilka przykładów – podaj kilka przykładów
Wyodrębnij słowa kluczowe z odpowiadających im poniższych tekstów.
Tekst 1: Stripe udostępnia API, z których programiści webowi mogą korzystać, aby integrować przetwarzanie płatności ze swoimi witrynami i aplikacjami mobilnymi.
Słowa kluczowe 1: Stripe, przetwarzanie płatności, API, programiści webowi, witryny, aplikacje mobilne
##
Tekst 2: OpenAI wytrenowało najnowocześniejsze modele językowe, które bardzo dobrze rozumieją i generują tekst. Nasze API zapewnia dostęp do tych modeli i może być używane do rozwiązywania praktycznie każdego zadania związanego z przetwarzaniem języka.
Słowa kluczowe 2: OpenAI, modele językowe, przetwarzanie tekstu, API.
##
Tekst 3: {text}
Słowa kluczowe 3:✅ Dostrajanie: sprawdź sprawdzone metody dostrajania tutaj.
6. Ogranicz ogólnikowe i nieprecyzyjne opisy
Mniej skuteczne ❌:
Opis tego produktu powinien być dość krótki, tylko kilka zdań i niewiele więcej.Lepsze ✅:
Użyj akapitu składającego się z 3 do 5 zdań, aby opisać ten produkt.7. Zamiast mówić tylko, czego nie robić, powiedz, co zrobić zamiast tego
Mniej skuteczne ❌:
Poniżej znajduje się rozmowa między agentem a klientem. NIE PYTAJ O NAZWĘ UŻYTKOWNIKA ANI HASŁO. NIE POWTARZAJ.
Klient: Nie mogę zalogować się na swoje konto.
Agent:Lepsze ✅:
Poniżej znajduje się rozmowa między agentem a klientem. Agent spróbuje zdiagnozować problem i zasugerować rozwiązanie, jednocześnie powstrzymując się od zadawania jakichkolwiek pytań związanych z PII. Zamiast pytać o PII, takie jak nazwa użytkownika lub hasło, odeślij użytkownika do artykułu pomocy www.samplewebsite.com/help/faq
Klient: Nie mogę zalogować się na swoje konto.
Agent:8. Specyficzne dla generowania kodu — używaj „słów początkowych”, aby nakierować model na określony wzorzec
Mniej skuteczne ❌:
# Napisz prostą funkcję w Pythonie, która
# 1. Poprosi mnie o liczbę w milach
# 2. Przeliczy mile na kilometryW poniższym przykładzie kodu dodanie „import” sugeruje modelowi, że powinien zacząć pisać w Pythonie. (Podobnie „SELECT” to dobra wskazówka na początek instrukcji SQL.)
Lepsze ✅:
# Napisz prostą funkcję w Pythonie, która
# 1. Poprosi mnie o liczbę w milach
# 2. Przeliczy mile na kilometry
import9. Użyj funkcji „Wygeneruj wszystko”
Deweloperzy mogą użyć funkcji „Wygeneruj wszystko”, aby opisać zadanie lub oczekiwany wynik w języku naturalnym i otrzymać dopasowane polecenie.
Dowiedz się więcej o korzystaniu z funkcji „Wygeneruj wszystko”.
Parametry
Ogólnie rzecz biorąc, uważamy, że `model` i `temperature` to najczęściej używane parametry do zmiany wyniku modelu.
`model` – Modele o wyższej wydajności są zazwyczaj droższe i mogą mieć większe opóźnienia.
`temperature` – Miara tego, jak często model zwraca mniej prawdopodobny token. Im wyższa wartość
temperature, tym bardziej losowy (i zwykle kreatywny) jest wynik. Nie jest to jednak to samo co „prawdziwość”. W większości zastosowań opartych na faktach, takich jak ekstrakcja danych i rzetelne Q&A, najlepsza jest wartośćtemperaturerówna 0.`max_completion_tokens` (maksymalna długość) – Nie kontroluje długości wyniku, lecz stanowi sztywny limit generowania tokenów. Najlepiej, aby ten limit nie był osiągany często, ponieważ model zatrzyma się albo wtedy, gdy uzna, że skończył, albo gdy trafi na zdefiniowaną przez Ciebie sekwencję stopu.
`stop` (sekwencje stopu) – Zestaw znaków (tokenów), które po wygenerowaniu spowodują zatrzymanie generowania tekstu.
Opisy innych parametrów znajdziesz w dokumentacji API.
