Ingineria prompturilor ChatGPT
În această secțiune, acoperim cele mai recente tehnici de inginerie a prompturilor pentru ChatGPT, inclusiv sfaturi, aplicații, limitări, lucrări și materiale de lectură suplimentare.
Reține că această secțiune este în curs de dezvoltare intensă.
Subiecte:
Introducerea ChatGPT
ChatGPT este un model nou antrenat de OpenAI care poate interacționa conversațional. Acest model este antrenat să urmeze instrucțiuni într-un prompt pentru a furniza răspunsuri potrivite în contextul unui dialog. ChatGPT poate ajuta cu răspunsurile la întrebări, sugestii de rețete, scrierea de versuri într-un anumit stil, generarea de cod și multe altele.
ChatGPT este antrenat folosind Învățarea prin Întărire din Feedback-ul Uman (RLHF). Deși acest model este mult mai capabil decât iterațiile anterioare GPT (și de asemenea antrenat să reducă ieșirile dăunătoare și neadevărate), încă vine cu limitări. Să acoperim câteva dintre capacitățile și limitările cu exemple concrete.
Poți folosi previzualizarea de cercetare ChatGPT aici, dar pentru exemplele de mai jos vom folosi modul Chat din OpenAI Playground.
Revizuirea sarcinii de conversație
Într-unul dintre ghidurile anterioare, am acoperit puțin despre capacitățile de conversație și promptarea rolului. Am acoperit cum să instruiești LLM-ul să aibă o conversație într-un stil specific, cu o intenție specifică, comportament și identitate.
Să revizuim exemplul nostru de bază anterior unde am creat un sistem conversațional care este capabil să genereze răspunsuri mai tehnice și științifice la întrebări.
Prompt:
Următoarea este o conversație cu un asistent AI de cercetare. Tonul asistentului este tehnic și științific.
Om: Salut, cine ești?
AI: Salutare! Sunt un asistent AI de cercetare. Cum te pot ajuta astăzi?
Om: Poți să-mi spui despre crearea găurilor negre?
AI:Din exemplul de mai sus, poți vedea două componente importante:
- intenția sau explicația a ceea ce este chatbot-ul
- identitatea care instruiește stilul sau tonul pe care chatbot-ul îl va folosi pentru a răspunde
Exemplul simplu de mai sus funcționează bine cu API-urile de completare text care folosesc text-davinci-003. Mai recent, OpenAI a anunțat API-urile ChatGPT, unde un model mai puternic și mai ieftin numit gpt-3.5-turbo a fost construit specific pentru acest tip de funcționalitate (completări de chat). OpenAI îl recomandă ca cel mai bun model chiar și pentru cazuri de utilizare non-chat. Alte beneficii ale folosirii API-urilor ChatGPT sunt reducerea semnificativă a costurilor (90%) și eficiența.
Marile companii precum Snap Inc. și Instacart integrează deja caracteristici conversaționale alimentate de ChatGPT pe produsele lor care variază de la recomandări personalizate la obiective de cumpărare deschise.
Conversațiile cu ChatGPT
Conversații multi-turn
Pentru a începe să demonstrăm capacitățile ChatGPT, vom folosi exemplul asistentului chatbot de mai sus și vom discuta rezultatele. Comparativ cu text-davinci-003, modelul gpt-3.5-turbo care alimentează ChatGPT folosește un format de chat ca intrare. Modelul se așteaptă la o serie de mesaje ca intrare și le folosește pentru a genera un răspuns.
Intrare:
SYSTEM: Ești un asistent AI de cercetare. Folosești un ton care este tehnic și științific.
USER: Salut, cine ești?
ASSISTANT: Salutare! Sunt un asistent AI de cercetare. Cum te pot ajuta astăzi?
USER: Poți să-mi spui despre crearea găurilor negre?Ieșire:
ASSISTANT: Desigur! Găurile negre sunt create când o stea foarte masivă rămâne fără combustibil și se prăbușește sub propria sa gravitație. Această prăbușire face ca steaua să devină incredibil de densă, cu un câmp gravitațional atât de puternic încât nici măcar lumina nu poate scăpa de el. Acest punct fără întoarcere este cunoscut ca orizontul evenimentelor. Odată ce o stea traversează orizontul evenimentelor, este considerată o gaură neagră...Reține că în exemplul de mai sus am simplificat intrarea și ieșirea, dar API-ul de completare chat ChatGPT necesită ca mesajele să fie într-un format specific. Am adăugat o captură de ecran mai jos despre cum ar arăta acest exemplu folosind modul Chat din OpenAI Playground:

