бирдиги 7 / 11

Пакеттик жана асинхрондук жүктөмдөр

Пайдалар:

  • Партиялык иштетүү кайсы жүктөмгө ылайыктуу экенин аныктайт
  • Синхрондуу, асинхрондуу жана партиялык иштетүүнүн ортосундагы чыгым/кечиктирүү айырмасын түшүнөт
  • Натыйжаларга custom_id дал келген күчтүү пакеттик иш процессин иштеп чыгат

Көпчүлүк LLM интеграциялары колдонуучу экрандын алдында жооп күтүп жаткан "тирүү" сценарийлерге багытталган. Бирок профессионалдык жүктөмдөрдүн көбү чындыгында жандуу эмес: түн ичинде миңдеген документтерди белгилөө, бүтүндөй маалымат топтомун жыйынтыктоо, архивдеги чалуулардын бардык жазууларын классификациялоо. Бул маселелерде эч ким заматта жооп күтпөйт; Эң негизгиси жумушту арзан жана ишенимдүү бүтүрүү. Партия дал ушул жүктөмдөр үчүн. Бул бөлүмдө сиз синхрондуу, асинхрондуу жана пакеттик иштетүүнүн ортосундагы айырманы билесиз, качан партия туура тандоо болгондо жана custom_id менен жыйынтыктарга ишенимдүү дал келген күчтүү агым.

Үч иштөө режими

режими

Кантип иштейт

кечиктирүү

Типтүү наркы

ылайыктуу жумуш

синхрондуу

Сиз суроо берип, жооп күтөсүз

секунд

Стандарт

Жандуу маек, заматта жардамчы

асинхрондуу

Сиз жумушка кезекке турасыз жана ал аяктагандан кийин кабар аласыз.

секундалар – мүнөттөр

Стандарт

Фондук тапшырмалар, автоматташтыруу кадамдары

Партия

Бир пакетте миңдеген суроо-талаптарды жөнөтөт, андан кийин натыйжаларды алат

Мүнөт – саат

Адатта арзандатылган

Жогорку көлөмдүү, кечиктирүүгө чыдамдуу жумуштар

Пакеттик иштетүү бул: сиз жүздөгөн/миңдеген суроо-талаптарды провайдерге бир "жумуш" катары жөнөтөсүз; Провайдер аларды өз темпинде иштеп чыгат жана бүтүргөндөн кийин бардык натыйжаларды жапырт кайтарат. Анын ордуна сиз эки нерсени аласыз: (1) жалпысынан төмөнкү бирдиктин баасы, (2) ылдамдык чектөөлөрү менен күрөшпөстөн, жогорку үндү жылдыруу мүмкүнчүлүгү. Баасы - натыйжалар дароо эмес, бир нече убакыт өткөндөн кийин.

Качан топтош керек, качан жок?

Чечим бир суроого келип чыгат: Колдонуучу азыр жыйынтыкты күтүп жатабы?

  • Жок, мен аны кармай алам → партиялык талапкер. Түнкү белгилөө, партияларды жыйынтыктоо, архивдик классификация, маалыматтарды байытуу, баалоо (баалоо) аткаруу.
  • Ооба, экранда күтүү → синхрондоштуруу. Жандуу баарлашуу, тез кеңеш, формаларды толтурууда жардам.
Кеңеш: Бир продуктта эки режим бирге болушу мүмкүн. Колдонуучу түз баарлашууда синхрондуу иштейт; Түнкүсүн сиз ошол күндөгү бардык сүйлөшүүлөрдү сапаттуу талдоо үчүн партияга бересиз. «Тирүү муктаждыкты» «жамааттык керектөөдөн» бөлүү архитектуранын биринчи чечими болуп саналат.

Күчтүү партия агымынын анатомиясы

Партияны кайра иштетүүнүн эң маанилүү техникалык эрежеси - натыйжалардын дал келиши.

  1. Ар бир сурамга уникалдуу `custom_id` бериңиз. Бул сиздин сурамды аныктаган идентификаторуңуз (мис., эсеп-фактура-2026-07-18-000431).
  2. Жумушту тапшырыңыз. Бардык суроо-талаптар бир пакетте болот; ар биринин өзүнүн custom_id бар.
  3. кырдаалды сурамжылоо. Жумуш "бүткүчө" мезгил-мезгили менен статус сурайсыз.
  4. Натыйжаларды `custom_id` менен дал келтириңиз. Натыйжалар тапшыруу тартибинен башка тартипте кайтарылышы мүмкүн; ошондуктан эч качан позициясы боюнча дал келбей, ар бир натыйжаны custom_id менен дал келтирбеңиз.
  5. Ар бир натыйжанын түрүн текшериңиз. Бир өтүнүч ийгиликтүү болушу мүмкүн, бири аткарылбай калышы мүмкүн, биринин мөөнөтү бүтүшү мүмкүн. Ийгиликке / ийгиликсиздикке негизделген процесс.

