1,618 קריאות
1,618 קריאות

לקבלת התוצאות הטובות ביותר עם LLMs, להשתמש JSON Prompt Outputs

על ידי Andrew Prosikhin4m2025/04/22
Read on Terminal Reader

יותר מדי זמן; לקרוא

הפלטים המאורגנים (כמו מצב JSON) פתרו את אחד כאבי הראש הקדומים ביותר של LLM: תשובות לא עקביות.
featured image - לקבלת התוצאות הטובות ביותר עם LLMs, להשתמש JSON Prompt Outputs
Andrew Prosikhin HackerNoon profile picture
0-item

זהו החלק הרביעי בסדרה המתמשכת, ראה חלקים 1, 2 ו- 3.

זהו החלק הרביעי בסדרה המתמשכת, ראה חלקים 1, 2 ו- 3.

112233

AI Principle IV: Use Structured Prompt Outputs

עקרון IV: שימוש במוצרי prompt מבוססים

היה זמן, מזמן, מזמן, כאשר APIs LLM רק יצאו החוצה ואף אחד עדיין לא ידע בוודאות איך לתקשר איתם כראוי. אחת הבעיות העיקריות הייתה לחלץ פלטים מרובים מתגובה דחופה אחת.


אלה היו זמנים עתיקים. אז, נסענו על סוסים וכתבנו פקודות באור נרות, כמו חשמל עוד לא הומצא. פקודות דובדבן פירושו לילות ארוכים לבלוע על גלגלי פרכמנט, בתקווה שהמודל יחזיר רשימה במקום haiku. ואם זה נכשל, לא היה לך ברירה אלא לנשוך עמוק, להטביע את קוויל שלך בצבע, ולנסות שוב.


אבל API של LLM שלא יכלו להחזיר תשובת JSON באופן עקבי היו דבר אמיתי וגרמו למספר רב של בעיות.תוצאות מבוססותבנובמבר 2023 - אתה יכול עכשיו להשתמש ב- OpenAI API כדי לתת לך JSON מעוצב. בשנת 2024, OpenAI הוסיף גם תמיכה לתוצרי מבנה קפדניים, אשר מבטיח לחלוטין חזרה JSON.אנתרופיוגוגלהזמן של היציאות המיידית הלא מובנית עבר, ואנחנו לעולם לא חוזרים.

תוצאות מבוססותאנתרופיגוגל

Benefits

היתרונות

מדוע עדיף להשתמש בביקורות מבוססות JSON לעומת פורמטים אחרים או להמציא תבנית מותאמת אישית?

Reduced Error Rate

LLMs מודרניים מותאמים היטב כדי לייצא JSON תקף כאשר נדרש - זה נדיר עבורם להיכשל גם עם תשובות מורכבות מאוד.בנוסף, פלטפורמות רבות יש הגנה ברמה תוכנה מפני תוצרי פורמט לא נכונים.לדוגמה, OpenAI API זורק יוצא מן הכלל כאשר non-JSON חוזר כאשר במצב קפדני תוצאת מובנה.


אם אתה משתמש בפורמט מותאם אישית כדי להחזיר משתנים פלטים מרובים, לא תרוויח מהתאמה מעולה זו, ואת שיעור השגיאות יהיה גבוה הרבה יותר.

Decoupled Prompts and Code

עם יציאה JSON, זה טריוויאלי להוסיף שדה יציאה נוסף, ולעשות זאת לא צריך לשבור את הקוד הקיים שלך.עקרון 2: לטעון LLM בבטחה (אם אתה באמת צריך)

עקרון 2: לטעון LLM בבטחה (אם אתה באמת צריך)

Simplified System

האם יש סיבה מעשית להשתמש בפורמט יציאה ללא תמיכה בפלטפורמה מובנית?זה יהיה קל יותר עבור שניכם ואת התורמים הקודים הבאים לפורמט תשובות באמצעות JSON.

When NOT to Use Structured Output

מתי לא להשתמש מוצר מובנה

Single Field Output

אם המפגש שלך מוציא שדה יחיד בתגובה, אין יתרונות כדי להוציא JSON.


תשובות משתנות יחידות היום עשויות להפוך לתשובות מורכבות מחר.אחרי שביליתי שעות להמיר תצוגת פלט שדה אחת לתצוגת תצוגת שדה רבות, אני משתמש כעת ב- JSON כברירת מחדל גם כאשר חוזר רק שדה יחיד.


גם כאשר הלוגיקה של התוכנית אינה דורשת תוצאות מרובות, יש יתרונות של הנדסה מיידית ודיבוג להוסיף שדות נוספים.הוספת שדה המספק הסבר לתגובה (או ציטוט מקור בתיעוד) יכול לעתים קרובות לשפר באופן משמעותי את הביצועים המיידיים (1ניתן גם להירשם כסימן להחלטות של המודל.התשובה היא JSON מההתחלה, מה שהופך את הוספת שדה כזה הרבה יותר קלה.

1


כך שאפילו אם יש לך פקודה עם משתנה יציאה יחיד, לשקול את תבנית JSON כאפשרות.

Streaming Response

עבור יישומים שבהם העיכוב הוא קריטי, נקודות קצה סטרימינג LLM משמשים לעתים קרובות. אלה מאפשרים לחלקים של התגובה לפעול לפני שהתגובה כולה מתקבלת.


לדוגמה, אם ההצעה שלך מחליטה על הפעולה שנעשתה על ידי דמות במשחק וידאו ואת המילים שהדמות אומרת, אתה יכול לקודד אותו כ- "ACTION ÁthaSPEECH_TO_READ" ולאחר מכן להעביר את התשובה באמצעות API זרימה, כגון:OpenAI Streaming APIזה ייתן לך זקפה טובה יותר.

OpenAI Streaming API


דוגמה למוצא:

→WAVE_AT_HERO TIMEHello, Adventurer! ברוכים הבאים לחנות שלי.
WAVE_AT_HERO TIMEHello, Adventurer! ברוכים הבאים לחנות שלי.→→WAVE_AT_HERO TIMEHello, Adventurer! ברוכים הבאים לחנות שלי.→WAVE_AT_HERO TIMEHello, Adventurer! ברוכים הבאים לחנות שלי.

WAVE_AT_HERO|Hello, Adventurer! Welcome to my shop.

ברגע שהפעולה מתקבלת, הדמות מתחילה לזעזוע, והטקסט יוצא כפי שהוא זורם.

קווים JSONופורמטים אחרים ידידותיים זרם ניתן להשתמש גם ביעילות.

קווים JSON

Conclusion

מסקנה

אל תשכחו את היתרונות של הציוויליזציה - השתמשו בהוצאת דחיפה מבוססת JSON. בקושי יש חסרונות וזה יעשה את החיים שלך הרבה יותר קל כמו LLMs אופטימיזציה רבה כדי להחזיר תשובות JSON תואמות. לשקול באמצעות יציאת JSON גם אם הנתונים המשויכים הם כרגע שדה יחיד. עבור נקודות קצה זרימה, השתמשו קווים JSON או פורמט מותאם אישית פשוט.


אם נהנית מהפוסט הזה, להירשם לסדרה לקבלת עוד.

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks