मार्गदर्शिका - AIP-C01 AWS Certified Generative AI Developer - Professional
अंतिम समीक्षा: मई 2026
AIP-C01 परीक्षा द्वारा परखे जाने वाले architectural patterns का स्कैन-योग्य संदर्भ। ऊपर से नीचे पढ़ें या किसी section पर जाएं।
फाउंडेशन मॉडल इंटीग्रेशन, डेटा मैनेजमेंट, और कंप्लायंस
किसी उपयोग के लिए Bedrock फाउंडेशन मॉडल चुनें।
लंबे-संदर्भ तर्क + टूल उपयोग → Claude (Sonnet/Opus)। लागत-अनुकूलित चैट → Claude Haiku या Titan Text Lite। कोड → Claude या Llama। एम्बेडिंग → Titan Embeddings V2 या Cohere Embed। इमेज जनरेशन → Titan Image, Stable Diffusion, या Nova Canvas। सेल्फ-होस्ट नियंत्रण के साथ ओपन-वेट → Llama, Mistral, या Custom Model Import।
क्यों: लागत, विलंबता, क्षमता और लाइसेंस शर्तों के अनुसार कोई एक मॉडल सबसे अच्छा नहीं है। मॉडल वर्ग को बॉटलनेक से मिलाएं।
PDF स्रोत में टेक्स्ट + आरेख शामिल हैं; उपयोगकर्ता ऐसे प्रश्न पूछते हैं जिनके लिए आरेखों को समझने की आवश्यकता होती है।
Bedrock KB उन्नत पार्सिंग को फाउंडेशन मॉडल (Claude/Nova) को पार्सर के रूप में सक्षम करें। आरेखों और तालिकाओं को विजन के माध्यम से वर्णित किया जाता है, फिर एम्बेड किया जाता है।
क्यों: डिफ़ॉल्ट पार्सिंग केवल टेक्स्ट है। मल्टीमॉडल पार्सिंग विज़ुअल सामग्री को एम्बेड करने से पहले वर्णनात्मक टेक्स्ट में परिवर्तित करती है।
V2 कॉन्फ़िगर करने योग्य आयामों (256/512/1024) का समर्थन करता है और बहुभाषी बेंचमार्क पर G1 से बेहतर प्रदर्शन करता है। G1 1536 पर स्थिर है। भंडारण-प्रतिबंधित या गैर-अंग्रेजी उपयोग के मामलों के लिए V2 चुनें; G1 केवल लीगेसी संगतता के लिए।
500K उत्पाद कैटलॉग: छोटे शीर्षक (50 शब्द) + लंबी विशिष्टताएँ (500 शब्द)। खोज गुणवत्ता + लागत का अनुकूलन करें।
प्रत्येक आइटम को एक बार एम्बेड करें (संयुक्त या अलग फ़ील्ड)। लागत के लिए कम आयामों (256 या 512) के साथ Titan Embeddings V2 का उपयोग करें; क्वेरी और दस्तावेज़ को एक ही मॉडल के साथ एम्बेड करें।
क्यों: एम्बेडिंग मॉडल को मिलाना या सामान्यीकरण छोड़ना समानता खोज को तोड़ देता है। कम आयाम मामूली गुणवत्ता हानि के साथ भंडारण और क्वेरी लागत को कम करते हैं।
Bedrock Knowledge Bases के लिए एक वेक्टर स्टोर चुनें।
डिफ़ॉल्ट / सबसे तेज़ सेटअप → Amazon OpenSearch Serverless (स्वचालित-प्रबंधित)। लगातार स्कीमा अपडेट + रिलेशनल जॉइन के साथ सब-एमएस → pgvector के साथ Aurora PostgreSQL। मौजूदा Pinecone / MongoDB Atlas / Redis ग्राहक → इसे बनाए रखें। छोटे KB (<10K दस्तावेज़) लागत-अनुकूलित → Aurora pgvector या Neptune Analytics।
क्यों: OpenSearch Serverless कम-प्रतिरोध का डिफ़ॉल्ट मार्ग है। Aurora pgvector तब जीतता है जब आपको मेटाडेटा पर लेनदेन या जॉइन की आवश्यकता होती है।
KB सिमेंटिक रूप से प्रासंगिक दस्तावेज़ लौटाता है, लेकिन वे पुराने/गलत-क्षेत्र संस्करणों से हैं।
स्रोत फ़ाइलों में मेटाडेटा (`version`, `region`, `effective_date`) जोड़ें और `retrievalConfiguration.vectorSearchConfiguration.filter` के माध्यम से क्वेरी समय पर मेटाडेटा फ़िल्टर लागू करें।
क्यों: शुद्ध वेक्टर समानता नवीनता और अधिकार को अनदेखा करती है। मेटाडेटा फ़िल्टरिंग रैंकिंग से पहले उम्मीदवार पूल को संकीर्ण करती है।
RAG उन प्रश्नों को छोड़ देता है जिनमें सटीक पहचानकर्ता (SKU, त्रुटि कोड, विनियमन संख्या) होते हैं क्योंकि सिमेंटिक खोज समान-अर्थ वाले टेक्स्ट को अधिक महत्व देती है।
KB पर हाइब्रिड खोज सक्षम करें (सिमेंटिक + कीवर्ड/BM25)। IDs, कोड और उचित संज्ञाओं के लिए लेक्सिकल मैच के साथ वेक्टर समानता को जोड़ता है।
Top-k=5 5 चंक पुनर्प्राप्त करता है लेकिन सबसे प्रासंगिक वाला अक्सर 3वें या 4वें स्थान पर होता है।
`numberOfResults` को 20 तक बढ़ाएँ फिर मूल क्वेरी के लिए प्रासंगिकता के अनुसार फिर से व्यवस्थित करने के लिए एक रीरैंकिंग मॉडल (Cohere Rerank या Amazon Rerank) सक्षम करें।
क्यों: एम्बेडिंग समानता ≠ कार्य प्रासंगिकता। क्रॉस-एनकोडर रीरैंकर क्वेरी + चंक को एक साथ देखते हैं और सटीक स्कोर करते हैं।
S3 स्रोत दस्तावेज़ अक्सर अपडेट होते हैं; KB को मैन्युअल सिंक के बिना हमेशा नवीनतम संस्करणों को प्रतिबिंबित करना चाहिए।
S3 इवेंट नोटिफिकेशन → EventBridge → StartIngestionJob के माध्यम से स्वचालित सिंक के लिए KB डेटा स्रोत को कॉन्फ़िगर करें, या KB शेड्यूल्ड सिंक का उपयोग करें। मैन्युअल कंसोल "Sync" बटन पर निर्भर रहने से बचें।
लंबे-दस्तावेज़ QA मॉडल उन प्रश्नों पर भ्रमित हो जाता है जिनके उत्तर दस्तावेज़ के बीच में होते हैं।
प्रॉम्प्ट में पूरे दस्तावेज़ पास न करें - RAG के माध्यम से चंक + पुनर्प्राप्त करें ताकि केवल प्रासंगिक चंक ही मॉडल तक पहुँचें। यदि पूरा दस्तावेज़ अनिवार्य है, तो मजबूत लंबे-संदर्भ रिकॉल (Claude Sonnet 200K) वाले मॉडल का उपयोग करें और प्रश्न को दस्तावेज़ के बाद रखें।
क्यों: अधिकांश LLM "बीच में खो गए" रिकॉल गिरावट प्रदर्शित करते हैं। RAG इसे दरकिनार करता है; प्लेसमेंट तब मदद करता है जब RAG उपलब्ध न हो।
गुणवत्ता मानक को पूरा करने वाले सबसे सस्ते अनुकूलन का चयन करें।
इस क्रम में प्रयास करें: (1) प्रॉम्प्ट इंजीनियरिंग, (2) KB के साथ RAG, (3) फाइन-ट्यूनिंग, (4) निरंतर प्री-ट्रेनिंग, (5) Custom Model Import। जो पहला मानक को पूरा करता है, उस पर रुकें।
क्यों: प्रत्येक चरण में प्रयास और चल रही लागत बढ़ती जाती है। फाइन-ट्यूनिंग + Provisioned Throughput RAG की तुलना में कहीं अधिक महंगा है।
फाइन-ट्यूनिंग के लिए ग्राहक इंटरैक्शन डेटा में नाम, ईमेल, फ़ोन नंबर शामिल हैं।
प्रशिक्षण डेटासेट को S3 पर अपलोड करने से पहले PII को स्क्रब या टोकनाइज करें। एक बार जब वेट PII को सोख लेते हैं, तो आउटपुट फ़िल्टरिंग इसे मज़बूती से मास्क नहीं कर सकती है।
क्यों: फाइन-ट्यून किया गया मॉडल प्रशिक्षण-डेटा के टुकड़े वापस ला सकता है। डेटा परत पर स्क्रबिंग ही एकमात्र टिकाऊ शमन है।
उच्च-ट्रैफ़िक Claude एप्लिकेशन पीक के दौरान प्रति-क्षेत्र कोटा तक पहुँचता है; Provisioned Throughput खरीदे बिना उच्च थ्रूपुट की आवश्यकता है।
क्रॉस-क्षेत्र इन्फरेंस प्रोफाइल। Bedrock प्रभावी TPM/RPM कोटे को बढ़ाने के लिए कई क्षेत्रों में पारदर्शी रूप से इनवोकेशन को रूट करता है।
क्यों: स्पाइक्स के दौरान एकल-क्षेत्र ऑन-डिमांड कोटा कैप; क्रॉस-क्षेत्र प्रोफाइल इन्फरेंस-प्रोफाइल ARN का उपयोग करने से परे कोई ऐप कोड परिवर्तन के बिना कोटे को लगभग गुणा करते हैं।
us-east-1 में तैनात Bedrock ऐप पर APAC उपयोगकर्ता US/EU उपयोगकर्ताओं की तुलना में काफी अधिक विलंबता देखते हैं।
ap-northeast-1 / ap-southeast-1 / ap-south-1 (जहां मॉडल GA है) में क्षेत्रीय Bedrock एंडपॉइंट्स तैनात करें। Route 53 विलंबता या भू-स्थान नीति के माध्यम से उपयोगकर्ताओं को रूट करें।
क्यों: लंबे संदर्भों के लिए LLM राउंड-ट्रिप हावी होती है; अकेले क्रॉस-पैसिफिक RTT 150-250 ms है।
HIPAA-नियामित ऐप को Bedrock के साथ PHI को सारांशित करने की आवश्यकता है।
केवल HIPAA-योग्य फाउंडेशन मॉडल का उपयोग करें (HIPAA Eligible Services सूची के अनुसार)। AWS के साथ BAA पर हस्ताक्षर करें। ग्राहक-प्रबंधित KMS कुंजी के साथ प्रॉम्प्ट/प्रतिक्रियाओं को एन्क्रिप्ट करें। मॉडल इनवोकेशन लॉगिंग को अक्षम करें या इसे प्रतिबंधित पहुंच वाले एक निजी S3 बकेट तक सीमित करें।
संवेदनशीलता (सार्वजनिक / गोपनीय / प्रतिबंधित) के आधार पर यह तय करें कि Bedrock पर कौन सा डेटा प्रवाहित हो सकता है।
सार्वजनिक → अप्रतिबंधित। गोपनीय → केवल VPC एंडपॉइंट्स + CMK + निजी बकेट में इनवोकेशन लॉगिंग के माध्यम से। प्रतिबंधित (व्यापार रहस्य, विनियमित PHI/PCI) → Bedrock से पूरी तरह से ब्लॉक करें या Bedrock-योग्य अनुपालन व्यवस्था का उपयोग करें + इन्वोक करने से पहले redact करें।
बहु-खाता संगठन चाहता है कि खाता A एक कस्टम Bedrock मॉडल को खाता B के साथ वेट्स कॉपी किए बिना साझा करे।
AWS RAM के माध्यम से कस्टम मॉडल साझाकरण। मालिक कस्टम मॉडल ARN साझा करता है; उपभोक्ता खाते संसाधन नीति पर क्रॉस-अकाउंट IAM प्रिंसिपल के साथ मानक Bedrock रनटाइम के माध्यम से इसे इन्वोक करते हैं।
क्यों: अनावश्यक फाइन-ट्यूनिंग लागत से बचाता है और मॉडल जीवनचक्र को केंद्रीकृत करता है। RAM नियंत्रित करता है कि साझा संसाधन का उपभोग कौन कर सकता है।
उच्च-मात्रा वाला खोज ऐप हर क्वेरी ताज़ा करने पर उन्हीं दस्तावेज़ों को फिर से एम्बेड करता है; एम्बेडिंग लागत हावी होती है।
दस्तावेज़ इन्जेस्ट पर एम्बेडिंग की पूर्व-गणना करें, वेक्टर को DynamoDB या OpenSearch में दस्तावेज़ id + कंटेंट हैश द्वारा कुंजीबद्ध करके संग्रहीत करें। केवल तभी फिर से एम्बेड करें जब कंटेंट हैश बदलता है।
क्यों: एक ही टेक्स्ट को बार-बार एम्बेड करना सबसे आम टाली जा सकने वाली लागत है। हैश-कुंजीबद्ध कैश एक O(1) स्किप है।
एक फाइन-ट्यून किए गए मॉडल पर GDPR भूल जाने का अधिकार: उपयोगकर्ता प्रशिक्षण डेटा से अपने PII को हटाने का अनुरोध करता है।
प्रशिक्षण कॉर्पस से रिकॉर्ड हटाएँ, फिर स्क्रैच से एक नया बेस मॉडल फाइन-ट्यून करें। मौजूदा वेट्स से डेटा को मज़बूती से स्क्रब नहीं किया जा सकता है - आउटपुट फ़िल्टरिंग पर्याप्त नहीं है।
क्यों: एक बार जब वेट प्रशिक्षण डेटा को सोख लेते हैं, तो इन्फरेंस पर मास्किंग अविश्वसनीय होती है। बचाव योग्य मार्ग प्रभावित रिकॉर्ड के बिना पूर्ण रिट्रेनिंग है।
साझा KB कई टीमों को सेवा प्रदान करता है; प्रत्येक टीम को केवल अपने दस्तावेज़ देखने चाहिए।
इन्जेस्ट पर प्रत्येक चंक को `tenant_id` / `team_id` / `clearance` मेटाडेटा के साथ टैग करें। क्वेरी समय पर `retrievalConfiguration.vectorSearchConfiguration.filter` को IAM सत्र या ऐप संदर्भ से कॉलर के अनुमत मानों पर सेट करें।
क्यों: वेक्टर समानता एक्सेस कंट्रोल को अनदेखा करती है; साझा KB में मेटाडेटा फ़िल्टरिंग ही एकमात्र टिकाऊ प्रति-किरायेदार अलगाव है।
EU ग्राहक की आवश्यकता है कि प्रॉम्प्ट और KB एम्बेडिंग कभी भी eu-west-1 से बाहर न निकलें।
eu-west-1 में Bedrock + KB + S3 स्रोत बकेट तैनात करें। eu-west-1 तक सीमित इन्फरेंस प्रोफाइल ARN के माध्यम से इनवोकेशन को पिन करें; अन्य क्षेत्रों के लिए `bedrock:*` पर SCP `aws:RequestedRegion` अस्वीकार करें।
बहु-चरणीय कार्यप्रवाह को LLM तर्क, बाहरी API/डेटाबेस पर कॉल और संश्लेषण की आवश्यकता है।
Amazon Bedrock Agent। निर्देश, एक्शन ग्रुप (Lambda + OpenAPI स्कीमा), और एक वैकल्पिक KB परिभाषित करें। एजेंट योजना बनाता है, टूल को इन्वोक करता है, और परिणामों को जोड़ता है।
क्यों: ऑर्केस्ट्रेशन लूप को स्वयं लिखने से बचाता है। बिल्ट-इन ट्रेस, सत्र मेमोरी और रिटर्न-ऑफ-कंट्रोल हुक।
Bedrock Agent को तीन आंतरिक API (CRM, इन्वेंट्री, भुगतान) को कॉल करना होगा।
प्रति API एक एक्शन ग्रुप परिभाषित करें। प्रत्येक एक्शन ग्रुप में इसके ऑपरेशनों का वर्णन करने वाली एक OpenAPI स्कीमा और एक Lambda फ़ंक्शन (या रिटर्न-ऑफ-कंट्रोल एंडपॉइंट) होता है जो कॉल निष्पादित करता है।
एजेंट को मानव/व्यवसाय पुष्टिकरण के बाद ही उच्च-जोखिम वाले ऑपरेशन (खाता हटाना, बड़े रिफंड) करने होंगे।
एक्शन ग्रुप को Return of Control (RoC) के साथ कॉन्फ़िगर करें। Bedrock प्रस्तावित कार्रवाई को इन्वोक करने के बजाय एप्लिकेशन को लौटाता है; एप्लिकेशन अनुमोदन के पीछे निष्पादन को नियंत्रित करता है और परिणाम फिर से सबमिट करता है।
क्यों: उच्च-जोखिम वाले चरणों को एजेंट रनटाइम से बाहर रखता है ताकि उन्हें निष्पादित होने से पहले ऑडिट किया जा सके या मानव-पुष्टि की जा सके।
एजेंट को एक उपयोगकर्ता सत्र के भीतर बारी-बारी से संदर्भ याद रखना चाहिए।
एजेंट के बिल्ट-इन सत्र विशेषताओं और प्रॉम्प्ट सत्र विशेषताओं का उपयोग करें। `sessionId` को InvokeAgent पर पास करें - Bedrock कॉन्फ़िगर किए गए निष्क्रिय टाइमआउट के लिए वार्तालाप स्थिति बनाए रखता है।
एजेंट को सत्रों में लौटने वाले उपयोगकर्ता के बारे में तथ्यों (पसंद, इतिहास) को याद रखना चाहिए और पुराने एक्सचेंजों को सारांशित करना चाहिए।
Bedrock Agent मेमोरी सक्षम करें। एजेंट `memoryId` के अनुसार सारांशित सत्र इतिहास को बनाए रखता है और भविष्य के इनवोकेशन पर इसे संदर्भ के रूप में फिर से चलाता है।
कार्यप्रवाह को एक शीर्ष-स्तरीय योजनाकार द्वारा समन्वित विशेष एजेंटों (अनुसंधान, कोड, बिलिंग) की आवश्यकता है।
Bedrock Agents मल्टी-एजेंट सहयोग: एक सुपरवाइज़र एजेंट और कई सहयोगी एजेंट परिभाषित करें। सुपरवाइज़र सहयोगी विवरणों के आधार पर उप-कार्यों को सौंपता है और परिणामों को संश्लेषित करता है।
एक बहु-चरणीय पाइपलाइन की आवश्यकता है: एक्सट्रैक्ट → क्लासिफाई → रूट → सारांशित करें, सशर्त शाखाओं के साथ।
Amazon Bedrock Prompt Flows। प्रॉम्प्ट नोड्स, कंडीशन नोड्स, KB नोड्स, Lambda नोड्स के साथ विज़ुअल वर्कफ़्लो; एकल API के रूप में संस्करणित और इनवोक करने योग्य।
क्यों: प्रॉम्प्ट पाइपलाइन के लिए हैंड-रोल्ड Step Functions को बदलता है और एक प्रवेश बिंदु को उजागर करता है।
बहु-किरायेदार SaaS: प्रति-किरायेदार सिस्टम प्रॉम्प्ट, मॉडल प्राथमिकताएँ और संस्करणीकरण।
Amazon Bedrock Prompt Management। प्रॉम्प्ट को संस्करणित, पैरामीटराइज़्ड एसेट के रूप में संग्रहीत करें; रनटाइम पर ARN द्वारा संदर्भ लें; प्रति किरायेदार विभिन्न संस्करणों का A/B परीक्षण करें।
ऐप को Claude, Llama, Titan, और Cohere के साथ एक चैट-शैली API सतह के साथ काम करना चाहिए।
Bedrock Converse API का उपयोग करें। मॉडल परिवारों में एकीकृत संदेश-सूची प्रारूप, टूल उपयोग और सिस्टम प्रॉम्प्ट। पोर्टेबिलिटी मायने रखती है तो मॉडल-विशिष्ट InvokeModel JSON से बचें।
चैटबॉट को कथित विलंबता को कम करने के लिए प्रतिक्रियाओं को टोकन-बाय-टोकन दिखाना होगा।
ConverseStream (या InvokeModelWithResponseStream)। ब्राउज़र को टोकन वितरित करने के लिए API Gateway WebSocket या AppSync सब्सक्रिप्शन के साथ युग्मित करें।
वास्तविक-समय ग्राहक-सहायता चैट: प्रतिक्रिया स्ट्रीमिंग, 500 समवर्ती उपयोगकर्ता, वार्तालाप इतिहास।
ब्राउज़र ↔ API Gateway WebSocket ↔ Lambda ↔ Bedrock ConverseStream। `sessionId` द्वारा कुंजीबद्ध DynamoDB में वार्तालाप को बनाए रखें और प्रत्येक बारी पर पुनः लोड करें।
क्यों: WebSocket HTTP पोलिंग से बचाता है; DynamoDB सत्र स्टोर Lambda की स्टेटलेसनेस को जीवित रखता है।
मॉडल को यह तय करने की आवश्यकता है कि फ़ंक्शन (डेटाबेस लुकअप, कैलकुलेटर, API) को कब कॉल करना है।
Converse API टूल उपयोग (`toolConfig`) का उपयोग करें - नाम + JSON स्कीमा के साथ टूल घोषित करें; मॉडल `toolUse` ब्लॉक उत्सर्जित करता है; ऐप निष्पादित करता है और `toolResult` लौटाता है। Claude, Llama, Mistral, Cohere Command R पर काम करता है।
तृतीय-पक्ष प्रणाली में नया टिकट → स्वचालित Bedrock विश्लेषण (भावना, तात्कालिकता, श्रेणी) → रूटिंग।
Webhook → API Gateway → EventBridge → Lambda लक्ष्य → Bedrock। EventBridge उत्पादकों को उपभोक्ताओं से अलग करता है और मुफ्त में पुन: प्रयास + DLQ देता है।
कई माइक्रोसेवाएं Bedrock जनरेशन अनुरोध सबमिट करती हैं; उपभोक्ताओं को तुरंत परिणामों की आवश्यकता नहीं होती है।
उत्पादक → SQS → Lambda (या ECS) उपभोक्ता → Bedrock InvokeModel → S3/DynamoDB में परिणाम संग्रहीत करें। SQS स्पाइक्स को सुचारू करता है और सेवा कोटे के भीतर विफलताओं को पुनः प्रयास करता है।
रात में 100,000 SKUs के लिए विवरण जनरेट करें; विलंबता सहिष्णु; सबसे कम लागत चाहते हैं।
Amazon Bedrock Batch Inference। S3 में इनपुट JSONL सबमिट करें, Bedrock ऑन-डिमांड की तुलना में 50% कम प्रति-टोकन लागत पर कार्य चलाता है, आउटपुट JSONL लिखता है।
क्यों: बैच लागत के लिए विलंबता का व्यापार करता है। इसका उपयोग तब करें जब वास्तविक समय में परिणामों की आवश्यकता न हो।
Lambda + Bedrock के सामने API Gateway लंबी जनरेशन पर 504 Gateway Timeout लौटाता है।
API Gateway REST इंटीग्रेशन टाइमआउट 29 सेकंड पर कैप होता है। एसिंक पैटर्न (जॉब आईडी लौटाएँ, दूसरे एंडपॉइंट के माध्यम से पोल करें) पर स्विच करें या API Gateway WebSocket + ConverseStream पर स्विच करें ताकि आंशिक टोकन टाइमआउट विंडो से पहले प्रवाहित हों।
उच्च गुणवत्ता के साथ उप-सेकंड संदेश का अंग्रेजी में अनुवाद।
बारीकियों के लिए Bedrock के माध्यम से फाउंडेशन मॉडल (Claude Haiku या Llama small), या Amazon Translate गति/लागत के लिए जब शाब्दिक अनुवाद पर्याप्त हो। संदर्भ-जागरूक के लिए Bedrock; लेनदेन के लिए Translate।
किल-स्विच क्षमता के साथ उत्पादन ट्रैफ़िक को धीरे-धीरे मॉडल A से मॉडल B में स्थानांतरित करें।
AWS AppConfig फ़ीचर फ़्लैग जो सक्रिय-मॉडल पहचानकर्ता और ट्रैफ़िक विभाजन को रखता है। Lambda प्रति इनवोकेशन फ़्लैग पढ़ता है, तदनुसार रूट करता है। AppConfig डिप्लॉयमेंट रोलबैक के माध्यम से तुरंत रोल बैक करें।
फाउंडेशन मॉडल होस्ट करने के लिए Bedrock और SageMaker JumpStart के बीच निर्णय लें।
Bedrock जब आप प्रबंधित इन्फरेंस, एकीकृत API, KB/Agents/Guardrails चाहते हैं। SageMaker JumpStart जब आपको पूर्ण नेटवर्क/IAM नियंत्रण के साथ एक निजी VPC-होस्टेड एंडपॉइंट या Bedrock में नहीं मौजूद ओपन-वेट मॉडल की आवश्यकता हो।
OpenAPI जब अंतर्निहित API में पहले से ही OpenAPI 3.0 स्पेक हो या आपको पूर्ण HTTP सिमेंटिक्स (पाथ, मेथड, पैरामीटर प्रकार) की आवश्यकता हो। इनलाइन/लाइटवेट एक्शन के लिए फ़ंक्शन स्कीमा जिसे सरल JSON प्रॉपर्टी घोषणाओं के माध्यम से परिभाषित किया गया हो।
क्यों: OpenAPI मौजूदा REST API के लिए कैननिकल है। नए एजेंट-आंतरिक सहायकों के लिए फ़ंक्शन स्कीमा तेज़ है।
डिफ़ॉल्ट एजेंट प्रॉम्प्ट विस्तृत प्रतिक्रियाएँ उत्पन्न करते हैं; उत्पादन के लिए ऑर्केस्ट्रेशन प्रॉम्प्ट को कसने की आवश्यकता है।
प्रत्येक चरण (पूर्व-प्रसंस्करण, ऑर्केस्ट्रेशन, KB प्रतिक्रिया जनरेशन, पोस्ट-प्रसंस्करण) के लिए एजेंट पर प्रॉम्प्ट टेम्पलेट ओवरराइड कॉन्फ़िगर करें। ओवरराइड एजेंट के साथ संस्करणित होते हैं।
डेव में एक एजेंट पर पुनरावृति करें जबकि उत्पादन ट्रैफ़िक एक स्थिर संस्करण पर रहता है।
एजेंट संस्करणों और उपनामों का उपयोग करें। सक्रिय संपादनों के लिए `DRAFT`; क्रमांकित संस्करण प्रकाशित करें; उपनामों के माध्यम से रूट करें (`prod` → संस्करण 7, `dev` → DRAFT)। उपनाम को अपडेट करके बढ़ावा दें।
एजेंट गलत एक्शन ग्रुप चुनता है; तर्क को चरण-दर-चरण डीबग करने की आवश्यकता है।
InvokeAgent पर ट्रेस सक्षम करें (`enableTrace: true`)। प्रतिक्रिया स्ट्रीम में `preProcessingTrace`, `orchestrationTrace`, `postProcessingTrace`, और `failureTrace` ब्लॉक शामिल होते हैं जो मॉडल तर्क, टूल चयन और इनपुट दिखाते हैं।
"एंटिटीज़ निकालें → KB में देखें → सारांशित करें → ईमेल करें" के लिए एक Bedrock फ्लो बनाएँ।
नोड्स को संयोजित करें: प्रॉम्प्ट नोड (निकालें), नॉलेज-बेस नोड (देखें), प्रॉम्प्ट नोड (सारांशित करें), Lambda नोड (SES के माध्यम से ईमेल भेजें)। बैच फ्लो के लिए S3 इनपुट/आउटपुट नोड्स का उपयोग करें; ब्रांचिंग के लिए कंडीशन नोड्स का उपयोग करें।
बहु-चरणीय GenAI पाइपलाइन के लिए Bedrock Flows बनाम Step Functions चुनें।
Bedrock Flows जब चरण ज्यादातर Bedrock प्रिमिटिव (प्रॉम्प्ट, KBs, एजेंट) हों - एकल-API इनवोकेशन, कोई अतिरिक्त IAM ग्लू नहीं। Step Functions जब वर्कफ़्लो कई AWS सेवाओं में फैलते हैं जिनमें रिट्रीज, समानांतर शाखाएँ, जटिल त्रुटि हैंडलिंग, या लंबे समय तक चलने वाले इंतजार होते हैं।
एक चैट लूप लागू करें जहां मॉडल पुनरावृत्ति से टूल को कॉल करता है, फिर अंतिम उत्तर तैयार करता है।
पैटर्न: उपयोगकर्ता संदेश भेजें → मॉडल `toolUse` लौटाता है → ऐप टूल निष्पादित करता है → ऐप Converse के माध्यम से `toolResult` वापस भेजता है → लूप तब तक चलता है जब तक मॉडल अंतिम टेक्स्ट नहीं लौटाता। रनवे को रोकने के लिए पुनरावृति को कैप करें।
क्यों: मॉडल तय करता है कि उसके पास कब रुकने के लिए पर्याप्त जानकारी है; ऐप को लूप चलाना चाहिए और अधिकतम-चरण सीमा लागू करनी चाहिए।
मॉडल को ग्राहक + ऑर्डर + इन्वेंट्री को देखने की आवश्यकता है; अनुक्रमिक टूल कॉल 3× विलंबता जोड़ते हैं।
समांतर टूल उपयोग का समर्थन करने वाले मॉडल (Claude 3+, Nova) एक बारी में कई `toolUse` ब्लॉक उत्सर्जित करते हैं। उन्हें ऐप में समवर्ती रूप से निष्पादित करें और अगले इन्फरेंस से पहले सभी `toolResult`s लौटाएँ।
स्टैटलेस Lambda इनवोकेशन में मल्टी-टर्न चैट स्थिति को बनाए रखें और पुराने सत्रों का ऑटो-क्लीनअप करें।
`sessionId` द्वारा कुंजीबद्ध DynamoDB टेबल जिसमें `messages` + `lastActivity` संग्रहीत हैं। 24 घंटे से अधिक पुराने सत्रों को स्वतः हटाने के लिए TTL विशेषता (`expiresAt`) सेट करें। Lambda प्रति बारी पढ़ता/लिखता है।
चैट में ~1000 QPS दिखते हैं; सत्र इतिहास पर प्रति-बारी DynamoDB रीड्स एक हॉटस्पॉट हैं।
DynamoDB को Redis के लिए ElastiCache के साथ सामने रखें। Redis हैश में प्रति सत्र अंतिम N संदेशों को कैश करें; स्थायित्व के लिए DynamoDB पर राइट-थ्रू करें। मेमोरी को बांधने के लिए TTL Redis कुंजियाँ।
Bedrock InvokeModel कॉल पर पुन: प्रयास करने से एक ही तार्किक अनुरोध के लिए दो बार बिलिंग का जोखिम होता है।
प्रति तार्किक अनुरोध एक idempotency कुंजी जनरेट करें (जैसे इनपुट + उपयोगकर्ता का UUID v5)। DynamoDB या ElastiCache में idempotency कुंजी द्वारा कुंजीबद्ध प्रतिक्रिया को कैश करें; पुन: प्रयास पर कैश की गई प्रतिक्रिया लौटाएँ।
क्यों: Bedrock स्वयं गैर-आईडेम्पोटेंट है - प्रत्येक कॉल पर समान इनपुट का बिल भेजा जाता है। ऐप-लेयर कैशिंग ही एकमात्र आईडेम्पोटेंसी कहानी है।
माइग्रेशन के दौरान दो उत्पादन मॉडल संस्करण चलाएँ बिना सभी उपयोगकर्ताओं को एक साथ स्विच किए।
उपयोगकर्ता आईडी को N बकेट में हैश करें; एक फ़ीचर फ़्लैग (AppConfig / Parameter Store) के आधार पर बकेट i को मॉडल A या मॉडल B पर रूट करें। साइड-बाय-साइड मेट्रिक्स की निगरानी करें; आगे या पीछे रोल करने के लिए बकेट असाइनमेंट को स्थानांतरित करें।
AI सुरक्षा, संरक्षा, और गवर्नेंस
ग्राहक-सामना करने वाले चैटबॉट को हानिकारक सामग्री, अस्वीकृत विषयों, PII रिसाव को ब्लॉक करना चाहिए।
Amazon Bedrock Guardrails। अस्वीकृत विषय, सामग्री फ़िल्टर (घृणा, हिंसा, यौन, अपमान, दुराचार), शब्द फ़िल्टर, संवेदनशील-जानकारी फ़िल्टर (PII redaction), और प्रासंगिक ग्राउंडिंग जाँच कॉन्फ़िगर करें। InvokeModel इनपुट और आउटपुट पर लागू करें।
क्यों: गार्डरेल्स मॉडल-अज्ञेयवादी होते हैं और दोनों दिशाओं में लागू होते हैं; वे किसी भी एकल मॉडल स्वैप से अधिक समय तक चलते हैं।
गार्डरेल उन वैध वित्तीय प्रतिक्रियाओं को ब्लॉक करता है जिनमें डॉलर की मात्रा का उल्लेख होता है।
प्रभावित सामग्री फ़िल्टर पर संवेदनशीलता स्तर को कम करें (जैसे `MEDIUM` → `LOW`) और/या अत्यधिक व्यापक अस्वीकृत-विषय वाक्यांश को हटा दें। पुनः तैनात करने से पहले एक बेंचमार्क प्रॉम्प्ट सेट के खिलाफ फिर से परीक्षण करें।
मेडिकल-सारांश ऐप को स्रोत दस्तावेज़ों से परे तथ्य नहीं गढ़ना चाहिए।
उच्च प्रासंगिकता + ग्राउंडिंग थ्रेशोल्ड के साथ Bedrock Guardrails प्रासंगिक ग्राउंडिंग जाँच सक्षम करें। थ्रेशोल्ड से नीचे की प्रतिक्रियाएँ ब्लॉक कर दी जाती हैं या एक सुरक्षित-डिफ़ॉल्ट संदेश से बदल दी जाती हैं।
क्यों: जब मॉडल पुनर्प्राप्त चंक से अति-सामान्यीकरण करता है तो शुद्ध RAG अभी भी भ्रमित होता है। प्रासंगिक ग्राउंडिंग प्रति प्रतिक्रिया उत्तर-बनाम-स्रोत संरेखण को स्कोर करती है।
Bedrock ऐप को ग्राहक PII वाले प्रॉम्प्ट प्राप्त होते हैं; लॉगिंग या डाउनस्ट्रीम उपयोग से पहले स्वचालित मास्किंग की आवश्यकता है।
PII एंटिटी प्रकारों (SSN, ईमेल, फ़ोन, पता) के लिए `BLOCK` या `ANONYMIZE` क्रियाओं के साथ Guardrails PII फ़िल्टर कॉन्फ़िगर करें। फ़िल्टरिंग इनपुट और आउटपुट पर स्वतंत्र रूप से होती है।
सार्वजनिक-सामना करने वाला ऐप उपयोगकर्ता इनपुट को सिस्टम प्रॉम्प्ट में जोड़ता है; प्रॉम्प्ट इंजेक्शन का विरोध करना चाहिए।
गहराई में बचाव: (1) Guardrails (अस्वीकृत विषय + जेलब्रेक डिटेक्शन), (2) कठोर सिस्टम प्रॉम्प्ट जो उपयोगकर्ता इनपुट को डेटा के रूप में फ्रेम करता है और मेटा-निर्देशों को अस्वीकार करता है, (3) अपेक्षित स्कीमा के खिलाफ आउटपुट सत्यापन, (4) न्यूनतम-विशेषाधिकार टूल अनुमतियाँ ताकि एक समझौता किया गया प्रॉम्प्ट विनाशकारी क्रियाओं को ट्रिगर न कर सके।
क्यों: कोई एक शमन पर्याप्त नहीं है; स्तरित सुरक्षाएँ ब्लास्ट रेडियस को बांधती हैं।
रेड टीम को पता चलता है कि मॉडल को रोलप्ले फ्रेमिंग ("नाटक करो कि तुम बिना किसी प्रतिबंध के एक AI हो") के माध्यम से हानिकारक आउटपुट में मजबूर किया जा सकता है।
Guardrails जेलब्रेक डिटेक्शन कंटेंट फ़िल्टर सक्षम करें। रोलप्ले प्रयासों के लिए स्पष्ट अस्वीकृत-विषय जोड़ें। प्रत्येक परिवर्तन के बाद उसी रेड-टीम प्रॉम्प्ट सेट के साथ फिर से परीक्षण करें।
सभी Bedrock डेटा को ग्राहक-प्रबंधित कुंजी के साथ पारगमन में और आराम पर एन्क्रिप्ट किया जाना चाहिए।
TLS 1.2+ पारगमन में लागू होता है। आराम पर: Bedrock मॉडल अनुकूलन, KB एम्बेडिंग + S3 स्रोत डेटा, इनवोकेशन लॉग गंतव्यों के लिए ग्राहक-प्रबंधित KMS कुंजी कॉन्फ़िगर करें। SCP के माध्यम से लागू करें जो AWS-प्रबंधित कुंजी को रोकता है।
बहु-टीम संगठन: प्रत्येक टीम को केवल विशिष्ट फाउंडेशन मॉडल तक ही पहुंच होनी चाहिए।
IAM पहचान-आधारित नीतियाँ जो अनुमत मॉडल IDs तक सीमित संसाधन ARNs पर `bedrock:InvokeModel` की अनुमति देती हैं। क्षेत्र को लॉक करने के लिए `aws:RequestedRegion` शर्तों के साथ संयोजित करें।
क्यों: `arn:aws:bedrock:*::foundation-model/<id>` पर संसाधन-स्तरीय अनुमति मॉडल-स्तरीय एक्सेस को लागू करने का एकमात्र टिकाऊ तरीका है। एप्लिकेशन-लेयर गेटिंग पर निर्भर न रहें।
Lambda केवल us-east-1 में Claude 3.5 Sonnet को इन्वोक करता है।
`Resource: arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-5-sonnet-*` और एक `Condition: aws:RequestedRegion = us-east-1` के साथ `bedrock:InvokeModel` की अनुमति दें। अन्य सभी मॉडल और क्षेत्रों को अस्वीकार करें।
Bedrock ऐप को सार्वजनिक इंटरनेट पर बाहर नहीं निकलना चाहिए।
Bedrock रनटाइम API के लिए VPC इंटरफ़ेस एंडपॉइंट्स (PrivateLink) के साथ। SCP के माध्यम से सार्वजनिक Bedrock एंडपॉइंट्स को ब्लॉक करें। एक एंडपॉइंट नीति जोड़ें जो अनुमत सेट तक क्रियाओं को सीमित करती है।
नियामक को प्रत्येक Bedrock मॉडल इनवोकेशन का एक पूर्ण ऑडिट ट्रेल चाहिए: प्रॉम्प्ट, प्रतिक्रिया, मॉडल संस्करण, टाइमस्टैम्प।
CloudWatch Logs या S3 पर Bedrock मॉडल इनवोकेशन लॉगिंग सक्षम करें। पूर्ण प्रॉम्प्ट + प्रतिक्रिया + मॉडल आईडी + टाइमस्टैम्प कैप्चर करता है। API-कॉल मेटाडेटा परत (कौन/कब/कहां से) के लिए CloudTrail के साथ युग्मित करें।
क्यों: CloudTrail केवल मेटाडेटा कैप्चर करता है; इनवोकेशन लॉगिंग सामग्री कैप्चर करती है। अनुपालन के लिए आमतौर पर दोनों की आवश्यकता होती है।
API Gateway के पीछे GenAI API एंडपॉइंट को दुरुपयोग से बचाएं।
दर-आधारित नियमों (प्रति IP), बॉट-कंट्रोल प्रबंधित नियम सेट, और संदिग्ध जेलब्रेक वाक्यांशों पर एक कस्टम स्ट्रिंग-मैच नियम के साथ AWS WAF। सामान्य LLM-DDoS पैटर्न (लंबे-प्रॉम्प्ट फ्लड्स) को ब्लॉक करें।
मार्केटिंग चैटबॉट को प्रतिस्पर्धियों का नाम नहीं लेना चाहिए और अप्रमाणित दावे नहीं करने चाहिए।
Guardrails अस्वीकृत विषय: प्रतिस्पर्धियों के नामों की स्पष्ट सूची + विषय-स्तरीय "अपुष्ट उत्पाद दावे"। पूर्ण दावों ("गारंटीकृत", "सर्वश्रेष्ठ", "100%") के लिए एक शब्द फ़िल्टर जोड़ें।
गैर-Bedrock मॉडल (जैसे सेल्फ-होस्टेड SageMaker एंडपॉइंट) से आउटपुट पर एक Bedrock Guardrail लागू करें।
टेक्स्ट + गार्डरेल आईडी + संस्करण के साथ स्टैंडअलोन `ApplyGuardrail` API को कॉल करें। लौटाता है कि सामग्री ब्लॉक की गई थी या संशोधित की गई थी, किन फ़िल्टरों के साथ।
क्यों: गार्डरेल्स को मॉडल से अलग करता है। उपयोगकर्ता इनपुट पर पूर्व-जाँच के रूप में या किसी भी मॉडल आउटपुट पर पोस्ट-जाँच के रूप में उपयोग करें।
एकल गार्डरेल नीति को us-east-1, eu-west-1, और ap-southeast-1 में लागू होना चाहिए।
प्रत्येक क्षेत्र में एक ही गार्डरेल (समान कॉन्फ़िगरेशन) को फिर से बनाएँ। गार्डरेल्स क्षेत्रीय संसाधन हैं; कॉन्फ़िग्स को तालमेल में रखने के लिए IaC (CloudFormation / CDK / Terraform) का उपयोग करें।
क्यों: गार्डरेल्स के लिए कोई प्रबंधित क्रॉस-क्षेत्र प्रतिकृति नहीं है। IaC ही एकमात्र टिकाऊ संगतता कहानी है।
हमलावर सार्वजनिक-सामना करने वाले KB में दस्तावेज़ों को विषाक्त करता है ताकि एजेंट उन्हें पुनर्प्राप्त करते समय सिस्टम प्रॉम्प्ट या डेटा को लीक कर दे।
पुनर्प्राप्त KB सामग्री को अविश्वसनीय मानें: इनपुट और आउटपुट पर गार्डरेल्स सक्षम करें, प्रॉम्प्ट-इंजेक्शन डिटेक्शन या पैटर्न-मैचिंग के माध्यम से पुनर्प्राप्त चंक को साफ करें, एजेंट एक्शन ग्रुप्स पर न्यूनतम-विशेषाधिकार लागू करें ताकि एक समझौता किया गया प्रॉम्प्ट बढ़ न सके।
क्यों: अप्रत्यक्ष इंजेक्शन इनपुट फ़िल्टरिंग को बायपास करता है - दुर्भावनापूर्ण प्रॉम्प्ट पुनर्प्राप्त संदर्भ के माध्यम से आता है, न कि उपयोगकर्ता संदेश के माध्यम से।
एकल बैकएंड भूमिका वाले बहु-किरायेदार ऐप पर प्रति-उपयोगकर्ता मॉडल एक्सेस की आवश्यकता है।
AssumeRole के दौरान उपयोगकर्ता विशेषताओं को सत्र टैग के रूप में पास करें। प्रति उपयोगकर्ता `bedrock:InvokeModel` को गेट करने के लिए Bedrock पहचान नीति में `aws:PrincipalTag/<key>` शर्तों के माध्यम से उन्हें संदर्भित करें।
छोटे प्रॉम्प्ट/प्रतिक्रियाओं, तेज़ Logs Insights प्रश्नों, छोटे पैमाने के ऐप्स के लिए CloudWatch Logs। उच्च-मात्रा, बड़े पेलोड (KB + एजेंट ट्रेस), लंबी अवधि के प्रतिधारण, डाउनस्ट्रीम Athena/Glue विश्लेषण के लिए S3। यदि कोई एक प्रतिक्रिया 256 KB से अधिक हो सकती है तो S3 का उपयोग करें।
क्यों: CloudWatch Logs में प्रति-इवेंट आकार सीमाएँ होती हैं; S3 में कोई नहीं। पेलोड आकार और विश्लेषण पैटर्न द्वारा चुनें।
DDoS और बड़े पैमाने पर टोकन-बाढ़ के दुरुपयोग से एक सार्वजनिक चैट API को सुरक्षित करें।
AWS Shield Standard डिफ़ॉल्ट रूप से चालू है; L7 सुरक्षा + 24/7 SRT समर्थन के लिए महत्वपूर्ण एंडपॉइंट्स पर Shield Advanced सक्षम करें। किनारे पर अवशोषण के लिए WAF दर-आधारित नियमों और CloudFront के साथ युग्मित करें।
छवि-उत्पन्न करने वाले ऐप को यौन स्पष्ट, हिंसक, या घृणित इमेजरी को ब्लॉक करना चाहिए।
Bedrock Guardrails छवि सामग्री फ़िल्टर इनपुट (अपलोड की गई छवियों) और आउटपुट (जनरेट की गई छवियों) पर। फ़िल्टर उच्च/मध्यम/निम्न थ्रेशोल्ड के साथ दृश्य सामग्री को वर्गीकृत करते हैं।
ग्राहक सहायता प्रतिलेखों पर Bedrock मॉडल को फाइन-ट्यून करने से पहले वर्कफ़्लो।
पाइपलाइन: S3 स्रोत → PII की पहचान करने के लिए Macie डिस्कवरी जॉब → Comprehend PII डिटेक्शन + redaction (या regex के साथ Glue) → एक अलग S3 प्रीफ़िक्स में साफ़ किया गया डेटासेट → Bedrock फाइन-ट्यून। Macie विफलताओं से EventBridge → सुरक्षा ऑन-कॉल पर SNS ट्रिगर होता है।
क्यों: एक बार जब डेटा वेट में प्रवेश कर जाता है, तो हटाने के लिए रिट्रेनिंग की आवश्यकता होती है। पोस्ट-घटना रिट्रेनिंग की तुलना में प्री-फ़्लाइट redaction कहीं अधिक सस्ता है।
परिचालन दक्षता और ऑप्टिमाइज़ेशन
ऑन-डिमांड बनाम Provisioned Throughput चुनें।
परिवर्तनीय / अज्ञात ट्रैफ़िक → ऑन-डिमांड। गारंटीकृत थ्रूपुट SLA के साथ स्थिर उच्च-मात्रा → Provisioned Throughput (मॉडल इकाइयाँ, 1- या 6-महीने की प्रतिबद्धता)। कस्टम (फाइन-ट्यून किए गए, आयातित) मॉडल → Provisioned Throughput अनिवार्य है।
क्यों: ऑन-डिमांड प्रति-टोकन है, कोई प्रतिबद्धता नहीं। PT प्रति-घंटा है, समर्पित क्षमता, उच्च उपयोग पर प्रति टोकन ~50% सस्ता।
ऐप सभी उपयोगकर्ता इंटरैक्शन में उसी 4,000-टोकन सिस्टम प्रॉम्प्ट का पुन: उपयोग करता है; केवल उपयोगकर्ता संदेश बदलता है।
Bedrock प्रॉम्प्ट कैशिंग सक्षम करें। स्थिर प्रीफ़िक्स को कैशेबल के रूप में चिह्नित करें; बाद के इनवोकेशन इसे ~5-मिनट के कैश TTL के लिए फिर से संसाधित करना छोड़ देते हैं, कैश्ड टोकन पर प्रति-कॉल लागत ~90% कम करते हैं।
कई उपयोगकर्ता समान लेकिन समान नहीं प्रश्न पूछते हैं; पैराफ्रेज़ के पार उत्तरों को कैश करना चाहते हैं।
उपयोगकर्ता क्वेरी को एम्बेड करें और समानता थ्रेशोल्ड से ऊपर एक वेक्टर कैश (DynamoDB + ElastiCache, या OpenSearch) में निकटतम पड़ोसियों को देखें। कैश हिट → संग्रहीत प्रतिक्रिया लौटाएँ। कैश मिस → Bedrock को इन्वोक करें और वापस लिखें।
क्यों: मानक कुंजी-मूल्य कैश पैराफ्रेज़ को छोड़ देते हैं। सिमेंटिक समानता इरादे को कैप्चर करती है।
एक Bedrock ऐप पर प्रति-कॉल लागत कम करें।
सिस्टम प्रॉम्प्ट को कसें, अनावश्यक फ़्यू-शॉट उदाहरण छोड़ें, आउटपुट पर स्पष्ट `maxTokens` सेट करें, जल्दी समाप्त करने के लिए स्टॉप सीक्वेंस का उपयोग करें। जहां गुणवत्ता अनुमति देती है वहां एक छोटा मॉडल चुनें।
क्यों: लागत संसाधित कुल टोकन के लगभग आनुपातिक है। आउटपुट टोकन आमतौर पर इनपुट टोकन की तुलना में अधिक महंगे होते हैं - आउटपुट को कैप करना उच्च-लाभकारी है।
कोड पूर्णता: उप-सेकंड विलंबता, संतुलित लागत, उच्च अनुरोध मात्रा।
Bedrock पर Claude Haiku (या Nova Micro / Llama small)। विलंबता-संवेदनशील टोकन-पूर्णता पथों के लिए Opus या बड़े Llama से बचें।
KB में 500K दस्तावेज़ हैं लेकिन केवल ~200 क्वेरी/दिन; लागत कम करें।
pgvector के साथ Aurora PostgreSQL Serverless v2। निष्क्रिय होने पर लगभग शून्य ACUs तक स्केलेबल; पे-पर-क्वेरी मॉडल कम QPS पर हमेशा-चालू OpenSearch Serverless OCU फ्लोर को मात देता है।
OpenSearch Serverless KB में 800ms क्वेरी विलंबता है; <200ms की आवश्यकता है।
खोज संग्रह पर OCU फ्लोर बढ़ाएँ (अधिक कंप्यूट = अधिक कैश्ड वेक्टर)। एम्बेडिंग आयाम कम करें, top-k को कसकर बढ़ाएँ, मेटाडेटा छाँटें, एप्लिकेशन परत पर परिणाम कैशिंग सक्षम करें।
लंबे समय तक चलने वाली फाइन-ट्यूनिंग जॉब्स जो रुकावट को सहन करती हैं; लागत कम करें।
SageMaker फाइन-ट्यूनिंग के लिए Managed Spot Training (90% तक छूट) का उपयोग करें। Bedrock की मूल फाइन-ट्यूनिंग केवल ऑन-डिमांड है - जब बजट हावी हो तो स्पॉट-योग्य कस्टम प्रशिक्षण के लिए SageMaker JumpStart चुनें।
टीमों या उत्पाद लाइनों में Bedrock खर्च आवंटित करें।
Bedrock संसाधनों (Provisioned Throughput, कस्टम मॉडल, एप्लिकेशन स्टैक) पर लागत-आवंटन टैग लागू करें। बिलिंग → कॉस्ट एलोकेशन टैग्स में टैग सक्रिय करें। रिपोर्ट प्रति टैग टूट जाती है।
सबसे छोटे सक्षम मॉडल (Titan Text Lite, Claude Haiku, या Nova Micro) के साथ Bedrock ऑन-डिमांड। Lambda + API Gateway HTTP API। यदि FAQ सिस्टम प्रॉम्प्ट में फिट बैठता है तो कोई KB नहीं; यदि आवश्यक हो तो Aurora pgvector पर छोटा KB।
एक स्थिर-राज्य Bedrock वर्कलोड के लिए Provisioned Throughput का आकार निर्धारित करें।
शैडो ट्रैफ़िक पर पीक इनपुट + आउटपुट टोकन-प्रति-सेकंड को मापें। Bedrock प्रति-मॉडल इकाई थ्रूपुट प्रकाशित करता है; `ceil(peak TPS / per-unit TPS)` इकाइयाँ प्रदान करें। प्रतिबद्ध होने से पहले शैडो ट्रैफ़िक के साथ मान्य करें।
क्यों: कम-प्रावधान से थ्रॉटलिंग होती है; अधिक-प्रावधान से प्रति-घंटा प्रतिबद्धता बर्बाद होती है। शैडो ट्रैफ़िक पर अनुभवजन्य आकार निर्धारण ही एकमात्र विश्वसनीय दृष्टिकोण है।
एक साझा खाते में प्रति एप्लिकेशन या टीम Bedrock लागत आवंटित करें।
प्रति ऐप एप्लिकेशन इन्फरेंस प्रोफाइल बनाएँ, लागत-आवंटन टैग संलग्न करें (जैसे `application=chatbot-X`, `team=marketing`)। प्रत्येक इनवोकेशन प्रोफाइल ARN को संदर्भित करता है; कॉस्ट एक्सप्लोरर प्रति टैग खर्च को तोड़ता है।
सारांश कार्य पर तीन फाउंडेशन मॉडल की तुलना करें; स्वचालित, प्रतिलिपि प्रस्तुत करने योग्य मूल्यांकन चाहते हैं।
Amazon Bedrock मॉडल मूल्यांकन जॉब्स (स्वचालित)। एक प्रॉम्प्ट डेटासेट प्रदान करें; Bedrock प्रत्येक मॉडल को चलाता है और BLEU, ROUGE, BERTScore के साथ-साथ जहां लागू हो विषाक्तता/सटीकता की रिपोर्ट करता है।
ROUGE स्कोर उच्च दिखते हैं लेकिन मानव पाठक कहते हैं कि सारांश में मुख्य बिंदु छूट जाते हैं।
कस्टम मेट्रिक्स (प्रासंगिकता, पूर्णता, निष्ठा) के साथ Bedrock मानव-आधारित मूल्यांकन पर स्विच करें। एक रूब्रिक परिभाषित करें, एक कार्यबल को एक नमूना रूट करें, स्कोर एकत्र करें।
क्यों: लेक्सिकल-ओवरलैप मेट्रिक्स (BLEU, ROUGE) सिमेंटिक निष्ठा को छोड़ देते हैं। मानव मूल्यांकन व्यक्तिपरक कार्यों के लिए जमीनी सच्चाई है।
स्केल्ड, प्रतिलिपि प्रस्तुत करने योग्य मूल्यांकन की आवश्यकता है लेकिन केवल-मानव समीक्षा बहुत धीमी/महंगी है।
Bedrock LLM-एज़-ए-जज मूल्यांकन। एक मजबूत मॉडल एक रूब्रिक के खिलाफ प्रतिक्रियाओं को स्कोर करता है; परिणाम मानव समीक्षकों के साथ अच्छी तरह से सहसंबंधित होते हैं और दिनों के बजाय मिनटों में चलते हैं।
जनरेट किए गए पोर्टफोलियो सारांश को स्रोत दस्तावेज़ के आंकड़ों से बिल्कुल मेल खाना चाहिए।
जनरेशन को सीमित करें: कम तापमान (0-0.2), सख्त प्रॉम्प्ट निर्देश ("स्रोत से संख्याओं को यथावत उद्धृत करें"), आउटपुट पर Guardrails प्रासंगिक ग्राउंडिंग जाँच, जनरेशन के बाद regex/पार्सर जो स्रोत के मुकाबले संख्याओं को मान्य करता है।
क्यों: ग्राउंडेड RAG के साथ भी, मॉडल संख्याओं को पैराफ्रेज़ करते हैं। कई परतें (प्रॉम्प्ट + ग्राउंडिंग + पार्सर) अवशिष्ट मामलों को पकड़ती हैं।
RAG अक्सर "मेरे पास पर्याप्त जानकारी नहीं है" लौटाता है, भले ही KB में शामिल विषयों के लिए भी।
पुनर्प्राप्ति ट्रेसेस का निरीक्षण करें: चंक स्कोर, पुनर्प्राप्त चंक गणना, क्वेरी-टू-चंक संरेखण। सामान्य सुधार: हाइब्रिड खोज सक्षम करें, top-k बढ़ाएँ, चंक आकार ट्यून करें, सिमेंटिक चंकिंग पर स्विच करें, क्वेरी सुधार सक्षम करें, प्रासंगिकता थ्रेशोल्ड कम करें।
हाल ही में KB सिंक के बाद भी एजेंट पुरानी कीमत लौटाता है; डेटा स्रोत संस्करण के साथ S3 है।
पुष्टि करें कि नवीनतम IngestionJob `status: COMPLETE` है और `documentsModified` नए ऑब्जेक्ट्स को दर्शाता है। संस्करण का अर्थ है कि यदि डेटा स्रोत केवल वर्तमान संस्करणों तक सीमित नहीं है तो गैर-वर्तमान संस्करणों को अभी भी अनुक्रमित किया जा सकता है - डेटा स्रोत फ़िल्टर को सत्यापित करें और फिर से सिंक करें।
HR एजेंट कभी-कभी अन्य कर्मचारियों के वेतन की जानकारी चतुराई से पूछे जाने पर प्रकट करता है।
एजेंट के निर्देशों को कसें ("केवल अनुरोध करने वाले उपयोगकर्ता के अपने डेटा के बारे में उत्तर दें"), उपयोगकर्ता आईडी शामिल करने वाले सत्र विशेषताओं के माध्यम से एक्शन ग्रुप को गेट करें, एक्शन ग्रुप का समर्थन करने वाले Lambda पर IAM को केवल उपयोगकर्ता के अपने रिकॉर्ड को क्वेरी करने के लिए सीमित करें, क्रॉस-उपयोगकर्ता वेतन प्रश्नों पर Guardrails अस्वीकृत विषय जोड़ें।
Bedrock इनवोकेशन में रुक-रुक कर p95 विलंबता स्पाइक्स होते हैं।
CloudWatch `InvocationThrottles` (दर-सीमा हिट) और `ModelLatency` की जाँच करें; कॉलिंग Lambda पर AWS X-Ray ट्रेसिंग चालू करें; धीमी टूल कॉल या KB पुनर्प्राप्ति के लिए CloudWatch Logs Insights का निरीक्षण करें। क्रॉस-क्षेत्र इन्फरेंस, छोटे मॉडल, प्रॉम्प्ट कैशिंग, या बैचिंग के माध्यम से शमन करें।
Claude v2 से Claude 3.5 Sonnet में बिना किसी प्रतिगमन के माइग्रेट करें।
दोनों की तुलना करने के लिए एक प्रतिनिधि प्रॉम्प्ट सेट पर Bedrock मूल्यांकन जॉब चलाएँ। फिर उत्पादन में शैडो ट्रैफ़िक: दोनों को समान इनपुट भेजें, आउटपुट की ऑफ़लाइन तुलना करें। AppConfig फ़ीचर फ़्लैग के साथ 10% → 50% → 100% पर बढ़ावा दें।
प्रत्येक मॉडल-कॉन्फ़िग परिवर्तन पर CI/CD के हिस्से के रूप में Bedrock मॉडल मूल्यांकन चलाएँ।
`CreateEvaluationJob` API का उपयोग करें। S3 में डेटासेट, मूल्यांकनकर्ता (बिल्ट-इन या कस्टम), और लक्ष्य मॉडल परिभाषित करें। जॉब स्थिति को पोल करें; थ्रेशोल्ड से ऊपर मेट्रिक्स के साथ `COMPLETED` पर बढ़ावा दें।
क्यों: स्टूडियो UI वन-ऑफ के लिए है; API स्वचालित, दोहराने योग्य मूल्यांकन गेट्स का एकमात्र मार्ग है।
उत्पादन में फाउंडेशन मॉडल को अपग्रेड करते समय गुणवत्ता प्रतिगमन से बचें।
एक क्यूरेटेड रिग्रेशन टेस्ट सेट बनाए रखें: अपेक्षित आउटपुट (या रूब्रिक्स) के साथ 100-500 प्रतिनिधि प्रॉम्प्ट। प्रत्येक मॉडल स्वैप पर Bedrock मॉडल मूल्यांकन के माध्यम से चलाएँ। यदि स्कोर परिभाषित थ्रेशोल्ड से अधिक गिरते हैं तो पदोन्नति को ब्लॉक करें।
मापें कि क्या मॉडल टूल-उपयोग चैट में सही तर्कों के साथ सही टूल चुनता है।
एक लेबल किया गया सेट बनाएँ: प्रॉम्प्ट + अपेक्षित `toolUse` ब्लॉक। कस्टम मूल्यांकनकर्ता के माध्यम से चलाएँ जो वास्तविक बनाम अपेक्षित टूल नाम + JSON तर्कों का अंतर करता है। प्रति टूल सटीकता/रिकॉल को ट्रैक करें।
क्यों: लेक्सिकल मेट्रिक्स (BLEU) यह नहीं देख पाते कि एजेंट ने सही कार्रवाई की या नहीं। एजेंटिक वर्कलोड के लिए टूल-उपयोग सटीकता सही मीट्रिक है।