Method: answerQuery

भरोसेमंद सोर्स से जानकारी लेकर जवाब जनरेट करता है.

एचटीटीपी अनुरोध

POST https://developerknowledge.googleapis.com/v1:answerQuery

यह यूआरएल, gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.

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

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

JSON के काेड में दिखाना
{
  "query": string,
  "filter": string
}
फ़ील्ड
query

string

ज़रूरी है. जवाब देने के लिए क्वेरी.

filter

string

ज़रूरी नहीं. यह खोज के नतीजों पर एक सख्त फ़िल्टर लागू करता है. इन नतीजों का इस्तेमाल जवाब देने के लिए किया जाता है. एक्सप्रेशन, https://google.aip.dev/160 पर बताए गए सिंटैक्स के सबसेट के साथ काम करता है.

फ़िल्टर करने के लिए इस्तेमाल किए जा सकने वाले फ़ील्ड:

  • content_length_bytes (INTEGER): Document.content फ़ील्ड की लंबाई, बाइट में.
  • data_source (STRING): दस्तावेज़ का सोर्स, जैसे कि docs.cloud.google.com. कॉर्पस में मौजूद डेटा सोर्स की पूरी सूची देखने के लिए, https://developers.google.com/knowledge/reference/corpus-reference पर जाएं.
  • update_time (TIMESTAMP): यह वह टाइमस्टैंप होता है जब दस्तावेज़ को आखिरी बार अपडेट किया गया था. ज़रूरी अपडेट वह होता है जिससे दस्तावेज़ के मार्कडाउन कॉन्टेंट या मेटाडेटा में बदलाव होता है.
  • uri (STRING): दस्तावेज़ का यूआरआई, जैसे कि https://docs.cloud.google.com/bigquery/docs/tables.

INTEGER फ़ील्ड में =, <, <=, >, और >= ऑपरेटर इस्तेमाल किए जा सकते हैं.

STRING फ़ील्ड, पूरी स्ट्रिंग पर एग्ज़ैक्ट मैच के लिए = (बराबर है) और != (बराबर नहीं है) ऑपरेटर के साथ काम करते हैं. कुछ हद तक मैच करने, प्रीफ़िक्स से मैच करने, और रेगुलर एक्सप्रेशन से मैच करने की सुविधा काम नहीं करती.

TIMESTAMP फ़ील्ड में =, <, <=, >, और >= ऑपरेटर इस्तेमाल किए जा सकते हैं. टाइमस्टैंप, RFC-3339 फ़ॉर्मैट में होने चाहिए. उदाहरण के लिए, "2025-01-01T00:00:00Z".

AND, OR, और NOT (या -) लॉजिकल ऑपरेटर का इस्तेमाल करके, एक्सप्रेशन को एक साथ जोड़ा जा सकता है. OR को AND से ज़्यादा प्राथमिकता दी जाती है. ब्रैकेट का इस्तेमाल करके, प्राथमिकता के हिसाब से ग्रुप करें.

उदाहरण:

  • Document.content_length_bytes: content_length_bytes < 50000 के हिसाब से फ़िल्टर करें
  • data_source = "docs.cloud.google.com" OR data_source = "firebase.google.com"
  • data_source != "firebase.google.com"
  • update_time < "2024-01-01T00:00:00Z"
  • update_time >= "2025-01-22T00:00:00Z" AND (data_source = "developer.chrome.com" OR data_source = "web.dev")
  • uri = "https://docs.cloud.google.com/release-notes"

filter स्ट्रिंग में 500 से ज़्यादा वर्ण नहीं होने चाहिए. 500 से ज़्यादा वर्ण वाली वैल्यू से INVALID_ARGUMENT गड़बड़ी होगी.

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

DeveloperKnowledge.AnswerQuery के लिए जवाब का मैसेज.

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

JSON फ़ॉर्मैट में दिखाया गया है
{
  "answer": {
    object (Answer)
  }
}
फ़ील्ड
answer

object (Answer)

क्वेरी का जवाब.

अनुमति पाने के लिंक

