Daromadlar:
- LLM API so'rovining asosiy tuzilishini tavsiflashi mumkin (oxirgi nuqta, model, xabarlar, max_tokens)
- Tizim, foydalanuvchi va yordamchi rollari va fuqaroligi bo'lmagan suhbatlar tarixi o'rtasidagi farqni tushunadi
- Qaytarilgan javobning maydonlarini (kontent bloklari, stop_reason, foydalanish) o'qiy oladi va sharhlay oladi
Oldingi modullarda biz chat oynasidan sun'iy intellektdan foydalanganmiz. Ammo agar siz AIni o'z mahsulotingizga, avtomatlashtirishga yoki ish jarayoniga kiritmoqchi bo'lsangiz, chat interfeysi uni kesmaydi; Modelga dasturiy ravishda, ya'ni kod yoki avtomatlashtirish vositasi bilan ulanishingiz kerak. Ushbu ko'prikning nomi API (Application Programming Interface, ikkita dasturiy ta'minotning ma'lum qoidalar bilan gaplashishiga imkon beruvchi shartnoma). Ushbu blokni tugatganingizdan so'ng, siz LLM (katta til modeli) API so'rovi nima ekanligini, qanday xabar rollarini bajarishini va javobni qanday o'qishni bilib olasiz. Bu modulning qolgan qismi quriladigan poydevordir.
API qanday ishlaydi?
APIdagi asosiy oqim quyidagicha: siz ma'lum formatda so'rov yuborasiz; Server ma'lum bir formatda javob qaytaradi. LLMlarda bu odatda bitta manzilga (so'nggi nuqta, so'rovingizni bajaradigan serverdagi sobit manzil) HTTP qo'ng'irog'i (HTTP: Internetda so'rovga javob berish uchun standart protokol). Masalan, xabar almashish API’sida barcha so‘rovlar bitta manzilga o‘tadi va JSON (JavaScript Object Notation — odamlar va mashinalar tomonidan o‘qilishi mumkin bo‘lgan kalit/qiymat juftlaridan iborat matn formati) sifatida tanada olib boriladi.
So'rovda siz kamida uchta narsani ko'rsatasiz:
- Model: Qaysi modeldan foydalanasiz (masalan, tez va arzon model yoki kuchli model).
- max_tokens: model ishlab chiqarishi mumkin bo'lgan tokenlarning maksimal soni (matn qayta ishlanadigan eng kichik birlik, keyingi birlikda batafsil qayta ishlanadi); ya'ni chiqish chegarasi.
- xabarlar: Suhbatni tashkil etuvchi xabarlar ro'yxati.
Bosqichma-bosqich: so'rovni qanday sozlash kerak
- Yakuniy nuqta va hisobga olish ma'lumotlarini tayyorlang. Sarlavhadagi so'rovga API kalitingizni (shaxsingizni tasdiqlovchi maxfiy qator) qo'shasiz. Siz hech qachon kalitni kodga joylashtirmaysiz; Biz 9-bo'limda xavfsiz saqlashni qoplaymiz.
- Model va chiqish chegarasini tanlang. Yengil model + oddiy vazifa uchun kichik max_tokens; Kuchli model + murakkab vazifa uchun katta chegara.
- Xabarlar ro'yxatini sozlang. List the system instruction, user message, and past rounds (if any).
- So'rovni yuboring va javobni tahlil qiling. Qaytarilgan JSON-dan matn mazmunini, to'xtatish sababini va tokendan foydalanishni o'qing.
Xabar rollari: tizim, foydalanuvchi, yordamchi
Suhbat ketma-ket joylashtirilgan xabarlardan iborat bo'lib, har bir xabar o'z roliga ega. Rol model ushbu matnga qanday munosabatda bo'lishini belgilaydi.
Rol
Kim yozadi
Maqsad
tizimi
Dasturchi/operator
Butun suhbat davomida qo'llaniladigan doimiy ko'rsatmalar, shaxsiyat va qoidalar
foydalanuvchi
oxirgi foydalanuvchi
Foydalanuvchining joriy savoli yoki kiritishi
yordamchi
model
Model tomonidan ishlab chiqarilgan javob (va oldingi javoblar)
Tizim roli ko'pchilik provayderlarda so'rovlar qismida alohida tizim maydoni sifatida mavjud; foydalanuvchi va yordamchi xabarlar ro'yxatida ketma-ket keltirilgan. 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, "tizim": "Siz korporativ qo'llab-quvvatlash yordamchisisiz. Qisqa, rasmiy va tasdiqlangan javob bering. Ishonchingiz komil bo'lmagan ma'lumotlarni o'ylab topmang.", "xabarlar": [ { "rol": "foydalanuvchi", "kontent": "Qaytish jarayonini boshlaymanmi?" } ]}
Nutq davlatsiz
Bu erda eng keng tarqalgan noto'g'ri tushuncha: LLM API qo'ng'iroqlari fuqaroligi yo'q - server ikkita so'rov o'rtasida xotirani saqlamaydi. Model sizning oldingi so'rovingizni eslay olmaydi. Agar siz ko'p davrali suhbatni o'rnatayotgan bo'lsangiz, har bir yangi so'rov bilan o'tgan davralarni qayta yuborishingiz kerak bo'ladi. Modelning "xotirasi" siz yuborgan xabarlar ro'yxatidan iborat.
{ "model": "claude-opus-4-8", "max_tokens": 512, "xabarlar": [ { "rol": "foydalanuvchi", "kontent": "Salom, mening ismim Deniz." }, { "rol": "yordamchi", "kontent": "Salom Deniz, sizga qanday yordam bera olaman?" }, { "rol": "foydalanuvchi", "content": "Men hozirgina ismimni aytdim, esingizdami?" } ]}
Uchinchi xabarga to'g'ri javob berish oldingi ikkala xabarni ham jo'natishingizga bog'liq. Agar siz uni jo'natmasangiz, model "Dengiz" ni bilmaydi va noto'g'ri javob beradi. Bu ham to'g'ridan-to'g'ri narxga ta'sir qiladi: suhbat qanchalik uzoq bo'lsa, ro'yxat shunchalik katta bo'ladi, har bir so'rov ko'proq tokenlarni iste'mol qiladi.
Maslahat: Uzoq suhbatlarda butun tarixni jo‘natish o‘rniga eski davrlarni sarhisob qilish va ko‘chirish (xulosa + oxirgi bir necha tur) xarajatlarni kamaytiradi va kontekst oynasini saqlaydi. Biz buni 6 va 11 bo'limlarda chuqurlashtiramiz.
Javobni o'qing
Model javobni qaytarganda, siz oddiy matnni emas, balki tuzilgan ob'ektni olasiz. Oddiy hududlar:
{ "id": "msg_01ABC...", "model": "claude-opus-4-8", "rol": "yordamchi", "tarkib": [ { "turi": "matn", "matn": "Qaytishni boshlash uchun hisobingizdagi "Mening buyurtmalarim" sahifasiga o'ting..." } ], "stop_:us:" { "input_tokens": 47, "output_tokens": 88 }}
- mazmuni: javobning o'zi; Bu kontent bloklari ro'yxati. Matn blokining matn maydoni haqiqiy javobdir.
- stop_reason: Nima uchun model to'xtadi. end_turn = tabiiy oxiri; max_tokens = chiqish chegarasida tiqilib qolgan (javob to'liq bo'lmasligi mumkin); rad etish = xavfsizlik sababli rad etilgan. Sizning kodingiz har doim birinchi navbatda stop_reason ga qarashi kerak.
- foydalanish: Kirish va chiqish token raqamlari. Bu xarajatlar va limitlarni kuzatishning asosidir.
Diqqat: Agar stop_reason max_tokens bo'lsa, javob tugallanmagan. Bunga “muvaffaqiyatli javob” sifatida qarash va foydalanuvchiga matnning yarmini ko‘rsatish ishlab chiqarishdagi eng keng tarqalgan xatolardan biridir. Yoki max_tokensni oshiring yoki oqimdan foydalaning.
Zaif taklif / Kuchli taklif
Ikki xil tizim takliflari bilan bir xil vazifa:
# ZAFSIZ Siz yordamchisiz. Savollarga javob bering.
# STRONGSiz korporativ yordam yordamchisisiz. Qoidalar: - Faqat taqdim etilgan siyosat hujjatidagi ma'lumotlarga tayanish; Agar u hujjatda bo'lmasa, "Menda bu ma'lumot yo'q, men uni tegishli bo'limga yo'naltiraman" deb ayting. - Javoblar 3 ta jumladan oshmasligi, rasmiy va tushunarli bo‘lishi kerak. - Shaxsiy ma'lumotlarni (TC ID raqami, karta raqami) so'ramang va takrorlamang. - Ishonchingiz komil bo'lmaganda taxmin qilmang.
Kuchli versiya; U doira, shakl, xavfsizlik chegarasi va noaniqlikdagi xatti-harakatlarni belgilaydi. Model chiqishining izchilligi to'g'ridan-to'g'ri ushbu aniqlikdan kelib chiqadi.
Uchta mini korpus
1-holat — Botni qo‘llab-quvvatlash (fuqarolik yo‘qligi tuzog‘i). Elektron tijorat jamoasi botni jonli ravishda qabul qildi; Foydalanuvchi “oldingi buyurtmani bekor qilish” deganida, bot buyurtma raqamini “unutib qo‘ygan”. Sababi: ular har bir so'rovni faqat oxirgi xabar bilan yuborishgan. Yechim: ular xabarlar ro'yxatiga oxirgi 6 turni qo'shishdi. Natija: kontekst saqlanib qoldi, lekin har bir soʻrov uchun kiritish 40 tokendan ~ 600 tokenga koʻtarildi — biz 2-boʻlimda xarajatlar darsini koʻrib chiqamiz.
2-holat - to'liq bo'lmagan shartnoma xulosasi. Yuridik jamoa 10 sahifalik shartnomalarga ega edi; max_tokens: 300 pastligicha qoldi, xulosalar jumla oʻrtasini kesib tashladi. stop_reason har safar max_tokens edi, lekin hech kim qidirmadi. max_tokens 1500 ga oshirildi va stop_reason tekshiruvi qo'shildi; Qisqartirilgan umumiy stavka 18% dan 0% gacha kamaydi.
3-holat - Rollarni aralashtirish. Marketing jamoasi foydalanuvchi xabariga barcha ko'rsatmalarni yozib, tizimni bo'sh qoldirdi. Foydalanuvchi ma'lumotlari ko'rsatmalar bilan aralashtirilganda, model ba'zan foydalanuvchining "oldingi qoidalarni unutish" buyrug'iga mos keladi. Ular doimiy qoidalarni tizimga o'tkazdilar; Foydalanuvchi kiritgan maʼlumotlarni koʻrsatmalardan ajratish orqali qoida buzilishi sezilarli darajada kamaydi.
Umumiy xatolar
- O'tmishni yuborishni unutish: modelni "eslab qolmaslik" deb o'ylashadi; holbuki u fuqaroligi yo'q. Siz kontekstni olib yurasiz.
- `stop_reason` ga qaramaslik: max_tokens bilan to'xtatilgan javob tugallangan deb hisoblanadi.
- Yo'riqnomani "foydalanuvchi" ga joylashtirish: Tizimga doimiy qoidalar; tezkor kirish foydalanuvchiga o'tadi. Aralashtirish xavfsizlik zaifliklarini yaratadi.
- Oddiy satr uchun "tarkib" ni xato qilish: Javob bloklar ro'yxati; birinchi matn blokining matn maydonini o'qing, ko'r indeksli tarkibni[0] olishdan oldin uning turini tekshiring.
- Kalitni kodga kiritish: Atrof-muhit o'zgaruvchisidan foydalaning (9-birlik).
Chuqurroq: Kontent bloklari va ko'p qismli javoblar
Javobdagi kontent maydoni nima uchun ro'yxat ekanligini tushunish, keyinroq duch keladigan ilg'or xususiyatlar uchun asosiy hisoblanadi. Ba'zan model bitta matn blokini emas, balki bir nechta bloklarni qaytaradi: fikrlash bloki, undan keyin matn bloki; yoki matn bloki va undan keyin asboblardan foydalanish bloki. Shuning uchun kontentni[0] “javob” sifatida ko‘r-ko‘rona hisoblash mo‘rt. To'g'ri yondashuv - ro'yxatni ko'rib chiqish va uni turi bo'yicha saralash: siz tip maydoni matn bo'lgan bloklarning matn tarkibini yig'asiz va boshqa turlarni (fikrlash, vosita) alohida ko'rib chiqasiz.
Amalda bu farq shundan iboratki, siz modelning mulohazalarini (agar mavjud bo'lsa) foydalanuvchiga ko'rsatmasdan jurnalga yozib olishingiz, asbob qo'ng'iroqlarini alohida mantiqqa yo'naltirishingiz va faqat haqiqiy javobni ekranda chop etishingiz mumkin. Modul rivojlanib borgan sari (ayniqsa 4 va 11 bloklarda) ushbu blok strukturasi chiqishni tekshirish va yo'naltirish uchun qanchalik foydali ekanligini ko'rasiz.
Yana bir amaliy nuqta: siz turli xil provayder platformalaridan bir xil modelga kirishingiz mumkin (to'g'ridan-to'g'ri API, bulutli provayder orqali). Garchi oxirgi nuqta manzili va autentifikatsiya formati o'zgarishi mumkin bo'lsa-da, xabar rollari, fuqarolik yo'qligi va javob tuzilishi kabi asosiy tushunchalar bir xil bo'lib qoladi. Shunday qilib, ushbu birlikdagi asoslar qaysi platformadan foydalanmasligingizdan qat'iy nazar amal qiladi.
Xulosa
LLM API so'rovi model, chiqish chegarasi va xabarlar ro'yxatidan iborat; rollar (tizim, foydalanuvchi, yordamchi) modelning harakatini belgilaydi. Qo'ng'iroqlar fuqaroligi yo'q: har bir so'rovda kontekstni olib yurasiz. Javob tuzilgan ob'ektdir; Tarkibni, stop_reason va foydalanish maydonlarini o'qish va sharhlash ishlab chiqarishda chidamlilikning asosidir.
Ilova vazifasi
O'zingizning kasbingizdan vazifani tanlang (masalan, kiruvchi elektron pochta xabarlarini saralash, qisqacha xulosalar yaratish). Bir varaq qog'ozga: (1) 4-5 ta qoidadan iborat tizim so'rovini yozing, (2) namunaviy foydalanuvchi xabarini va agar mavjud bo'lsa, 2 bosqichli tarixni o'rnating, (3) max_tokens uchun maqbul qiymatni aniqlang va asoslashni yozing, (4) Qaytarilgan javobda qaysi stop_reason qiymatlarini va qanday ishlov berishni ro'yxatlang.
nazorat ro'yxati
- [ ] Men so'rovning uchta majburiy qismini sanab bera olaman (model, max_tokens, xabarlar).
- [ ] Men tizim, foydalanuvchi va yordamchi rollari orasidagi farqni tushuntira olaman.
- [ ] Men qo'ng'iroqlar fuqaroligi yo'qligini va o'tmishni olib yurishim kerakligini bilaman.
- Men [ ] kontent, stop_reason va foydalanish maydonlarini oʻqib, sharhlay olaman.
- [ ] max_tokens bilan men kesilgan javobni sezishim va boshqarishim mumkin.