Hii ni sehemu ya nne ya mfululizo unaoendelea. Angalia sehemu 1, 2, na 3.
yaHii ni sehemu ya nne ya mfululizo unaoendelea. Angalia sehemu 1, 2, na 3.
AI Principle IV: Use Structured Prompt Outputs
Kanuni ya IV: Matumizi ya Mchakato wa PromptKulikuwa na wakati, muda mrefu, muda mrefu uliopita, wakati API ya LLM ilikuwa hivi karibuni na hakuna mtu alikuwa na uhakika wa jinsi ya kuingiliana vizuri nao. Moja ya matatizo ya juu yalikuwa kuchukua matokeo mengi kutoka kwa majibu moja ya barua pepe. Wakati LLM hawakurudia JSON mara kwa mara (na walishindwa mara nyingi), ulijaribu kuwashawishi LLM kushirikiana kwa kutumia hotuba yako bora ya uhandisi wa barua pepe.
Haya yalikuwa nyakati za kale. Wakati huo, tulisafiri kwa farasi na kuandika maagizo kwa mwanga, kwa sababu umeme bado haujatengenezwa. Maagizo ya maagizo yalimaanisha usiku wa muda mrefu uliotumika kuingiza kwenye vitunguu vya parchment, kwa matumaini kwamba mfano utarejesha orodha badala ya haiku. Na ikiwa haiku, hakuwa na chaguo isipokuwa kupumzika kwa kina, kunyonyesha quill yako katika wino, na kujaribu tena.
Lakini API ya LLM ambayo haiwezi kurejesha jibu la JSON mara kwa mara ilikuwa jambo halisi na ilisababisha matatizo mengi.
Benefits
faida yaKwa nini ni bora kutumia matokeo ya mwongozo wa JSON badala ya muundo mwingine au kuunda muundo wa kibinafsi?
Reduced Error Rate
LLMs za kisasa zinatengenezwa vizuri ili kutoa JSON sahihi wakati inahitajika - ni nadra kwao kushindwa hata na majibu magumu sana. Zaidi ya hayo, majukwaa mengi yana ulinzi wa kiwango cha programu dhidi ya outputs zilizoundwa vibaya. Kwa mfano, API ya OpenAI inatoa kipimo wakati sio JSON inarejeshwa wakati katika hali ngumu ya output iliyoundwa.
Ikiwa unatumia muundo wa kibinafsi kurejesha variables kadhaa za output, huwezi kufaidika na uongofu huu, na kiwango cha makosa kitakuwa cha juu sana.
Decoupled Prompts and Code
Kwa output ya JSON, ni muhimu kuongeza shamba jingine la output, na kufanya hivyo haipaswi kuvunja msimbo wako uliopo. Hili huondoa kuongezea shamba la mwongozo kutoka kwa mabadiliko kwenye mantiki ya usindikaji wa msimbo. Kuondoa inaweza kukusaidia kuokoa muda na jitihada, hasa katika matukio ambapo mwongozo unakuja nje ya Git; angalia
Simplified System
Je, kuna sababu halisi ya kutumia muundo wa output bila msaada wa jukwaa la ndani? Itakuwa rahisi kwako na washiriki wa msimbo wa baadaye kuunda majibu kwa kutumia JSON.
When NOT to Use Structured Output
Wakati wa kutokuwa na matumizi ya matokeo ya muundoSingle Field Output
Ikiwa mwongozo wako unatoa shamba moja katika majibu, hakuna faida za kuondoa JSON.
Majibu ya kubadilisha moja leo inaweza kuwa majibu magumu kesho. Baada ya kutumia masaa ya kubadilisha prompt moja ya output ya shamba katika prompt nyingi za output ya shamba, mimi sasa kutumia JSON kwa default hata wakati tu shamba moja inarejeshwa.
Hata wakati mtazamo wa programu hauhitaji matokeo mengi, kuna faida za uhandisi wa haraka na udhibiti wa kuongeza mashamba ya ziada. Kuongezea shamba ambalo hutoa maelezo ya jibu (au kutaja chanzo katika nyaraka) mara nyingi inaweza kuboresha ufanisi wa haraka (
Kwa hivyo, hata kama mwongozo wako una variable moja ya output, fikiria muundo wa JSON kama chaguo.
Streaming Response
Kwa maombi ambayo latency ni muhimu, kuhamisha LLM vituo vya mwisho ni mara nyingi kutumika. Hizi kuruhusu sehemu ya majibu kuchukuliwa kabla ya majibu yote ni kupokea. Mfano huu haina kazi vizuri na JSON, hivyo unapaswa kutumia muundo rahisi, kufurahia mtiririko badala yake.
Kwa mfano, ikiwa mwongozo wako unaamua hatua iliyochukuliwa na tabia ya mchezo wa video na maneno ambayo tabia hiyo inasema, unaweza kuingiza kama "ACTION ÁthaSPEECH_TO_READ" na kisha kuhamisha majibu na API ya kuhamisha, kama vile:
Mfano wa output:
WAVE_AT_HERO|Hello, Adventurer! Welcome to my shop.
Mara tu hatua inapopatikana, tabia huanza kuvutia, na maandishi huondolewa wakati inapoingia.
Conclusion
Mwisho waUsichukue faida za utamaduni - matumizi ya matokeo ya JSON. Hakuna hasara na itakuwa kufanya maisha yako rahisi sana kama LLMs ni sana optimized kwa kurudi majibu sahihi ya JSON. Fikiria kutumia matokeo ya JSON hata kama data iliyochapishwa sasa ni shamba moja. Kwa vituo vya mwisho vya mtiririko, kutumia mstari wa JSON au muundo rahisi wa kibinafsi.
Ikiwa umefurahia chapisho hili, usajili kwenye mfululizo kwa ajili ya zaidi.