యూనిట్ 7 / 11

బ్యాచ్ మరియు అసమకాలిక పనిభారం

లాభాలు:

  • ఏ వర్క్‌లోడ్ బ్యాచ్ ప్రాసెసింగ్ అనుకూలంగా ఉందో నిర్ణయిస్తుంది
  • సింక్రోనస్, ఎసిన్క్రోనస్ మరియు బ్యాచ్ ప్రాసెసింగ్ మధ్య ధర/జాప్యాన్ని అర్థం చేసుకుంటుంది
  • కస్టమ్_ఐడిని ఫలితాలకు సరిపోలే బలమైన బ్యాచ్ వర్క్‌ఫ్లోను డిజైన్ చేస్తుంది

చాలా LLM ఇంటిగ్రేషన్‌లు స్క్రీన్ ముందు ప్రతిస్పందన కోసం వినియోగదారు వేచి ఉన్న “ప్రత్యక్ష” దృశ్యాలపై దృష్టి పెడతాయి. కానీ వృత్తిపరమైన పనిభారంలో ఎక్కువ భాగం వాస్తవానికి ప్రత్యక్షంగా లేవు: రాత్రిపూట వేలాది పత్రాలను ట్యాగ్ చేయడం, మొత్తం డేటాసెట్‌ను సంగ్రహించడం, ఆర్కైవ్‌లోని మొత్తం కాల్ రికార్డింగ్‌లను వర్గీకరించడం. ఈ విషయాలలో, ఎవరూ తక్షణ సమాధానాన్ని ఆశించరు; ముఖ్యమైన విషయం ఏమిటంటే పనిని చౌకగా మరియు విశ్వసనీయంగా పూర్తి చేయడం. బ్యాచ్ ఖచ్చితంగా ఈ పనిభారానికి సంబంధించినది. ఈ యూనిట్‌లో, సమకాలీకరణ, అసమకాలిక మరియు బ్యాచ్ ప్రాసెసింగ్ మధ్య వ్యత్యాసాన్ని మీరు నేర్చుకుంటారు, బ్యాచ్ సరైన ఎంపిక అయినప్పుడు మరియు కస్టమ్_ఐడి మరియు ఫలితాలకు నమ్మకంగా సరిపోలే బలమైన ప్రవాహం.

మూడు వర్కింగ్ మోడ్‌లు

మోడ్

ఇది ఎలా పని చేస్తుంది

ఆలస్యం

సాధారణ ఖర్చు

తగిన ఉద్యోగం

సమకాలిక

మీరు అభ్యర్థన చేసి, ప్రతిస్పందన కోసం వేచి ఉండండి

సెకన్లు

ప్రామాణికం

లైవ్ చాట్, తక్షణ సహాయకుడు

అసమకాలిక

మీరు ఉద్యోగం కోసం క్యూలో నిలబడండి మరియు అది పూర్తయిన తర్వాత నోటిఫికేషన్‌ను పొందండి.

సెకన్లు-నిమిషాలు

ప్రామాణికం

నేపథ్య పనులు, ఆటోమేషన్ దశలు

బ్యాచ్

ఒక ప్యాకేజీలో వేలాది అభ్యర్థనలను పంపుతుంది, ఆపై ఫలితాలను పొందుతుంది

నిమిషాలు-గంటలు

సాధారణంగా తగ్గింపు

అధిక-వాల్యూమ్, ఆలస్యం-తట్టుకోగల ఉద్యోగాలు

బ్యాచ్ ప్రాసెసింగ్ ఇది: మీరు ప్రొవైడర్‌కు ఒకే "ఉద్యోగం"గా వందల/వేలకొద్దీ అభ్యర్థనలను పంపుతారు; ప్రొవైడర్ వాటిని దాని స్వంత వేగంతో ప్రాసెస్ చేస్తుంది మరియు పూర్తయిన తర్వాత అన్ని ఫలితాలను బల్క్‌లో అందిస్తుంది. ప్రతిఫలంగా మీరు రెండు విషయాలను పొందుతారు: (1) సాధారణంగా తక్కువ యూనిట్ ధర, (2) వేగ పరిమితులతో వ్యవహరించకుండా అధిక వాల్యూమ్‌ను తరలించగల సామర్థ్యం. ధర ఏమిటంటే ఫలితాలు తక్షణమే రావు, కానీ కొంత సమయం తర్వాత.