Apelul API mai formal pentru exemplul nostru ar arăta ceva precum exemplul de mai jos:
import openai
openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "Ești un asistent AI de cercetare. Folosești un ton care este tehnic și științific."},
{"role": "user", "content": "Salut, cine ești?"},
{"role": "assistant", "content": "Salutare! Sunt un asistent AI de cercetare. Cum te pot ajuta astăzi?"},
{"role": "user", "content": "Poți să-mi spui despre crearea găurilor negre?"}
]
)Modul în care dezvoltatorii vor interacționa cu ChatGPT în viitor se așteaptă să fie făcut prin Chat Markup Language (ChatML pe scurt).
Sarcini single-turn
Formatul de chat permite conversații multi-turn, dar de asemenea suportă sarcini single-turn similar cu ceea ce am folosit cu text-davinci-003. Aceasta înseamnă că putem folosi ChatGPT pentru a executa sarcini similare cu ceea ce am demonstrat pentru modelele GPT originale. De exemplu, să încercăm să executăm următoarea sarcină de întrebare-răspuns folosind ChatGPT:
Intrare:
USER: Răspunde la întrebare bazându-te pe contextul de mai jos. Păstrează răspunsul scurt și concis. Răspunde "Nesigur despre răspuns" dacă nu ești sigur despre răspuns.
Context: Teplizumab își are rădăcinile într-o companie farmaceutică din New Jersey numită Ortho Pharmaceutical. Acolo, oamenii de știință au generat o versiune timpurie a anticorpului, numit OKT3. Sursat inițial de la șoareci, molecula era capabilă să se lege de suprafața celulelor T și să le limiteze potențialul de ucidere a celulelor. În 1986, a fost aprobat pentru a ajuta la prevenirea respingerii organelor după transplanturile de rinichi, făcându-l primul anticorp terapeutic permis pentru uz uman.
Întrebare: De unde era sursat inițial OKT3?
Răspuns:Ieșire:
ASSISTANT: Șoareci.Reține că adaug etichetele USER și ASSISTANT pentru a demonstra mai bine cum poate fi executată sarcina folosind ChatGPT. Iată exemplul folosind Playground-ul:

