# केस स्टडी: Support-Reply Drafting Endpoint — Claude API / OpenAI API की बुनियाद

Source: https://www.geekswithgeeks.com/hi/llm-apis/z-case

> ऐसा 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, मापें, सुरक्षा।](assets/figures/llm-apis/section-8-map.svg) — चित्र 8.1 — Validate, retry, मापें और सुरक्षा।

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

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

```text
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 प्रतिक्रिया देखें।

**Quiz:** Provider को browser नहीं, backend क्यों बुलाता है?

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

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