Method: answerQuery

Odpowiada na zapytanie za pomocą generowania opartego na danych.

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "query": string,
  "filter": string
}
Pola
query

string

Wymagane. Zapytanie, na które należy odpowiedzieć.

filter

string

Opcjonalnie. Stosuje ścisły filtr do wyników wyszukiwania używanych do tworzenia odpowiedzi. Wyrażenie obsługuje podzbiór składni opisanej na stronie https://google.aip.dev/160.

Pola obsługiwane w filtrowaniu:

  • contentLengthBytes (INTEGER): długość pola Document.content w bajtach.
  • dataSource (STRING): źródło dokumentu, np. docs.cloud.google.com. Pełną listę źródeł danych w korpusie znajdziesz na stronie https://developers.google.com/knowledge/reference/corpus-reference.
  • updateTime (TIMESTAMP): sygnatura czasowa ostatniej istotnej aktualizacji dokumentu. Istotna aktualizacja to taka, która zmienia treść dokumentu w formacie Markdown lub metadane.
  • uri (STRING): identyfikator URI dokumentu, np. https://docs.cloud.google.com/bigquery/docs/tables.

Pola INTEGER obsługują operatory =, <, <=, >, i >=.

Pola STRING obsługują operatory = (równa się) i != (nie równa się) w przypadku dokładnego dopasowania całego ciągu znaków. Dopasowanie częściowe, dopasowanie prefiksu i dopasowanie wyrażenia regularnego nie są obsługiwane.

Pola TIMESTAMP obsługują operatory =, <, <=, >, i >=. Sygnatury czasowe muszą być w formacie RFC-3339, np. "2025-01-01T00:00:00Z".

Możesz łączyć wyrażenia za pomocą operatorów logicznych AND, OR i NOT (lub -). Operator OR ma wyższy priorytet niż AND. Używaj nawiasów, aby określić kolejność wykonywania działań.

Przykłady:

  • Filtrowanie według Document.content_length_bytes: contentLengthBytes < 50000
  • dataSource = "docs.cloud.google.com" OR dataSource = "firebase.google.com"
  • dataSource != "firebase.google.com"
  • updateTime < "2024-01-01T00:00:00Z"
  • updateTime >= "2025-01-22T00:00:00Z" AND (dataSource = "developer.chrome.com" OR dataSource = "web.dev")
  • uri = "https://docs.cloud.google.com/release-notes"

Ciąg znaków filter nie może przekraczać 500 znaków. Wartości dłuższe niż 500 znaków spowodują błąd INVALID_ARGUMENT.

Treść odpowiedzi

Wiadomość odpowiedzi dla DeveloperKnowledge.AnswerQuery.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "answer": {
    object (Answer)
  }
}
Pola
answer

object (Answer)

Odpowiedź na zapytanie.

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

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

Więcej informacji znajdziesz w OAuth 2.0 Overview.

Odpowiedź

Odpowiedź na zapytanie.

Zapis JSON
{
  "answerText": string,
  "citations": [
    {
      object (AnswerCitation)
    }
  ],
  "references": [
    {
      object (AnswerReference)
    }
  ]
}
Pola
answerText

string

Zawiera tekst odpowiedzi.

citations[]

object (AnswerCitation)

Tylko dane wyjściowe. Zawiera cytaty dotyczące odpowiedzi.

references[]

object (AnswerReference)

Tylko dane wyjściowe. Zawiera odniesienia do odpowiedzi.

AnswerCitation

Informacje o cytacie dotyczące segmentu.

Zapis JSON
{
  "startIndex": integer,
  "endIndex": integer,
  "sources": [
    {
      object (CitationSource)
    }
  ]
}
Pola
startIndex

integer

Tylko dane wyjściowe. Wskazuje początek segmentu, mierzony w bajtach (Unicode UTF-8), włącznie. Jeśli występują znaki wielobajtowe, np. znaki spoza zestawu ASCII, pomiar indeksu jest dłuższy niż długość ciągu znaków.

endIndex

integer

Tylko dane wyjściowe. Wskazuje koniec segmentu, mierzony w bajtach (Unicode UTF-8), z wyłączeniem. Jeśli występują znaki wielobajtowe, np. znaki spoza zestawu ASCII, pomiar indeksu jest dłuższy niż długość ciągu znaków.

sources[]

object (CitationSource)

Tylko dane wyjściowe. Zawiera źródła cytatów dla przypisanego segmentu.

CitationSource

Źródło cytatu.

Zapis JSON
{
  "referenceIndex": integer
}
Pola
referenceIndex

integer

Tylko dane wyjściowe. Zawiera indeks Answer.AnswerReference w powtarzanym polu references.

AnswerReference

Reprezentuje odwołanie do źródła.

Zapis JSON
{

  // Union field content can be only one of the following:
  "documentReference": {
    object (DocumentReference)
  }
  // End of list of possible types for union field content.
}
Pola
Pole zbiorcze content. Zawiera treść odwołania. content może mieć tylko jedną z tych wartości:
documentReference

object (DocumentReference)

Tylko dane wyjściowe. Dokument referencyjny.

DocumentReference

Reprezentuje odwołanie do dokumentu.

Zapis JSON
{
  "documentChunk": {
    object (DocumentChunk)
  }
}
Pola
documentChunk

object (DocumentChunk)

Tylko dane wyjściowe. Zawiera fragment dokumentu. Pole documentChunk.id nie jest ustawione i będzie puste.