ఎప్పుడు బ్యాచ్ చేయాలి, ఎప్పుడు కాదు?

నిర్ణయం ఒక ప్రశ్నకు వస్తుంది: వినియోగదారు ఇప్పుడు ఫలితం కోసం వేచి ఉన్నారా?

  • లేదు, నేను దానిని → బ్యాచ్ అభ్యర్థిని పట్టుకోగలను. రాత్రి ట్యాగింగ్, బ్యాచ్ సారాంశం, ఆర్కైవ్ వర్గీకరణ, డేటా సుసంపన్నం, మూల్యాంకనం (ఎవాల్) అమలు.
  • అవును, స్క్రీన్‌పై వేచి ఉంది → సమకాలీకరణ. ఫారమ్‌లను పూరించేటప్పుడు లైవ్ చాట్, తక్షణ సలహా, సహాయం.
చిట్కా: ఒకే ఉత్పత్తిలో రెండు మోడ్‌లు కలిసి ఉండవచ్చు. వినియోగదారు ప్రత్యక్ష ప్రసార చాట్‌లో సమకాలికంగా పని చేస్తారు; రాత్రి సమయంలో, మీరు నాణ్యత విశ్లేషణ కోసం బ్యాచ్‌కి ఆ రోజు సంభాషణలన్నింటినీ ఇస్తారు. "సమిష్టి అవసరం" నుండి "జీవన అవసరం" వేరు చేయడం వాస్తుశాస్త్రం యొక్క మొదటి నిర్ణయం.

అనాటమీ ఆఫ్ రోబస్ట్ బ్యాచ్ ఫ్లో

బ్యాచ్ ప్రాసెసింగ్ యొక్క అతి ముఖ్యమైన సాంకేతిక నియమం ఫలితం సరిపోలిక.

  1. ప్రతి అభ్యర్థనకు ప్రత్యేకమైన `కస్టమ్_ఐడి`ని ఇవ్వండి. ఇది అభ్యర్థనను గుర్తించే మీరు రూపొందించిన ID (ఉదా. ఇన్‌వాయిస్-2026-07-18-000431).
  2. ఉద్యోగాన్ని సమర్పించండి. అన్ని అభ్యర్థనలు ఒక ప్యాకేజీలో వెళ్తాయి; ప్రతి దాని స్వంత custom_id.
  3. పరిస్థితిని పోల్ చేయండి. మీరు ఉద్యోగం "పూర్తయ్యే వరకు" విరామాలలో స్థితిని అడుగుతారు.
  4. ఫలితాలను `కస్టమ్_ఐడి`తో సరిపోల్చండి. సమర్పణ క్రమంలో కాకుండా ఫలితాలు వేరే క్రమంలో అందించబడవచ్చు; కాబట్టి ఎప్పుడూ స్థానంతో సరిపోలడం లేదు కానీ ప్రతి ఫలితం కస్టమ్_ఐడి ద్వారా ఉంటుంది.
  5. ప్రతి ఫలితం యొక్క రకాన్ని తనిఖీ చేయండి. ఒక అభ్యర్థన విజయవంతం కావచ్చు, ఒకటి విఫలం కావచ్చు, ఒకటి గడువు ముగియవచ్చు. విజయం/వైఫల్యం ఆధారంగా ప్రక్రియ.

