Question answering

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

तरीका: model.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. जवाब देने के लिए इस्तेमाल किए गए सोर्स. 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 अन्य वजहों से इनपुट को ब्लॉक किया गया.