Semantic Retrieval API, सवालों के जवाब देने की होस्ट की गई सेवा उपलब्ध कराता है. इसकी मदद से, Google के इन्फ़्रास्ट्रक्चर का इस्तेमाल करके, रिट्रीवल ऑगमेंटेड जनरेशन (आरएजी) सिस्टम बनाए जा सकते हैं.
तरीका: models.generateAnswer
- एंडपॉइंट
- पाथ पैरामीटर
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- अनुमति पाने के लिंक
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
यह मॉडल, इनपुट GenerateAnswerRequest
के आधार पर सटीक जवाब जनरेट करता है.
एंडपॉइंट
पोस्टhttps://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer
पाथ पैरामीटर
model
string
ज़रूरी है. Model
का नाम, जिसका इस्तेमाल आधारित जवाब जनरेट करने के लिए किया जाएगा.
फ़ॉर्मैट: model=models/{model}
. यह models/{model}
फ़ॉर्मैट में होता है.
अनुरोध का मुख्य भाग
अनुरोध के मुख्य भाग में नीचे दिए गए स्ट्रक्चर वाला डेटा होता है:
contents[]
object (Content
)
ज़रूरी है. Model
के साथ मौजूदा बातचीत का कॉन्टेंट. एक बार में पूछी गई क्वेरी के लिए, यह एक सवाल होता है. एक से ज़्यादा बार पूछी गई क्वेरी के लिए, यह एक बार-बार इस्तेमाल होने वाला फ़ील्ड है. इसमें बातचीत का इतिहास और सवाल वाली सूची में मौजूद आखिरी Content
शामिल होता है.
ध्यान दें: models.generateAnswer
सिर्फ़ अंग्रेज़ी में की गई क्वेरी के साथ काम करता है.
answerStyle
enum (AnswerStyle
)
ज़रूरी है. जवाबों का स्टाइल.
safetySettings[]
object (SafetySetting
)
ज़रूरी नहीं. असुरक्षित कॉन्टेंट को ब्लॉक करने के लिए, यूनीक SafetySetting
इंस्टेंस की सूची.
यह GenerateAnswerRequest.contents
और GenerateAnswerResponse.candidate
पर लागू होगा. हर SafetyCategory
टाइप के लिए, एक से ज़्यादा सेटिंग नहीं होनी चाहिए. एपीआई, उन सभी कॉन्टेंट और रिस्पॉन्स को ब्लॉक कर देगा जो इन सेटिंग से तय किए गए थ्रेशोल्ड को पूरा नहीं करते. यह सूची, safetySettings में बताए गए हर SafetyCategory
के लिए डिफ़ॉल्ट सेटिंग को बदल देती है. अगर सूची में दी गई किसी SafetyCategory
के लिए कोई SafetySetting
नहीं है, तो एपीआई उस कैटगरी के लिए सुरक्षा की डिफ़ॉल्ट सेटिंग का इस्तेमाल करेगा. नुकसान पहुंचाने वाली कैटगरी HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT का इस्तेमाल किया जा सकता है. सुरक्षा से जुड़ी उपलब्ध सेटिंग के बारे में ज़्यादा जानकारी के लिए, गाइड देखें. अपने एआई ऐप्लिकेशन में सुरक्षा से जुड़ी बातों को शामिल करने का तरीका जानने के लिए, सुरक्षा से जुड़े दिशा-निर्देश भी देखें.
grounding_source
Union type
grounding_source
इनमें से कोई एक हो सकता है:inlinePassages
object (GroundingPassages
)
अनुरोध के मुताबिक दिए गए पैसेज.
semanticRetriever
object (SemanticRetrieverConfig
)
Semantic Retriever API की मदद से बनाए गए संसाधनों से मिला कॉन्टेंट.
temperature
number
ज़रूरी नहीं. इससे आउटपुट में रैंडमिटी को कंट्रोल किया जाता है.
वैल्यू [0.0,1.0] के बीच हो सकती हैं. 1.0 के करीब की वैल्यू से, अलग-अलग और क्रिएटिव जवाब मिलेंगे. वहीं, 0.0 के करीब की वैल्यू से, आम तौर पर मॉडल से आसान जवाब मिलेंगे. आम तौर पर, सवालों के जवाब देने वाले एट्रिब्यूट के इस्तेमाल के उदाहरणों के लिए, कम तापमान (~0.2) का सुझाव दिया जाता है.
जवाब का मुख्य भाग
सटीक जवाब के लिए मॉडल का जवाब.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
answer
object (Candidate
)
मॉडल से उम्मीदवार का जवाब.
ध्यान दें: मॉडल हमेशा सही जवाब देने की कोशिश करता है. भले ही, जवाब देने के लिए दिए गए पैसेज में जानकारी न हो. ऐसे में, आपको खराब क्वालिटी या बेबुनियाद जवाब मिल सकता है. साथ ही, answerableProbability
की वैल्यू भी कम हो सकती है.
answerableProbability
number
सिर्फ़ आउटपुट के लिए. मॉडल का अनुमान है कि उसका जवाब सही है और इनपुट पैसेज में मौजूद जानकारी पर आधारित है.
answerableProbability
का कम होना इस बात का संकेत है कि जवाब में भरोसेमंद सोर्स का हवाला नहीं दिया गया है.
जब answerableProbability
कम हो, तो:
- उपयोगकर्ता को "हम उस सवाल का जवाब नहीं दे सके" वाला मैसेज दिखाएं.
- सामान्य तौर पर इस्तेमाल होने वाले एलएलएम का इस्तेमाल करें, जो दुनिया के बारे में जानकारी से सवाल का जवाब दे. इस तरह के फ़ॉलबैक का थ्रेशोल्ड और टाइप, अलग-अलग इस्तेमाल के उदाहरणों पर निर्भर करेगा.
0.5
एक अच्छा थ्रेशोल्ड है.
inputFeedback
object (InputFeedback
)
सिर्फ़ आउटपुट के लिए. सवाल के जवाब के लिए इस्तेमाल किए गए इनपुट डेटा से जुड़ा सुझाव या राय. यह सुझाव या राय, सवाल के लिए मॉडल से जनरेट किए गए जवाब से अलग होती है.
इनमें से कोई एक या उससे ज़्यादा इनपुट डेटा हो सकता है:
GenerateAnswerRequest.content
में पिछली एंट्री से तय किया गया सवालGenerateAnswerRequest.content
में मौजूद अन्य एंट्री के हिसाब से बातचीत का इतिहास- ग्राउंडिंग सोर्स (
GenerateAnswerRequest.semantic_retriever
याGenerateAnswerRequest.inline_passages
)
JSON के काेड में दिखाना |
---|
{ "answer": { object ( |
GroundingPassages
पैसेज की दोहराई गई सूची.
passages[]
object (GroundingPassage
)
पैसेज की सूची.
JSON के काेड में दिखाना |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
Semantic Retriever API का इस्तेमाल करके बनाए गए Corpus
या Document
से, बुनियादी कॉन्टेंट को वापस पाने के लिए कॉन्फ़िगरेशन.
source
string
ज़रूरी है. वापस पाने के लिए रिसॉर्स का नाम. उदाहरण के लिए: corpora/123
या corpora/123/documents/abc
.
query
object (Content
)
ज़रूरी है. मिलते-जुलते Chunk
को मैच करने के लिए, दिए गए संसाधन में इस्तेमाल की जाने वाली क्वेरी.
metadataFilters[]
object (MetadataFilter
)
ज़रूरी नहीं. संसाधन से Document
और/या Chunk
चुनने के लिए फ़िल्टर.
maxChunksCount
integer
ज़रूरी नहीं. ज़्यादा से ज़्यादा कितने काम के Chunk
वापस लाए जाएं.
minimumRelevanceScore
number
ज़रूरी नहीं. काम के Chunk
को वापस लाने के लिए, कम से कम काम के स्कोर की ज़रूरत होती है.
JSON के काेड में दिखाना |
---|
{ "source": string, "query": { object ( |
AnswerStyle
ज़्यादा जानकारी वाले जवाबों के लिए स्टाइल.
Enums | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
जवाब का स्टाइल तय नहीं किया गया. |
ABSTRACTIVE |
कम शब्दों में, लेकिन अलग स्टाइल में. |
EXTRACTIVE |
बहुत कम शब्दों में और जानकारी को हटाकर लिखा गया हो. |
VERBOSE |
ज़्यादा जानकारी वाला स्टाइल. जवाब को वाक्य, पैराग्राफ़, एक से ज़्यादा पैराग्राफ़ या बुलेट पॉइंट वगैरह के तौर पर फ़ॉर्मैट किया जा सकता है. |
InputFeedback
सवाल के जवाब के लिए इस्तेमाल किए गए इनपुट डेटा से जुड़ा सुझाव या राय. यह सुझाव या राय, सवाल के लिए मॉडल से जनरेट किए गए जवाब से अलग होती है.
safetyRatings[]
object (SafetyRating
)
इनपुट की सुरक्षा के लिए रेटिंग. हर कैटगरी के लिए ज़्यादा से ज़्यादा एक रेटिंग दी जा सकती है.
blockReason
enum (BlockReason
)
ज़रूरी नहीं. अगर यह सेट है, तो इनपुट को ब्लॉक कर दिया गया था और कोई भी उम्मीदवार नहीं मिला. इनपुट को फिर से लिखें.
JSON के काेड में दिखाना |
---|
{ "safetyRatings": [ { object ( |
BlockReason
इससे पता चलता है कि इनपुट को ब्लॉक करने की वजह क्या थी.
Enums | |
---|---|
BLOCK_REASON_UNSPECIFIED |
डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया जाता. |
SAFETY |
सुरक्षा से जुड़ी वजहों से इनपुट को ब्लॉक कर दिया गया था. safetyRatings की जांच करके देखें कि सुरक्षा से जुड़ी किस कैटगरी ने इसे ब्लॉक किया है. |
OTHER |
इनपुट को दूसरी वजहों से ब्लॉक किया गया था. |