Question answering

तरीका: Model.generateAnswer

दिए गए इनपुट GenerateAnswerRequest मॉडल से, तथ्यों के साथ जवाब जनरेट करता है.

एंडपॉइंट

पोस्ट https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

पाथ पैरामीटर

model string

ज़रूरी है. तथ्यों के साथ जानकारी जनरेट करने के लिए, Model का नाम.

फ़ॉर्मैट: model=models/{model}. यह models/{model} का रूप लेता है.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:

फ़ील्ड
contents[] object (Content)

ज़रूरी है. मॉडल के साथ हुई मौजूदा बातचीत का कॉन्टेंट. बारी-बारी से पूछी जाने वाली क्वेरी के लिए, सिर्फ़ एक सवाल का जवाब दें. कई बार की जाने वाली क्वेरी के लिए, यह दोहराया गया फ़ील्ड होता है. इसमें बातचीत का इतिहास और सूची के आखिरी Content सवाल होते हैं.

ध्यान दें: मॉडल.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)

सिमैंटिक रिट्रीवर एपीआई की मदद से बनाए गए संसाधनों से मिला कॉन्टेंट.

temperature number

ज़रूरी नहीं. इससे आउटपुट की रैंडमनेस को कंट्रोल किया जाता है.

वैल्यू [0.0,1.0] तक की हो सकती हैं. इसमें ये भी शामिल हैं. वैल्यू का 1.0 के करीब होने पर, ऐसे रिस्पॉन्स मिलेंगे जो अलग-अलग और क्रिएटिव होंगे. वहीं, 0.0 के करीब वैल्यू देने पर, मॉडल से सीधे तौर पर जवाब मिलेगा. एट्रिब्यूट किए गए-सवाल-जवाब वाले इस्तेमाल के उदाहरणों के लिए, आम तौर पर कम तापमान (~0.2) का सुझाव दिया जाता है.

जवाब का मुख्य भाग

तथ्यों पर आधारित जवाब पाने के लिए मॉडल से मिला जवाब.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

फ़ील्ड
answer object (Candidate)

मॉडल में उम्मीदवार का जवाब.

ध्यान दें: मॉडल हमेशा तथ्यों पर आधारित जवाब देने की कोशिश करता है. भले ही, दिए गए पैसेज से कोई जवाब मिलने लायक न हो. ऐसे में, कम क्वालिटी के या बिना तथ्यों वाला जवाब दिया जा सकता है. साथ ही, कम answerableProbability की जानकारी दी जा सकती है.

answerableProbability number

सिर्फ़ आउटपुट के लिए. मॉडल का इस बात की संभावना का अनुमान कि इसका जवाब सही है और इनपुट पैसेज पर आधारित है.

जवाब देने की संभावना कम होने का मतलब है कि शायद जवाब, स्रोतों पर आधारित न हो.

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

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

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

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

GroundingPassage

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

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

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

content object (Content)

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

SemanticRetrieverConfig

सिमैंटिक रिट्रीवर एपीआई का इस्तेमाल करके बनाए गए Corpus या Document से ग्राउंडिंग कॉन्टेंट को वापस पाने का कॉन्फ़िगरेशन.

JSON के काेड में दिखाना
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}
फ़ील्ड
source string

ज़रूरी है. वापस पाने के लिए संसाधन का नाम, जैसे कि कॉर्पोरा/123 या कॉर्पोरा/123/दस्तावेज़/abc.

query object (Content)

ज़रूरी है. दिए गए संसाधन में, Chunk से मिलती-जुलती वैल्यू के लिए इस्तेमाल करने के लिए क्वेरी.

metadataFilters[] object (MetadataFilter)

ज़रूरी नहीं. रिसॉर्स से Document और/या Chunk चुनने के लिए फ़िल्टर.

maxChunksCount integer

ज़रूरी नहीं. वापस पाने के लिए, काम के Chunk की ज़्यादा से ज़्यादा संख्या.

minimumRelevanceScore number

ज़रूरी नहीं. वापस मिले काम के Chunk के लिए कम से कम प्रासंगिकता स्कोर.

AnswerStyle

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

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

InputFeedback

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

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

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

blockReason enum (BlockReason)

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

BlockReason

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

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