पाठ 26 / 27

केस स्टडी: Support-Reply Drafting Endpoint

ऐसा backend endpoint डिज़ाइन करें जो उत्तर सुरक्षित और सस्ते में तैयार करे।

डिज़ाइन

लक्ष्य: agents support tool में "Draft reply" दबाएँ। अनुरोध पथ: browser आपके backend (प्रमाणित) को बुलाता है; backend ticket लोड करता है, व्यक्तिगत डेटा pseudonymise करता है, prompt बनाता है (स्थिर नीति पाठ पहले ताकि cache हो सके, ticket अंत में), और max_tokens, timeout और SDK backoff के साथ retries लगाकर provider बुलाता है। आउटपुट: मॉडल JSON {category, reply} लौटाता है; कोड उसे निकालकर validate करता है (अनुमत categories, लंबाई सीमा), placeholders बहाल करता है, दिखाने के लिए पाठ escape करता है, और विफलता पर error संदेश के साथ एक बार retry करता है, फिर "मसौदा नहीं बन सका, कृपया हाथ से लिखें" पर fallback। Tool use (वैकल्पिक): session से लिए user id वाला केवल-पढ़ने वाला get_order_status tool, 3-चरण loop सीमा और logging। Streaming पाठ UI तक पहुँचाती है और agent panel बंद करे तो upstream रद्द करती है। लागत/सुरक्षा: प्रति टीम और सुविधा usage दर्ज, दैनिक token बजट, secrets manager में keys, redacted logs, भेजने से पहले मनुष्य हर मसौदे की समीक्षा करता है। परीक्षण: retries, 400/429/5xx, streaming, tool loop और validation के लिए fake-server tests; हर prompt या मॉडल बदलाव से पहले 100-ticket evaluation set।

भरोसेमंद LLM सुविधा

अच्छे prompts, validated आउटपुट, retries, बजट, सुरक्षा और tests मिलकर ऐसी सुविधा बनाते हैं जिसे आप ship कर सकें।

चार आदतें: validate, retry, मापें, सुरक्षा।
चित्र 8.1 — Validate, retry, मापें और सुरक्षा।

एक पन्ने पर डिज़ाइन

हर पंक्ति इस कोर्स के एक खंड से जुड़ती है।

Path        browser -> YOUR backend (auth) -> provider; key never in the browser          (Sec 1)
Prompt      stable policy first (cacheable), pseudonymised ticket last, max_tokens set     (Sec 2, 6)
Output      extract JSON -> validate -> restore placeholders -> escape -> display          (Sec 2, 7)
Reliability SDK retries+backoff, timeout, 1 retry on invalid JSON, manual fallback         (Sec 5)
Tools       read-only get_order_status, user id from session, 3-step cap, logs             (Sec 4)
Streaming   relay text; cancel upstream when the panel closes                              (Sec 3)
Cost/safety usage per team, daily budget, secrets manager, redacted logs, human review     (Sec 6, 7)
Testing     fake-server tests + 100-ticket eval set before each change                     (Sec 7)

Feature flag के पीछे ship करें

पहले छोटे समूह को जारी करें और बढ़ाने से पहले लागत, errors और agent प्रतिक्रिया देखें।

त्वरित जाँच: Provider को browser नहीं, backend क्यों बुलाता है?

  • ताकि API key गुप्त रहे और users को आप प्रमाणित करें
  • Browsers JSON नहीं भेज सकते
  • इससे tokens मुफ़्त होते हैं
  • Backends browsers से तेज़ हैं
Answer

ताकि API key गुप्त रहे और users को आप प्रमाणित करें — Browser में कुछ भी निकाला जा सकता है, keys समेत।