{ "requests": [ { "custom_id": "invoice-000431", "params": { "model": "claude-haiku-4-5", "max_tokens": 128, "система": "Эсеп-фактураны классификациялаңыз. JSON гана кайтарыңыз.", "билдирүү": "{"er" "{{invoice_text}}" }] } }, { "custom_id": "invoice-000432", "params": { "model": "claude-haiku-4-5", "max_tokens": 128, "система": "Эсеп-фактураны классификациялоо. "{messle" гана кайтаруу "JSON", ":"er. "content": "{{invoice_text_2}}" }] } } ]}

Эскертүү: Тапшыруу тартибине негизделген жыйынтыктарды дал келүү - пакеттөөдөгү биринчи ката. Кезек сакталган эмес. custom_id болбосо, кайсы натыйжа кайсы документке таандык экенин ишенимдүү биле албайсыз — туура эмес дал келүү үнсүз түрдө туура эмес маалыматтарга алып келет.

Көчүрмө калыптар

# custom_id түзүү эрежеси (уникалдуу жана байкоого болот)Формат: <isture>-<date>-<ырааттуулук>. Мисал: суроо-20260718-000431Эреже: жумушта эч качан кайталанбаңыз; Ага ресурс жазуусунун идентификаторун кыстарыңыз.

# Пакеттик тапшырма картасы (график шаблон) Жумуштун аталышы: .............Жазуулардын саны: .............Модель: ............. (жөнөкөй жумуш → тез модель) Ар бир суроо үчүн макс_токендер: .............Күтүлүүчү жеткирүү убактысына чыдамдуулук: ......... саатНатыйжага дал келүүчү ачкыч: custom_idКата болгон учурда: кайра аракет кылуу / кезек / отчет

# Пакеттеги бирдиктүү суроо-талап (кыска жана схемалык) Бул документти классификациялаңыз. Жөн гана бул JSONди кайтарып, комментарий берип:{"category":"...","urgency":"төмөн|орто|жогорку"}Документ: """{{документ}}"""

# Ар бир жыйынтык үчүн псевдокодду иштетүү натыйжасы: эгерде result.status == "ийгилик": рекорд = тап(custom_id) сакта (жаздыруу, result.output) антпесе: add_to_fail(custom_id, result.error) # анан дагы аракет кылып көрүңүз.

Начар тез / Күчтүү ыкчам (партиялык жумуш дизайны)

# АЛСЫЗ (морт дизайн) 10 000 документти күчтүү үлгү менен ирээтинде жөнөтүңүз, кайтарылган натыйжаларды келген тартипте сактаңыз.

# КҮЧТҮҮ (узак дизайн) 10 000 документти бир партияда тез үлгү менен жөнөтүңүз. Ар бир документке булак жазуусунун идентификаторун камтыган уникалдуу custom_id бериңиз. Натыйжаларды custom_id менен дал келтириңиз; ийгиликсиз болгондорду кезекке коюп, кайра аракет кылыңыз.Түнкү терезеде чуркаңыз; Жеткирүү сабырдуулугу 6 саат.

Күчтүү версия; Ал алдын ала моделди тандоону, дал келген ачкычты, каталарды иштетүүнү жана убакытты аныктайт. Бул он миңдеген жазууларды коопсуз иштетүүдөгү айырма.

Үч мини Case

1-жагдай - Түнкү белгилөө. Электрондук коммерция командасы 200 000 продукттун сын-пикирлерин сезимдердин тегине бөлүштүрөт. Түз синхрондуу агым ылдамдык чектөөлөрүнө дуушар болгон жана кымбатка турган. Алар тез үлгү менен партия катары түнгө чейин ишти алып; Бирдиктин баасы төмөндөдү, эртең менен бүт комплект даяр болду жана ылдамдыкты чектөөдө эч кандай көйгөйлөр болгон жок.

2-жагдай - Тартиптин башаламандыгы. Изилдөө тобунун партиясы 5000 макаланын абстракциясын түздү, бирок натыйжаларды келген тартипте файлдарга жазды. Натыйжалар башка тартипте кайтарылгандыктан, болжол менен 5000 рефераттын 900ү туура эмес макалага шилтемеленген. Алар аны custom_id деп өзгөртүштү; көйгөй чечилди жана бул тажрыйба туруктуу эреже болуп калды: "Ар дайым custom_id партияда."

3-жагдай - Туура эмес режимде жандуу күтүү. Колдоо тобу колдонуучу экранда күткөн жандуу жоопторду берүүгө аракет кылды; Натыйжалар бир нече мүнөттөн кийин келгендиктен, колдонуучулар баш тартышты. Алар партияда түнкү сапат анализин гана калтырып, жандуу ишти кайра синхрондоштурууга жылдырышты. Сабак: партия жандуу күтүү режими үчүн эмес.

