Desenarea unei persoane folosind literele alfabetului
Context
Următorul prompt testează capacitățile unui LLM de a gestiona concepte vizuale, în ciuda faptului că a fost antrenat doar pe text. Aceasta este o sarcină provocatoare pentru LLM, deci implică mai multe iterații. În exemplul de mai jos, utilizatorul solicită mai întâi vizualul dorit și apoi furnizează feedback împreună cu corecții și adăugiri. Instrucțiunile de urmărire vor depinde de progresul pe care LLM-ul îl face asupra sarcinii.
Notă: Această sarcină solicită generarea de cod TiKZ care va trebui apoi compilat manual de utilizator.
Iterațiile prompt-ului
Iterația 1 a prompt-ului: Cererea inițială
Cererea utilizatorului:
Produce cod TiKZ care desenează o persoană compusă din literele alfabetului. Brațele și trunchiul pot fi litera Y, fața poate fi litera O (adaugă câteva trăsături faciale) și picioarele pot fi picioarele literei H. Simte-te liber să adaugi alte trăsături.
Iterația 2 a prompt-ului: Rafinarea
Feedback-ul utilizatorului:
Trunchiul este puțin prea lung, brațele sunt prea scurte și pare că brațul drept poartă fața în loc ca fața să fie chiar deasupra trunchiului. Poți să corectezi asta, te rog?
Iterația 3 a prompt-ului: Adăugarea detaliilor
Cererea utilizatorului:
Te rog să adaugi o cămașă și pantaloni.
Implementarea
Exemplu de cod
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4",
messages=[
{
"role": "user",
"content": "Produce cod TiKZ care desenează o persoană compusă din literele alfabetului. Brațele și trunchiul pot fi litera Y, fața poate fi litera O (adaugă câteva trăsături faciale) și picioarele pot fi picioarele literei H. Simte-te liber să adaugi alte trăsături."
}
],
temperature=1,
max_tokens=1000,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)Parametrii API
| Parametru | Valoare | Descriere |
|---|---|---|
model | gpt-4 | Modelul de limbaj de folosit |
temperature | 1 | Controlează aleatorietatea în generare |
max_tokens | 1000 | Lungimea maximă a răspunsului |
top_p | 1 | Parametrul de eșantionare nucleu |
frequency_penalty | 0 | Fără penalizare pentru tokenii frecvenți |
presence_penalty | 0 | Fără penalizare pentru tokenii noi |
Puncte cheie de învățare
- Rafinarea iterativă: Procesul implică multiple iterații cu feedback-ul utilizatorului
- Înțelegerea conceptelor vizuale: Testarea capacității LLM-ului de a înțelege relațiile spațiale
- Generarea de cod: Crearea de cod specific (TiKZ) pentru ieșirea vizuală
- Generarea bazată pe constrângeri: Folosirea cerințelor specifice pentru a ghidă ieșirea
Ieșirea așteptată
LLM-ul ar trebui să genereze cod TiKZ care creează o reprezentare vizuală a unei persoane folosind literele alfabetului:
- Trunchiul și brațele: Formate de litera Y
- Fața: Formată de litera O cu trăsături faciale
- Picioarele: Formate de litera H
- Trăsături suplimentare: Cămașă, pantaloni și alte detalii la cerere
Referință
Sursa: Scântei de inteligență artificială generală: Experimente timpurii cu GPT-4 (13 aprilie 2023)