इसके लिए, इनमें से किसी एक OAuth स्कोप की ज़रूरत होती है:

  • https://www.googleapis.com/auth/devprofiles.full_control
  • https://www.googleapis.com/auth/developerprofiles.readonly
  • https://www.googleapis.com/auth/cloud-platform

ज़्यादा जानकारी के लिए, OAuth 2.0 Overview देखें.

जवाब दें

क्वेरी का जवाब.

JSON के काेड में दिखाना
{
  "answerText": string,
  "citations": [
    {
      object (AnswerCitation)
    }
  ],
  "references": [
    {
      object (AnswerReference)
    }
  ]
}
फ़ील्ड
answerText

string

इसमें जवाब का टेक्स्ट होता है.

citations[]

object (AnswerCitation)

सिर्फ़ आउटपुट के लिए. इसमें जवाब के लिए उद्धरण शामिल होते हैं.

references[]

object (AnswerReference)

सिर्फ़ आउटपुट के लिए. इसमें जवाब के लिए रेफ़रंस शामिल होते हैं.

AnswerCitation

किसी सेगमेंट के लिए उद्धरण की जानकारी.

JSON के काेड में दिखाना
{
  "startIndex": integer,
  "endIndex": integer,
  "sources": [
    {
      object (CitationSource)
    }
  ]
}
फ़ील्ड
startIndex

integer

सिर्फ़ आउटपुट के लिए. यह सेगमेंट की शुरुआत को दिखाता है. इसे बाइट (UTF-8 यूनिकोड) में मापा जाता है. अगर मल्टी-बाइट वर्ण हैं, जैसे कि नॉन-ASCII वर्ण, तो इंडेक्स मेज़रमेंट, स्ट्रिंग की लंबाई से ज़्यादा होता है.

endIndex

integer

सिर्फ़ आउटपुट के लिए. यह सेगमेंट के खत्म होने की जगह को दिखाता है. इसे बाइट (UTF-8 यूनिकोड) में मापा जाता है. यह एक्सक्लूसिव होता है. अगर मल्टी-बाइट वर्ण हैं, जैसे कि नॉन-ASCII वर्ण, तो इंडेक्स मेज़रमेंट, स्ट्रिंग की लंबाई से ज़्यादा होता है.

sources[]

object (CitationSource)

सिर्फ़ आउटपुट के लिए. इसमें एट्रिब्यूट किए गए सेगमेंट के लिए, उद्धरण के सोर्स शामिल होते हैं.

CitationSource

उद्धरण का सोर्स.

JSON के काेड में दिखाना
{
  "referenceIndex": integer
}
फ़ील्ड
referenceIndex

integer

सिर्फ़ आउटपुट के लिए. इसमें references दोहराए गए फ़ील्ड में मौजूद Answer.AnswerReference का इंडेक्स होता है.

AnswerReference

यह किसी सोर्स के रेफ़रंस को दिखाता है.

JSON के काेड में दिखाना
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "documentReference": {
    object (DocumentReference)
  }
  // End of mutually exclusive fields.
}
फ़ील्ड
इसमें रेफ़रंस का कॉन्टेंट शामिल होता है. यहां ऐसे फ़ील्ड की सूची दी गई है जिनमें से सिर्फ़ एक को चुना जा सकता है. जवाब में, ज़्यादा से ज़्यादा एक फ़ील्ड सेट किया जाएगा:
documentReference

object (DocumentReference)

सिर्फ़ आउटपुट के लिए. रेफ़रंस के लिए दस्तावेज़.

एक-दूसरे से अलग फ़ील्ड के आखिर में.

DocumentReference

यह किसी दस्तावेज़ के रेफ़रंस को दिखाता है.

JSON के काेड में दिखाना
{
  "documentChunk": {
    object (DocumentChunk)
  }
}
फ़ील्ड
documentChunk

object (DocumentChunk)

सिर्फ़ आउटपुट के लिए. इसमें दस्तावेज़ का हिस्सा होता है. documentChunk.id फ़ील्ड सेट नहीं है और यह खाली रहेगा.