Method: answerQuery

Odpowiada na zapytanie za pomocą generowania opartego na źródłach.

Żądanie HTTP

POST https://developerknowledge.googleapis.com/v1: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 chcesz uzyskać odpowiedź.

filter

string

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

Pola obsługiwane w przypadku filtrowania:

  • content_length_bytes (INTEGER): długość pola Document.content w bajtach.
  • data_source (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.
  • update_time (TIMESTAMP): sygnatura czasowa ostatniej istotnej aktualizacji dokumentu. Istotna aktualizacja to taka, która zmienia zawartość dokumentu w formacie Markdown lub jego 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 ścisłego dopasowania całego ciągu znaków. Nie są obsługiwane częściowe dopasowanie, dopasowanie prefiksu ani dopasowanie wyrażenia regularnego.

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

Wyrażenia możesz łączyć za pomocą operatorów logicznych AND, OR i NOT (lub -). OR ma wyższy priorytet niż AND. Używaj nawiasów do jawnego grupowania kolejności wykonywania działań.

Przykłady:

  • Filtruj według: 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"

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ść z 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 sekcji 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 odwołania do odpowiedzi.

AnswerCitation

Informacje o cytowaniu 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 z wartościami granicznymi. Jeśli występują znaki wielobajtowe, np. znaki spoza zakresu ASCII, pomiar indeksu jest dłuższy niż długość ciągu.

endIndex

integer

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

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 elementu Answer.AnswerReference w polu powtarzanym references.

AnswerReference

Reprezentuje odniesienie do źródła.

Zapis 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.
}
Pola
Zawiera treść odniesienia. Poniżej znajduje się lista pól, które się wzajemnie wykluczają. W odpowiedzi zostanie ustawione co najwyżej jedno z tych pól:
documentReference

object (DocumentReference)

Tylko dane wyjściowe. dokument referencyjny.

Koniec pól wykluczających się nawzajem.

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.