Hagnaður:
- Getur lýst grunnbyggingu LLM API beiðni (endapunktur, líkan, skilaboð, max_tokens)
- Skilur muninn á hlutverkum kerfis, notenda og aðstoðarmanns og ríkislausum samtalasögu
- Getur lesið og túlkað reiti (efnisblokkir, stop_reason, usage) svarsins sem er skilað
Í fyrri einingum notuðum við gervigreind úr spjallglugga. En ef þú vilt fella gervigreind inn í þína eigin vöru, sjálfvirkni eða vinnuflæði, mun spjallviðmót ekki skera það; Þú þarft að tengjast líkaninu forritunarlega, það er með kóða eða sjálfvirkniverkfæri. Nafn þessarar brúar er API (Application Programming Interface, samningurinn sem gerir tveimur hugbúnaði kleift að tala við ákveðnar reglur). Þegar þú klárar þessa einingu muntu vita hvað telst til LLM (Large Language Model) API beiðni, hvað skilaboðahlutverk gera og hvernig á að lesa svarið. Þetta er grunnurinn sem restin af einingunni verður byggð á.
Hvernig virkar API?
Grunnflæðið í API er þetta: þú sendir beiðni á ákveðnu sniði; Miðlarinn skilar svari á ákveðnu sniði. Í LLM er þetta venjulega HTTP símtal (HTTP: staðlað samskiptareglur til að flytja beiðni-svar á vefnum) á eitt netfang (endapunktur, fasta vistfangið á þjóninum sem sér um beiðni þína). Til dæmis, í skilaboðaskilaboðaskilum fara allar beiðnir á eitt netfang og eru fluttar í meginmálinu sem JSON (JavaScript Object Notation - textasnið sem samanstendur af lykla/gildi pörum sem hægt er að lesa af bæði mönnum og vélum).
Í beiðni tilgreinir þú að minnsta kosti þessa þrjá hluti:
- Gerð: Hvaða gerð þú munt nota (t.d. hröð og ódýr gerð eða öflug gerð).
- max_tokens: Hámarksfjöldi tákna (minnsta einingin sem textinn er unnin í, sem verður unninn ítarlega í næstu einingu) sem líkanið getur framleitt; e.a.s. framleiðslumörk.
- skilaboð: Listi yfir skilaboð sem mynda samtalið.
Skref fyrir skref: Hvernig á að setja upp beiðni
- Undirbúðu endapunkt og skilríki. Þú bætir API lyklinum þínum (leynistrengnum sem sannar auðkenni þitt) við beiðnina í haus. Þú fellir aldrei lykilinn inn í kóðann; Við munum ná yfir örugga geymslu í einingu 9.
- Veldu líkanið og framleiðslumörk. Létt gerð + lítil max_tokens fyrir einfalt verkefni; Öflugt líkan + stærri mörk fyrir flókið verkefni.
- Settu upp skilaboðalistann. List the system instruction, user message, and past rounds (if any).
- Sendu beiðnina og greindu svarið. Lestu textainnihaldið, hættu ástæðu og táknnotkun frá JSON sem skilað er.
Skilaboðahlutverk: kerfi, notandi, aðstoðarmaður
Samtal samanstendur af skilaboðum raðað í röð og hvert skeyti hefur hlutverk. Hlutverkið ákvarðar hvernig líkanið meðhöndlar þann texta.
Hlutverk
Hver skrifar
Tilgangur
kerfi
Hönnuður/rekstraraðili
Varanleg leiðbeiningar, persónuleiki og reglur sem gilda í öllu samtalinu
notandi
endanlegur notandi
Núverandi spurning eða inntak notandans
aðstoðarmaður
fyrirmynd
Svar framleitt af líkaninu (og fyrri svör)
Kerfishlutverkið er fáanlegt sem sérstakt kerfisreitur í beiðninni hjá flestum veitendum; notandi og aðstoðarmaður eru skráð í röð í skilaboðalistanum. Critical point: the system instruction is the high-level instruction, the user message is the request to be answered at that moment.
{ "model": "claude-opus-4-8", "max_tokens": 1024, "system": "Þú ert aðstoðarmaður fyrirtækja. Gefðu stutt, formlegt og staðfest svar. Ekki búa til upplýsingar sem þú ert ekki viss um.", "messages": [ { "role": "notandi", "content": "Hvernig byrja ég skilaferlið mitt?" } ]}
Mál er ríkisfangslaust
Hér er algengasti misskilningurinn: LLM API símtöl eru ríkisfangslaus - þjónninn heldur engu minni á milli tveggja beiðna. Líkanið man ekki fyrri beiðni þína. Ef þú ert að setja upp fjölhringsspjall þarftu að senda fyrri umferðir aftur með hverri nýrri beiðni. „Minni“ líkansins samanstendur af lista yfir skilaboð sem þú hefur sent.
{ "model": "claude-opus-4-8", "max_tokens": 512, "messages": [ { "role": "notandi", "content": "Halló, ég heiti Deniz." }, { "role": "assistant", "content": "Halló Deniz, hvernig get ég hjálpað þér?" }, { "role": "user", "content": "Ég sagði bara nafnið mitt, manstu það?" } ]}
Að svara þriðja skeytinu rétt veltur á því að þú sendir bæði fyrri skilaboðin. Ef þú sendir það ekki mun líkanið ekki vita „Sjó“ og mun svara vitlaust. Þetta hefur einnig bein áhrif á kostnaðinn: því lengur sem samtalið er, því stærri er listinn, hver beiðni eyðir fleiri táknum.
Ábending: Í löngum samtölum, draga saman og færa gamlar umferðir (yfirlit + síðustu lotur) í stað þess að senda alla söguna dregur úr kostnaði og varðveitir samhengisgluggann. Við munum dýpka þetta í einingum 6 og 11.
Lestu svarið
Þegar líkanið skilar svari færðu skipulagðan hlut, ekki texta. Dæmigert svæði:
{ "id": "msg_01ABC...", "model": "claude-opus-4-8", "role": "assistant", "content": [ { "type": "text", "text": "Til að hefja skil, farðu á síðuna 'Mínar pantanir' á reikningnum þínum..." } ], "stop_reason" {": "end_reason:n": "end_tokens" 47, "output_tokens": 88 }}
- innihald: Viðbrögðin sjálf; Það er listi yfir innihaldsblokkir. Textareiturinn í textareitnum er raunverulegt svar.
- stop_reason: Af hverju líkanið hætti. end_turn = náttúrulegur endir; max_tokens = fastur við úttaksmörk (svar gæti verið ófullkomið); neitun = neitað af öryggisástæðum. Kóðinn þinn ætti alltaf að skoða stop_reason fyrst.
- notkun: Innsláttur og úttaksmerkisnúmer. Það er grundvöllur kostnaðar og takmörkunar.
Athugið: Ef stop_reason er max_tokens er svarinu ekki lokið. Að meðhöndla þetta sem „velheppnað svar“ og sýna notandanum hálfan texta er ein af algengustu mistökunum í framleiðslu. Annað hvort hækka max_tokens eða nota streymi.
Veik kvaðning / Sterk kvaðning
Sama verkefni með tveimur mismunandi kerfisfyrirmælum:
# VEIK Þú ert aðstoðarmaður. Svaraðu spurningunum.
# STERK Þú ert aðstoðarmaður fyrirtækja. Reglur:- Treystu eingöngu á upplýsingarnar í stefnuskjalinu sem veitt er; Ef það er ekki í skjalinu, segðu "Ég hef ekki þessar upplýsingar, ég beini þeim til viðkomandi deildar." - Svör ættu ekki að vera lengri en 3 setningar, vera formleg og skýr. - Ekki biðja um persónuleg gögn (TC kennitölu, kortanúmer) og ekki endurtaka. - Ekki giska þegar þú ert ekki viss.
Öflug útgáfa; Það skilgreinir umfang, form, öryggisbil og hegðun í óvissu. Samkvæmni líkansins kemur beint frá þessum skýrleika.
Þrjú Mini Cass
Tilfelli 1 — Stuðningsboti (ríkisleysisgildra). Rafræn viðskiptateymi tók botninn í beinni; Þegar notandinn sagði „hætta við fyrri pöntun“ „gleymdi“ lánmaðurinn pöntunarnúmerinu. Ástæða: þeir voru að senda hverja beiðni með aðeins síðustu skilaboðunum. Lausn: þeir bættu síðustu 6 umferðunum við skilaboðalistann. Niðurstaða: samhengi varðveitt, en inntak fyrir hverja beiðni jókst úr 40 táknum í ~600 tákn — við munum ná yfir kostnaðarlexíuna í einingu 2.
Mál 2 — Ófullnægjandi samantekt samnings. Lögfræðiteymi var með 10 blaðsíðna samninga sem lýst er; max_tokens: 300 héldust lágt, samantektir voru að skera niður miðja setningu. stop_reason var max_tokens í hvert skipti en enginn var að leita. hækkaði max_tokens í 1500 og bætti við stop_reason check; Stytta samantektarhlutfallið lækkaði úr 18% í 0%.
Mál 3 - Blanda hlutverkum. Markaðsteymi var að skrifa allar leiðbeiningarnar inn í notendaskilaboðin og skildu kerfið eftir autt. Þegar inntak notenda blandað saman við leiðbeiningar, myndi líkanið stundum fara eftir skipun notandans um að "gleyma fyrri reglum." Þeir færðu varanlegar reglur í kerfið; Með því að aðgreina inntak notenda frá leiðbeiningum fækkaði reglumbrotum verulega.
Algeng mistök
- Gleymdi að senda fortíðina: Líkanið er talið "ekki muna"; á meðan það er ríkisfangslaust. Þú berð samhengið.
- Ekki horft á `stop_reason`: Svarið sem var hætt með max_tokens er talið fullbúið.
- Að fella leiðbeiningarnar inn í 'notandi': Viðvarandi reglur í kerfið; tafarlaust inntak fer til notandans. Blöndun skapar öryggisveikleika.
- Að misskilja „innihald“ fyrir látlausan streng: Svarið er listi yfir blokkir; lestu textareitinn í fyrsta textareitnum, staðfestu gerð hans áður en þú færð efni[0] með blindri vísitölu.
- Að fella lykilinn inn í kóðann: Notaðu umhverfisbreytu (eining 9).
Dýpra: Innihaldsblokkir og fjölþætt svör
Að skilja hvers vegna innihaldsreiturinn í svarinu er listi er grundvallaratriði fyrir háþróaða eiginleika sem þú munt lenda í síðar. Stundum skilar líkanið ekki einum textabálki, heldur nokkrum blokkum: hugsunarhluta, fylgt eftir með textablokk; eða textablokk sem fylgt er eftir með verkfæranotkunarblokk. Þess vegna er brothætt að telja efni[0] í blindni sem „svar“. Rétta aðferðin er að fara í gegnum listann og raða honum eftir tegund: þú safnar textainnihaldi blokka þar sem tegundarreiturinn er texti og meðhöndlar aðrar tegundir (hugsun, verkfæri) sérstaklega.
Það sem þessi greinarmunur gerir í reynd er að þú getur skráð rök fyrir líkaninu (ef einhver er) án þess að birta það fyrir notandanum, beina símtölum í aðskilda rökfræði og aðeins prenta raunverulegt svar á skjáinn. Þegar líður á eininguna (sérstaklega í einingum 4 og 11) muntu sjá hversu gagnleg þessi blokkarbygging er til að staðfesta og stýra úttakinu.
Annar hagnýtur punktur: þú getur fengið aðgang að sömu gerðinni frá mismunandi þjónustuveitum (beint API, í gegnum skýjaveitu). Þrátt fyrir að vistfang endapunkts og auðkenningarsnið geti breyst eru grunnhugtök eins og skilaboðahlutverk, ríkisfangsleysi og uppbygging svars óbreytt. Svo grunnatriðin í þessari einingu eiga við, sama hvaða vettvang þú notar.
Í stuttu máli
LLM API beiðni samanstendur af líkaninu, framleiðslumörkum og skilaboðalista; hlutverk (kerfi, notandi, aðstoðarmaður) ákvarða hegðun líkansins. Símtöl eru ríkisfangslaus: þú berð samhengið við hverja beiðni. Svarið er skipulagður hlutur; Lestur og túlkun á innihaldi, stop_reason og notkunarsviðum er undirstaða endingar í framleiðslu.
Umsóknarverkefni
Veldu verkefni úr þinni eigin starfsgrein (t.d. flokka innkominn tölvupóst, búa til stuttar samantektir). Á blað: (1) skrifaðu kerfistilkynninguna með 4-5 reglum, (2) settu upp sýnishorn notendaskilaboða og 2 umferða sögu ef einhver er, (3) ákvarðaðu hæfilegt gildi fyrir max_tokens og skrifaðu rökstuðninginn, (4) skráðu hvaða stop_reason gildi þú munt meðhöndla í svarinu sem skilað er og hvernig.
gátlisti
- [ ] Ég get talið þrjá lögboðna hluta beiðni (líkan, max_tokens, skilaboð).
- [ ] Ég get útskýrt muninn á hlutverkum kerfis, notenda og aðstoðarmanns.
- [ ] Ég veit að símtöl eru ríkisfangslaus og að ég þarf að bera fortíðina.
- Ég get lesið og skrifað athugasemdir við [ ] efni, stop_reason og notkunarsvið.
- [ ] Með max_tokens get ég tekið eftir og séð um stytta svarið.