{ "అభ్యర్థనలు": [ { "custom_id": "invoice-000431", "params": { "model": "claude-haiku-4-5", "max_tokens": 128, "system": "ఇన్‌వాయిస్‌ని వర్గీకరించండి. JSON మాత్రమే తిరిగి ఇవ్వండి.", "సందేశాలు": [ "సందేశాలు": "{{invoice_text}}" }] }, { "custom_id": "invoice-000432", "params": { "model": "claude-haiku-4-5", "max_tokens": 128, "సిస్టమ్": "ఇన్‌వాయిస్‌ని వర్గీకరించండి:" తిరిగి ఇవ్వండి." "user", "content": "{{invoice_text_2}}" }] } } ]}

హెచ్చరిక: సమర్పణ క్రమం ఆధారంగా ఫలితాలను సరిపోల్చడం బ్యాచింగ్‌లో మొదటి తప్పు. క్యూ భద్రపరచబడలేదు. కస్టమ్_ఐడి లేకుండా ఏ ఫలితం ఏ పత్రానికి చెందినదో మీరు నమ్మకంగా తెలుసుకోలేరు — తప్పు సరిపోలిక నిశ్శబ్దంగా తప్పు డేటాకు దారి తీస్తుంది.

కాపీ చేయగల టెంప్లేట్లు

# కస్టమ్_ఐడి జనరేషన్ రూల్ (ప్రత్యేకమైనది మరియు గుర్తించదగినది)ఫార్మాట్: <isture>-<తేదీ>-<క్రమం>. ఉదాహరణ: అభ్యర్థన-20260718-000431నియమం: పనిలో ఎప్పుడూ పునరావృతం కాదు; రిసోర్స్ రికార్డ్ ఐడిని అందులో పొందుపరచండి.

# బ్యాచ్ జాబ్ కార్డ్ (షెడ్యూలింగ్ టెంప్లేట్)ఉద్యోగం పేరు: .............రికార్డ్‌ల సంఖ్య: ............. మోడల్: ............. (సాధారణ ఉద్యోగం → వేగవంతమైన మోడల్)అభ్యర్థనకు గరిష్ట_టోకెన్‌లు: .............అంచనా డెలివరీ సమయం సహనం: ..........గంటలు ఫలితాలు సరిపోలే కీ: అనుకూల_id దోషం అయితే: క్యూ / రిపోర్ట్ / రిపోర్ట్

# బ్యాచ్‌లో ఒకే అభ్యర్థన ప్రాంప్ట్ (చిన్న మరియు స్కీమాటిక్)ఈ పత్రాన్ని వర్గీకరించండి. ఈ JSONని తిరిగి ఇవ్వండి, వ్యాఖ్యానిస్తూ:{"category":"...","urgency":"low|medium|high"}పత్రం: """{{పత్రం}}"""

# ప్రతి ఫలితం కోసం సూడో-కోడ్‌ని ప్రాసెస్ చేస్తుంది: if result.status == "success": record = find(custom_id) save(record, result.output) లేకపోతే: add_to_fail(custom_id, result.error) # ఆపై మళ్లీ ప్రయత్నించండి

బలహీనమైన ప్రాంప్ట్ / బలమైన ప్రాంప్ట్ (బ్యాచ్ జాబ్ డిజైన్)

# బలహీనమైన (పెళుసైన డిజైన్) బలమైన మోడల్‌తో క్రమంలో 10,000 పత్రాలను పంపండి, తిరిగి వచ్చిన ఫలితాలను అవి వచ్చిన క్రమంలో సేవ్ చేయండి.

# స్ట్రాంగ్ (మన్నికైన డిజైన్) వేగవంతమైన మోడల్‌తో ఒక బ్యాచ్‌లో 10,000 డాక్యుమెంట్‌లను పంపండి. ప్రతి డాక్యుమెంట్‌కు సోర్స్-రికార్డ్ IDని కలిగి ఉన్న ప్రత్యేకమైన కస్టమ్_ఐడిని ఇవ్వండి. కస్టమ్_ఐడితో ఫలితాలను సరిపోల్చండి; విఫలమైన వాటిని క్యూలో ఉంచండి మరియు మళ్లీ ప్రయత్నించండి. రాత్రి విండోలో రన్ చేయండి; డెలివరీ టాలరెన్స్ 6 గంటలు.

శక్తివంతమైన వెర్షన్; ఇది మోడల్ ఎంపిక, మ్యాచింగ్ కీ, ఎర్రర్ హ్యాండ్లింగ్ మరియు టైమింగ్‌ని ముందే నిర్వచిస్తుంది. పదివేల రికార్డులను సురక్షితంగా ప్రాసెస్ చేయడంలో ఇది తేడా.

మూడు మినీ కేసులు

కేసు 1 — నైట్ ట్యాగింగ్. ఇ-కామర్స్ బృందం 200,000 ఉత్పత్తి సమీక్షలను సెంటిమెంట్ ట్యాగ్‌లుగా క్రమబద్ధీకరిస్తుంది. లైవ్ సింక్రోనస్ స్ట్రీమింగ్ వేగ పరిమితులకు లోబడి ఉంటుంది మరియు ఖర్చుతో కూడుకున్నది. వారు వేగవంతమైన మోడల్‌తో ఒక బ్యాచ్‌గా పనిని రాత్రికి తీసుకువెళ్లారు; యూనిట్ ఖర్చు తగ్గింది, ఉదయం సెట్ మొత్తం సిద్ధంగా ఉంది మరియు వేగ పరిమితి సమస్యలు లేవు.

కేసు 2 - ఆర్డర్ గందరగోళం. ఒక పరిశోధనా బృందం బ్యాచ్ 5,000 కథనాలను సంగ్రహించింది, కానీ అవి వచ్చిన క్రమంలో ఫలితాలను ఫైల్‌లుగా వ్రాసింది. ఫలితాలు వేరే క్రమంలో అందించబడినందున, 5,000 సారాంశాలలో దాదాపు 900 తప్పు కథనానికి లింక్ చేయబడ్డాయి. వారు దానిని custom_idకి రీమ్యాప్ చేసారు; సమస్య పరిష్కరించబడింది మరియు ఈ అనుభవం శాశ్వత నియమంగా మారింది: "ఎల్లప్పుడూ కస్టమ్_ఐడి బ్యాచ్‌లో ఉంటుంది."

కేస్ 3 — రాంగ్ మోడ్‌లో లైవ్ స్టాండ్‌బై. స్క్రీన్‌పై వినియోగదారు ఆశించిన ప్రత్యక్ష ప్రతిస్పందనలను అందించడానికి మద్దతు బృందం ప్రయత్నించింది; ఫలితాలు నిమిషాల తర్వాత వచ్చినందున వినియోగదారులు విడిచిపెట్టారు. వారు లైవ్ జాబ్‌ను తిరిగి సమకాలీకరణకు తరలించారు, బ్యాచ్‌లో రాత్రి నాణ్యత విశ్లేషణ మాత్రమే మిగిలిపోయింది. పాఠం: బ్యాచ్ లైవ్ స్టాండ్‌బై కోసం కాదు.

సాధారణ తప్పులు

  • స్థానం ద్వారా ఫలితాలు సరిపోలడం: ఆర్డర్ భద్రపరచబడలేదు; కస్టమ్_ఐడిని ఉపయోగించండి.
  • ప్రత్యక్ష ఉద్యోగాన్ని బ్యాచ్‌కి బదిలీ చేయడం: వినియోగదారు నిమిషాల పాటు వేచి ఉండలేరు; బ్యాచ్ ఆలస్యం సహించే ఉద్యోగాల కోసం.
  • లోపం కేసులను నిర్వహించడం లేదు: కొన్ని అభ్యర్థనలు విఫలమయ్యాయి/గడువు ముగిసినట్లు తిరిగి రావచ్చు; దీన్ని ప్రత్యేక క్యూలో ఉంచి, మళ్లీ ప్రయత్నించండి.
  • బ్యాచ్‌లో బలమైన మోడల్ యూసేజ్ రిఫ్లెక్స్: ఫాస్ట్ మోడల్ + బ్యాచ్ సాధారణ ఉద్యోగాలలో చౌకైన కలయిక.
  • కస్టమ్_ఐడిని గుర్తించగలిగేలా చేయడం లేదు: IDలో సోర్స్ రికార్డ్ పొందుపరచబడకపోతే, ఫలితాన్ని తిరిగి లింక్ చేయడం కష్టం అవుతుంది.
  • పరిస్థితిని పరిశీలించడం మర్చిపోవడం: ఉద్యోగం పూర్తయ్యేలోపు ఫలితాలను ఆశించడం; పూర్తి స్థితిని తనిఖీ చేయండి.

లోతైనది: బ్యాచ్‌ను పర్యవేక్షించడం మరియు పాక్షిక వైఫల్యాన్ని నిర్వహించడం

బ్యాచ్ ప్రాసెసింగ్ యొక్క అత్యంత పరిణతి చెందిన అంశం ఏమిటంటే, దీనికి వ్యక్తిగత కాల్‌ల కంటే భిన్నమైన ఆలోచన అవసరం: బ్యాచ్ జాబ్ అనేది "ప్రాసెస్", "ఈవెంట్" కాదు. పదివేల అభ్యర్థనలు అన్నీ విజయవంతం అవుతాయని భావించడం పెళుసుగా ఉంటుంది; వాస్తవిక రూపకల్పన ప్రారంభం నుండి పాక్షిక వైఫల్యాన్ని అంగీకరిస్తుంది. ప్రతి ఫలితం యొక్క స్థితి భిన్నంగా ఉండవచ్చు: విజయవంతమైంది, విఫలమైంది (ఉదా. చెల్లని ఇన్‌పుట్), రద్దు చేయబడింది లేదా గడువు ముగిసింది. ఒక బలమైన ప్రవాహం ప్రతి ఫలితం యొక్క స్థితిని దాని గుండా ప్రయాణించేటప్పుడు విడిగా ప్రాసెస్ చేస్తుంది, వైఫల్యాలను ప్రత్యేక "రీట్రీ క్యూ"లో ఉంచుతుంది మరియు ఆ క్యూను విడిగా అమలు చేస్తుంది.

రెండవ అభ్యాసం ఏమిటంటే, నిస్సత్తువ కోసం రూపొందించడం (ఒకే పనిని రెండుసార్లు నడపడం వల్ల ఎటువంటి హాని జరగదు). బ్యాచ్‌కు అంతరాయం ఏర్పడి, మీరు దాన్ని పునఃప్రారంభిస్తే, మీరు ఇప్పటికే ప్రాసెస్ చేసిన రికార్డ్‌లను రెండుసార్లు రీప్రాసెస్ చేయకూడదు మరియు వ్రాయకూడదు. మీ సోర్స్ రికార్డ్‌కి custom_idని బైండింగ్ చేయడం ఇక్కడ కూడా పని చేస్తుంది: "ఈ రికార్డ్ ఇప్పటికే ప్రాసెస్ చేయబడిందా?" ఫలితాన్ని సేవ్ చేయడానికి ముందు. తనిఖీ చేయడం వలన డబుల్ టైపింగ్ నిరోధిస్తుంది.

మూడవ పాయింట్ బ్యాచ్‌తో ప్రత్యక్ష ప్రసారాలను అస్థిరపరచడం. కొన్ని ఉద్యోగాలు ప్రత్యక్ష మరియు బ్యాచ్ కొలతలు రెండింటినీ కలిగి ఉంటాయి: వినియోగదారు పత్రాన్ని లోడ్ చేసినప్పుడు, మీరు వారికి త్వరిత ప్రాథమిక సారాంశాన్ని (సమకాలిక) అందిస్తారు మరియు రాత్రి (బ్యాచ్) లోతైన విశ్లేషణ కోసం అదే పత్రాన్ని మళ్లీ ప్రాసెస్ చేయండి. రెండు మోడ్‌లను స్పృహతో వేరు చేయడం వినియోగదారు అనుభవం మరియు ఖర్చు రెండింటినీ ఆప్టిమైజ్ చేస్తుంది.

చివరగా, బ్యాచింగ్ అనేది వేగ పరిమితులను (యూనిట్ 8) ఎదుర్కోవడానికి కూడా ఒక మార్గం. లైవ్ సింక్రోనస్ ఫ్లోలో అధిక వాల్యూమ్‌ను పంపడం స్థిరంగా 429ని ఉత్పత్తి చేస్తుంది, అదే వాల్యూమ్‌ను బ్యాచ్ బదిలీలకు పంపడం వలన ప్రొవైడర్ యొక్క స్వంత షెడ్యూలింగ్‌కు ఒత్తిడి పరిమితం అవుతుంది మరియు ఉద్యోగాన్ని మరింత ఊహాజనితంగా చేస్తుంది.

సారాంశంలో

బ్యాచ్ ప్రాసెసింగ్ అనేది జాప్యం-తట్టుకునే మరియు అధిక-వాల్యూమ్ పనిభారానికి సాధారణంగా చౌకైన మరియు మరింత బలమైన మోడ్. అతని నిర్ణయం "వినియోగదారు ఇప్పుడు ఫలితం కోసం వేచి ఉన్నారా?" ప్రశ్నను నిర్ణయిస్తుంది. అత్యంత క్లిష్టమైన సాంకేతిక నియమం ఏమిటంటే, ప్రతి అభ్యర్థనకు ప్రత్యేకమైన కస్టమ్_ఐడిని ఇవ్వడం, స్థానానికి బదులుగా ID ద్వారా ఫలితాలను సరిపోల్చడం మరియు ప్రతి ఫలితం యొక్క విజయం/వైఫల్యాన్ని విడివిడిగా పరిగణించడం.

అప్లికేషన్ టాస్క్

అధిక-వాల్యూమ్ ఉద్యోగాన్ని ఎంచుకోండి (ఉదా. ఆర్కైవ్ వర్గీకరణ). (1) ఈ పని ప్రత్యక్షమా లేదా సామూహికమా అని నిర్ణయించండి మరియు దానిని సమర్థించండి. (2) custom_id ఆకృతిని రూపొందించండి (వనరుల రికార్డును కూడా చేర్చండి). (3) బ్యాచ్ జాబ్ కార్డ్ (మోడల్, max_tokens, టోలరెన్స్, ఎర్రర్ పాలసీ) పూరించండి. (4) విఫలమైన అభ్యర్థనలను చేర్చడానికి ఫలిత ప్రాసెసింగ్ సూడోకోడ్‌ను వ్రాయండి.

చెక్లిస్ట్

  • [ ] నేను ఖర్చు/ఆలస్యం అక్షంపై సమకాలిక, అసమకాలిక మరియు బ్యాచ్ మోడ్‌లను వేరు చేయగలను.
  • [ ] సరైన ప్రశ్న అడగడం ద్వారా బ్యాచ్‌కి ఉద్యోగం సరిపోతుందో లేదో నేను నిర్ణయించగలను.
  • [ ] నేను ప్రతి అభ్యర్థనకు ప్రత్యేకమైన కస్టమ్_ఐడిని ఇస్తాను మరియు ID ద్వారా ఫలితాలను సరిపోల్చాను.
  • [ ] నేను విఫలమైన/గడువు ముగిసిన ఫలితాలను విడిగా నిర్వహించగలను.
  • [ ] సాధారణ బ్యాచ్ ఉద్యోగాలలో వేగవంతమైన మోడల్‌ని ఎంచుకోవడం వల్ల కలిగే ప్రయోజనాలు నాకు తెలుసు.