Mai formal, acesta este apelul API (am inclus doar componenta de mesaj a cererii):
CONTENT = """Răspunde la întrebare bazându-te pe contextul de mai jos. Păstrează răspunsul scurt și concis. Răspunde "Nesigur despre răspuns" dacă nu ești sigur despre răspuns.
Context: Teplizumab își are rădăcinile într-o companie farmaceutică din New Jersey numită Ortho Pharmaceutical. Acolo, oamenii de știință au generat o versiune timpurie a anticorpului, numit OKT3. Sursat inițial de la șoareci, molecula era capabilă să se lege de suprafața celulelor T și să le limiteze potențialul de ucidere a celulelor. În 1986, a fost aprobat pentru a ajuta la prevenirea respingerii organelor după transplanturile de rinichi, făcându-l primul anticorp terapeutic permis pentru uz uman.
Întrebare: De unde era sursat inițial OKT3?
Răspuns:
"""
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": CONTENT},
],
temperature=0,
)Instruirea modelelor de chat
Conform documentației oficiale OpenAI, snapshot-urile modelului gpt-3.5-turbo vor fi de asemenea disponibile. De exemplu, putem accesa snapshot-ul din 1 martie gpt-3.5-turbo-0301. Aceasta permite dezvoltatorilor să opteze pentru versiuni specifice ale modelului. Aceasta înseamnă și că cele mai bune practici pentru instruirea modelelor se pot schimba de la o versiune la alta.
Recomandarea actuală pentru gpt-3.5-turbo-0301 este să adaugi instrucțiuni în mesajul user în loc de mesajul system disponibil.
Notebook-uri Python
| Descriere | Notebook |
|---|---|
Învață mai multe despre cum să faci apeluri către API-urile ChatGPT folosind biblioteca openai. | Introducerea API ChatGPT |
Învață cum să folosești caracteristicile ChatGPT folosind biblioteca LangChain. | API ChatGPT cu LangChain |
Referințe
- Văzând ChatGPT prin ochii studenților: O analiză a datelor TikTok (Martie 2023)
- Extragerea datelor precise despre materiale din lucrările de cercetare cu modele de limbaj conversaționale și ingineria prompturilor -- Exemplul ChatGPT (Mar 2023)
- ChatGPT este la orizont: Ar putea un model de limbaj mare să fie tot ce avem nevoie pentru Transportul Inteligent? (Mar 2023)
- Făcând un avocat computațional (Mar 2023)
- Generarea de date sintetice a LLM-urilor ajută la mineritul textului clinic? (Mar 2023)
- MenuCraft: Proiectarea interactivă a sistemului de meniuri cu modele de limbaj mari (Mar 2023)
- Un sondaj comprehensiv al conținutului generat de AI (AIGC): O istorie a AI-ului generativ de la GAN la ChatGPT (Mar 2023)
- Explorarea fezabilității ChatGPT pentru extragerea evenimentelor
- ChatGPT: Începutul unui sfârșit al anotării manuale? Cazul de utilizare al identificării automate a genului (Mar 2023)
- Este ChatGPT un evaluator NLG bun? Un studiu preliminar (Mar 2023)
- Va apărea computația afectivă din modelele de fundație și AI-ul general? O primă evaluare pe ChatGPT (Mar 2023)
- UZH_CLyp la SemEval-2023 Task 9: Fine-tuning head-first și generarea de date ChatGPT pentru învățarea cross-linguală în predicția intimității tweet-urilor (Mar 2023)
- Cum să formatezi intrările către modelele ChatGPT (Mar 2023)
- Poate ChatGPT să evalueze personalitățile umane? Un cadru de evaluare general (Mar 2023)
- Rezumarea cross-linguală prin ChatGPT (Feb 2023)
- ChatAug: Valorificarea ChatGPT pentru augmentarea datelor text (Feb 2023)
- Dr ChatGPT, spune-mi ce vreau să aud: Cum impactează cunoștințele prompturilor corectitudinea răspunsurilor de sănătate (Feb 2023)
- O evaluare independentă a ChatGPT pe probleme matematice cu cuvinte (MWP) (Feb 2023)
- ChatGPT: O meta-analiză după 2,5 luni (Feb 2023)
- Să avem un chat! O conversație cu ChatGPT: Tehnologie, aplicații și limitări (Feb 2023)
- Verifică-ți faptele și încearcă din nou: Îmbunătățirea modelelor de limbaj mari cu cunoștințe externe și feedback automatizat (Feb 2023)
- Despre robustețea ChatGPT: O perspectivă adversară și out-of-distribution (Feb 2023)
- Cum modelele generatoare de AI precum ChatGPT pot fi (greșit) folosite în practica, educația și cercetarea SPC? Un studiu explorator (Feb 2023)
- Poate ChatGPT să înțeleagă și? Un studiu comparativ pe ChatGPT și BERT fine-tuned (Feb 2023)
- Un catalog de pattern-uri de prompturi pentru a îmbunătăți ingineria prompturilor cu ChatGPT (Feb 2023)
- Extragerea de informații zero-shot prin chat cu ChatGPT (Feb 2023)
- ChatGPT: Jack of all trades, master of none (Feb 2023)
- O evaluare pilot a ChatGPT și DALL-E 2 pe luarea deciziilor și raționamentul spațial (Feb 2023)
- Opiniile netizenilor, academicienilor și profesioniștilor de informații despre AI cu referință specială la ChatGPT (Feb 2023)
- Analiza ambiguității lingvistice în ChatGPT (Feb 2023)
- ChatGPT versus întrebări-răspunsuri tradiționale pentru grafuri de cunoștințe: Statutul actual și direcțiile viitoare către chatbot-uri cu grafuri de cunoștințe (Feb 2023)
- Ce înseamnă ChatGPT și AI-ul generativ pentru știință (Feb 2023)
- Aplicarea BERT și ChatGPT pentru analiza sentimentelor bolii Lyme în literatura științifică (Feb 2023)
- Explorarea eticii AI a ChatGPT: O analiză diagnostică (Ian 2023)
- ChatGPT pentru bine? Despre oportunități și provocări ale modelelor de limbaj mari pentru educație (Ian 2023)
- Ideologia politică a AI-ului conversațional: Dovezi convergente despre orientarea pro-mediu, stânga-libertariană a ChatGPT (Ian 2023)
- Tehnici pentru a îmbunătăți fiabilitatea - OpenAI Cookbook
- Awesome ChatGPT Prompts
- Introducerea ChatGPT (Nov 2022)