Жалпы каталар

  • Позиция боюнча жыйынтыктарды салыштыруу: Тартип сакталган эмес; custom_id колдонуңуз.
  • Жандуу жумушту партияга өткөрүү: Колдонуучу бир нече мүнөт күтө албайт; партия кечиктирүүгө чыдамдуу жумуштар үчүн.
  • Ката учурларын карабоо: Кээ бир суроо-талаптар ишке ашпай калган/мөөнөтү өтүп кеткен бойдон кайтарылышы мүмкүн; Аны өзүнчө кезекке коюп, кайра аракет кылыңыз.
  • Пакеттеги күчтүү моделди колдонуу рефлекси: Fast модель + партия жөнөкөй жумуштарда эң арзан комбинация.
  • custom_id'ди көзөмөлдөө мүмкүн болбой жатат: Эгерде ID'ге булак жазуусу киргизилбесе, натыйжаны кайра байланыштыруу кыйын болуп калат.
  • Кырдаалды изилдөөнү унутуу: Иш бүтө электе жыйынтыктарды күтүү; Аяктоо абалын текшерүү.

Тереңирээк: Партияга мониторинг жүргүзүү жана жарым-жартылай катачылыктарды башкаруу

Пакеттик кайра иштетүүнүн эң жетилген аспектиси - бул жеке чалууларга караганда башкача ой жүгүртүүнү талап кылат: партиялык жумуш "окуя" эмес, "процесс". Он миңдеген өтүнүчтөрдүн баары ийгиликтүү болот деп ойлосок, морттук; Реалдуу дизайн башынан эле жарым-жартылай ийгиликсиздикти кабыл алат. Ар бир натыйжанын абалы ар кандай болушу мүмкүн: ийгиликтүү, ишке ашкан жок (мисалы, жараксыз киргизүү), жокко чыгарылган же мөөнөтү бүткөн. Күчтүү агым ар бир натыйжанын абалын өзүнчө иштетип, ал аркылуу өтүп, каталарды өзүнчө "кайталап көрүү кезегине" коет жана ал кезекти өзүнчө иштетет.

Экинчи практика - идемпотенттүүлүк үчүн долбоорлоо (бир жумушту эки жолу иштетүү эч кандай зыян келтирбейт). Эгерде партия үзгүлтүккө учураса жана аны кайра баштасаңыз, анда сиз кайра иштетип, буга чейин иштетилген жазууларды эки эсе жазышыңыз керек. custom_id'ди баштапкы жазууңузга байлоо бул жерде да иштейт: "бул жазуу мурунтан эле иштетилгенби?" натыйжаны сактоо алдында. Текшерүү эки жолу терүүнүн алдын алат.

Үчүнчү пункт - партия менен түз обо агымдарын жылдыруу. Кээ бир жумуштардын жандуу жана пакеттик өлчөмдөрү бар: колдонуучу документти жүктөгөндө, сиз аларга тез алдын ала корутунду бересиз (синхрондуу) жана ошол эле документти түн ичинде тереңирээк талдоо үчүн кайра иштетесиз (партия). Эки режимди аң-сезимдүү түрдө бөлүү колдонуучу тажрыйбасын да, баасын да оптималдаштырат.

Акырында, пакеттөө ылдамдыкты чектөө менен күрөшүүнүн бир жолу (8-бирдик). Жандуу синхрондуу агымда жогорку көлөмдү жөнөтүү туруктуу 429 түзөт, ал эми ошол эле көлөмдү пакеттик которууларга жөнөтүү провайдердин өз графигине басымды чектейт жана жумушту алдын ала айтууга болот.

Кыскача айтканда

Партиялык иштетүү жалпысынан кечиктирүүгө чыдамдуу жана чоң көлөмдөгү жумуш жүктөрү үчүн арзаныраак жана бышык режим. Анын чечими "колдонуучу азыр жыйынтыкты күтүп жатабы?" деген суроону аныктайт. Эң маанилүү техникалык эреже - бул ар бир суроо-талапка уникалдуу custom_id берүү, натыйжаларды жайгашкан жерине караганда ID боюнча дал келтирүү жана ар бир жыйынтыктын ийгилигине/ийгиликке өзүнчө мамиле кылуу.

Колдонмо тапшырмасы

Көп көлөмдүү жумушту тандаңыз (мисалы, архивдик классификация). (1) Бул иш жандуу же жамааттык экенин чечип, аны негиздөө. (2) custom_id форматын иштеп чыгуу (ресурстук жазууну камтыңыз). (3) Партиялык жумуш картасын толтуруңуз (модель, max_tokens, сабырдуулук, ката саясаты). (4) Ийгиликсиз сурамдарды кошуу үчүн натыйжаны иштетүү псевдокодун жазыңыз.

текшерүү тизмеси

  • [ ] Мен синхрондуу, асинхрондуу жана партия режимдерин нарк/кечиктирүү огунда айырмалай алам.
  • [ ] Жумуштун партияга ылайыктуу же ылайыктуу эместигин туура суроо менен чече алам.
  • [ ] Ар бир суроого уникалдуу custom_id берем жана натыйжаларды ID боюнча дал келтирем.
  • [ ] Мен ишке ашпай калган/мөөнөтү өткөн натыйжаларды өзүнчө чече алам.
  • [ ] Мен жөнөкөй партия жумуштарында тез моделди тандоонун артыкчылыктарын билем.