Method: answerQuery

Trả lời một câu hỏi bằng cách sử dụng tính năng tạo thông tin có căn cứ.

Yêu cầu HTTP

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

URL sử dụng cú pháp Chuyển mã gRPC.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu với cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "query": string,
  "filter": string
}
Trường
query

string

Bắt buộc. Câu hỏi cần trả lời.

filter

string

Không bắt buộc. Áp dụng bộ lọc nghiêm ngặt cho kết quả tìm kiếm được dùng để đưa ra câu trả lời. Biểu thức này hỗ trợ một tập hợp con của cú pháp được mô tả tại https://google.aip.dev/160.

Các trường được hỗ trợ để lọc:

  • contentLengthBytes (INTEGER): Độ dài của trường Document.content tính bằng byte.
  • dataSource (STRING): Nguồn của tài liệu, ví dụ: docs.cloud.google.com. Hãy xem https://developers.google.com/knowledge/reference/corpus-reference để xem danh sách đầy đủ các nguồn dữ liệu trong kho ngữ liệu.
  • updateTime (DẤU THỜI GIAN): Dấu thời gian cho biết lần cập nhật có ý nghĩa gần đây nhất của tài liệu. Bản cập nhật có ý nghĩa là bản cập nhật làm thay đổi nội dung markdown hoặc siêu dữ liệu của tài liệu.
  • uri (STRING): URI của tài liệu, ví dụ: https://docs.cloud.google.com/bigquery/docs/tables.

Các trường INTEGER hỗ trợ toán tử =, <, <=, >>=.

Các trường STRING hỗ trợ toán tử = (bằng) và != (không bằng) để khớp chính xác trên toàn bộ chuỗi. Chúng tôi không hỗ trợ các tiêu chí khớp một phần, khớp tiền tố và khớp với biểu thức chính quy.

Các trường DẤU THỜI GIAN hỗ trợ toán tử =, <, <=, >>=. Dấu thời gian phải ở định dạng RFC-3339, ví dụ: "2025-01-01T00:00:00Z".

Bạn có thể kết hợp các biểu thức bằng cách sử dụng toán tử logic AND, ORNOT (hoặc -). OR có mức độ ưu tiên cao hơn AND. Sử dụng dấu ngoặc đơn để nhóm theo mức độ ưu tiên rõ ràng.

Ví dụ:

  • Lọc theo 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"

Chuỗi filter không được vượt quá 500 ký tự; các giá trị dài hơn 500 ký tự sẽ dẫn đến lỗi INVALID_ARGUMENT.

Nội dung phản hồi

Thông báo phản hồi cho DeveloperKnowledge.AnswerQuery.

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "answer": {
    object (Answer)
  }
}
Trường
answer

object (Answer)

Câu trả lời cho truy vấn.

Phạm vi uỷ quyền

Yêu cầu một trong các phạm vi OAuth sau:

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

Để biết thêm thông tin, hãy xem OAuth 2.0 Overview.

Trả lời

Câu trả lời cho một câu hỏi.

Biểu diễn dưới dạng JSON
{
  "answerText": string,
  "citations": [
    {
      object (AnswerCitation)
    }
  ],
  "references": [
    {
      object (AnswerReference)
    }
  ]
}
Trường
answerText

string

Chứa nội dung câu trả lời.

citations[]

object (AnswerCitation)

Chỉ có đầu ra. Có trích dẫn cho câu trả lời.

references[]

object (AnswerReference)

Chỉ có đầu ra. Chứa thông tin tham khảo cho câu trả lời.

AnswerCitation

Thông tin trích dẫn cho một đoạn.

Biểu diễn dưới dạng JSON
{
  "startIndex": integer,
  "endIndex": integer,
  "sources": [
    {
      object (CitationSource)
    }
  ]
}
Trường
startIndex

integer

Chỉ có đầu ra. Cho biết điểm bắt đầu của đoạn, được đo bằng byte (unicode UTF-8), bao gồm cả giá trị đầu và giá trị cuối. Nếu có các ký tự nhiều byte, chẳng hạn như ký tự không phải ASCII, thì phép đo chỉ mục sẽ dài hơn độ dài chuỗi.

endIndex

integer

Chỉ có đầu ra. Cho biết phần cuối của đoạn, được đo bằng byte (Unicode UTF-8), không bao gồm. Nếu có các ký tự nhiều byte, chẳng hạn như ký tự không phải ASCII, thì phép đo chỉ mục sẽ dài hơn độ dài chuỗi.

sources[]

object (CitationSource)

Chỉ có đầu ra. Chứa các nguồn trích dẫn cho phân đoạn được phân bổ.

CitationSource

Nguồn trích dẫn.

Biểu diễn dưới dạng JSON
{
  "referenceIndex": integer
}
Trường
referenceIndex

integer

Chỉ có đầu ra. Chứa chỉ mục của Answer.AnswerReference trong trường lặp lại references.

AnswerReference

Biểu thị một tham chiếu đến một nguồn.

Biểu diễn dưới dạng JSON
{

  // Union field content can be only one of the following:
  "documentReference": {
    object (DocumentReference)
  }
  // End of list of possible types for union field content.
}
Trường
Trường nhóm content. Chứa nội dung của tham chiếu. content chỉ có thể là một trong những trạng thái sau:
documentReference

object (DocumentReference)

Chỉ có đầu ra. Tài liệu tham khảo.

DocumentReference

Đại diện cho một đường liên kết đến tài liệu.

Biểu diễn dưới dạng JSON
{
  "documentChunk": {
    object (DocumentChunk)
  }
}
Trường
documentChunk

object (DocumentChunk)

Chỉ có đầu ra. Chứa đoạn tài liệu. Trường documentChunk.id chưa được đặt và sẽ trống.