זהו החלק הרביעי בסדרה המתמשכת, ראה חלקים 1, 2 ו- 3. זהו החלק הרביעי בסדרה המתמשכת, ראה חלקים 1, 2 ו- 3. 1 1 2 2 3 3 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 כברירת מחדל גם כאשר חוזר רק שדה יחיד. גם כאשר הלוגיקה של התוכנית אינה דורשת תוצאות מרובות, יש יתרונות של הנדסה מיידית ודיבוג להוסיף שדות נוספים.הוספת שדה המספק הסבר לתגובה (או ציטוט מקור בתיעוד) יכול לעתים קרובות לשפר באופן משמעותי את הביצועים המיידיים ( ניתן גם להירשם כסימן להחלטות של המודל.התשובה היא JSON מההתחלה, מה שהופך את הוספת שדה כזה הרבה יותר קלה. 1 1 כך שאפילו אם יש לך פקודה עם משתנה יציאה יחיד, לשקול את תבנית JSON כאפשרות. Streaming Response עבור יישומים שבהם העיכוב הוא קריטי, נקודות קצה סטרימינג LLM משמשים לעתים קרובות. אלה מאפשרים לחלקים של התגובה לפעול לפני שהתגובה כולה מתקבלת. לדוגמה, אם ההצעה שלך מחליטה על הפעולה שנעשתה על ידי דמות במשחק וידאו ואת המילים שהדמות אומרת, אתה יכול לקודד אותו כ- "ACTION ÁthaSPEECH_TO_READ" ולאחר מכן להעביר את התשובה באמצעות API זרימה, כגון: זה ייתן לך זקפה טובה יותר. OpenAI Streaming API OpenAI Streaming API דוגמה למוצא: WAVE_AT_HERO|Hello, Adventurer! Welcome to my shop. ברגע שהפעולה מתקבלת, הדמות מתחילה לזעזוע, והטקסט יוצא כפי שהוא זורם. ופורמטים אחרים ידידותיים זרם ניתן להשתמש גם ביעילות. קווים JSON קווים JSON Conclusion מסקנה אל תשכחו את היתרונות של הציוויליזציה - השתמשו בהוצאת דחיפה מבוססת JSON. בקושי יש חסרונות וזה יעשה את החיים שלך הרבה יותר קל כמו LLMs אופטימיזציה רבה כדי להחזיר תשובות JSON תואמות. לשקול באמצעות יציאת JSON גם אם הנתונים המשויכים הם כרגע שדה יחיד. עבור נקודות קצה זרימה, השתמשו קווים JSON או פורמט מותאם אישית פשוט. אם נהנית מהפוסט הזה, להירשם לסדרה לקבלת עוד.