Question answering

Semantic Retrieval API, सवालों के जवाब देने की होस्ट की गई सेवा उपलब्ध कराता है. इसकी मदद से, Google के इन्फ़्रास्ट्रक्चर का इस्तेमाल करके, रिट्रीवल ऑगमेंटेड जनरेशन (आरएजी) सिस्टम बनाए जा सकते हैं.

तरीका: models.generateAnswer

यह मॉडल, इनपुट 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 (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

पैसेज की दोहराई गई सूची.

फ़ील्ड
passages[] object (GroundingPassage)

पैसेज की सूची.

JSON के काेड में दिखाना
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}

GroundingPassage

ग्राउंडिंग कॉन्फ़िगरेशन के साथ इनलाइन में शामिल किया गया पैसेज.

फ़ील्ड
id string

इस पैसेज को आधारित जवाबों में एट्रिब्यूट करने के लिए, पैसेज का आइडेंटिफ़ायर.

content object (Content)

पैसेज का कॉन्टेंट.

JSON के काेड में दिखाना
{
  "id": string,
  "content": {
    object (Content)
  }
}

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 (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}

AnswerStyle

ज़्यादा जानकारी वाले जवाबों के लिए स्टाइल.

Enums
ANSWER_STYLE_UNSPECIFIED जवाब का स्टाइल तय नहीं किया गया.
ABSTRACTIVE कम शब्दों में, लेकिन अलग स्टाइल में.
EXTRACTIVE बहुत कम शब्दों में और जानकारी को हटाकर लिखा गया हो.
VERBOSE ज़्यादा जानकारी वाला स्टाइल. जवाब को वाक्य, पैराग्राफ़, एक से ज़्यादा पैराग्राफ़ या बुलेट पॉइंट वगैरह के तौर पर फ़ॉर्मैट किया जा सकता है.

InputFeedback

सवाल के जवाब के लिए इस्तेमाल किए गए इनपुट डेटा से जुड़ा सुझाव या राय. यह सुझाव या राय, सवाल के लिए मॉडल से जनरेट किए गए जवाब से अलग होती है.

फ़ील्ड
safetyRatings[] object (SafetyRating)

इनपुट की सुरक्षा के लिए रेटिंग. हर कैटगरी के लिए ज़्यादा से ज़्यादा एक रेटिंग दी जा सकती है.

blockReason enum (BlockReason)

ज़रूरी नहीं. अगर यह सेट है, तो इनपुट को ब्लॉक कर दिया गया था और कोई भी उम्मीदवार नहीं मिला. इनपुट को फिर से लिखें.

JSON के काेड में दिखाना
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}

BlockReason

इससे पता चलता है कि इनपुट को ब्लॉक करने की वजह क्या थी.

Enums
BLOCK_REASON_UNSPECIFIED डिफ़ॉल्ट मान. इस वैल्यू का इस्तेमाल नहीं किया जाता.
SAFETY सुरक्षा से जुड़ी वजहों से इनपुट को ब्लॉक कर दिया गया था. safetyRatings की जांच करके देखें कि सुरक्षा से जुड़ी किस कैटगरी ने इसे ब्लॉक किया है.
OTHER इनपुट को दूसरी वजहों से ब्लॉक किया गया था.