Question answering

Phương thức: model.generateAnswer

Tạo câu trả lời có căn cứ từ mô hình khi có dữ liệu đầu vào GenerateAnswerRequest.

Điểm cuối

bài đăng https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

Tham số đường dẫn

model string

Bắt buộc. Tên của Model để sử dụng để tạo phản hồi dựa trên cơ sở.

Định dạng: model=models/{model}. Mã này có dạng models/{model}.

Nội dung yêu cầu

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

Số trường
contents[] object (Content)

Bắt buộc. Nội dung của cuộc trò chuyện hiện tại với mô hình. Đối với truy vấn một lượt, đây là câu hỏi duy nhất cần trả lời. Đối với truy vấn nhiều lượt, đây là trường lặp lại có chứa nhật ký trò chuyện và Content cuối cùng trong danh sách có chứa câu hỏi.

Lưu ý: model.generateAnswer hiện chỉ hỗ trợ truy vấn bằng tiếng Anh.

answerStyle enum (AnswerStyle)

Bắt buộc. Kiểu mà câu trả lời phải được trả về.

safetySettings[] object (SafetySetting)

Không bắt buộc. Danh sách các thực thể SafetySetting riêng biệt dùng để chặn nội dung không an toàn.

Thay đổi này sẽ được thực thi trên GenerateAnswerRequest.contentsGenerateAnswerResponse.candidate. Không được có nhiều hơn một chế độ cài đặt cho mỗi loại SafetyCategory. API này sẽ chặn mọi nội dung và phản hồi không đáp ứng ngưỡng do các chế độ cài đặt này đặt ra. Danh sách này ghi đè các chế độ cài đặt mặc định cho từng SafetyCategory được chỉ định trong phần safetySettings. Nếu không có SafetySetting cho một SafetyCategory nhất định được cung cấp trong danh sách, API sẽ sử dụng chế độ cài đặt an toàn mặc định cho danh mục đó. Các danh mục gây hại HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT được hỗ trợ.

Trường kết hợp grounding_source. Các nguồn làm căn cứ cho câu trả lời. grounding_source chỉ có thể là một trong những trạng thái sau đây:
inlinePassages object (GroundingPassages)

Các đoạn video được cung cấp cùng dòng với yêu cầu.

semanticRetriever object (SemanticRetrieverConfig)

Nội dung được truy xuất từ các tài nguyên được tạo qua Semantic Retriever API.

temperature number

Không bắt buộc. Kiểm soát độ ngẫu nhiên của dữ liệu đầu ra.

Giá trị có thể nằm trong khoảng từ [0,0,1,0]. Giá trị gần 1.0 sẽ tạo ra các câu trả lời đa dạng và sáng tạo hơn, trong khi giá trị gần hơn 0 thường sẽ dẫn đến các câu trả lời đơn giản hơn từ mô hình. Nhiệt độ thấp (~0,2) thường nên dùng cho các trường hợp sử dụng thuộc tính-Câu hỏi trả lời.

Nội dung phản hồi

Phản hồi của mô hình cho một câu trả lời có căn cứ.

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:

Số trường
answer object (Candidate)

Câu trả lời của ứng viên trong mô hình.

Lưu ý: Mô hình luôn cố gắng đưa ra câu trả lời có căn cứ, ngay cả khi khó có câu trả lời nào từ các đoạn văn nhất định. Trong trường hợp đó, nhà sáng tạo có thể đưa ra một câu trả lời chất lượng thấp hoặc không có căn cứ, kèm theo answerableProbability thấp.

answerableProbability number

Chỉ có đầu ra. Ước tính của mô hình về xác suất mà câu trả lời của mô hình là chính xác và dựa trên các đoạn văn đầu vào.

Tỷ lệ xác suất có thể trả lời thấp cho biết rằng câu trả lời có thể không dựa trên các nguồn.

Khi answerableProbability thấp, một số ứng dụng có thể muốn:

  • Hiện thông báo "Chúng tôi không thể trả lời câu hỏi đó" cho người dùng.
  • Quay lại một mô hình ngôn ngữ lớn (LLM) dùng để giải đáp câu hỏi trong tri thức thế giới. Ngưỡng và tính chất của các tính năng dự phòng đó sẽ tuỳ thuộc vào trường hợp sử dụng của từng khách hàng. 0,5 là ngưỡng khởi đầu phù hợp.
inputFeedback object (InputFeedback)

Chỉ có đầu ra. Ý kiến phản hồi liên quan đến dữ liệu đầu vào dùng để trả lời câu hỏi, chứ không phải câu trả lời do mô hình tạo cho câu hỏi.

"Dữ liệu đầu vào" có thể là một hoặc nhiều giá trị sau:

  • Câu hỏi được chỉ định theo mục nhập gần đây nhất trong GenerateAnswerRequest.content
  • Nhật ký trò chuyện do các mục khác trong GenerateAnswerRequest.content chỉ định
  • Nguồn tiếp đất (GenerateAnswerRequest.semantic_retriever hoặc GenerateAnswerRequest.inline_passages)
Biểu diễn dưới dạng JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

Danh sách các đoạn văn lặp lại.

Biểu diễn dưới dạng JSON
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}
Số trường
passages[] object (GroundingPassage)

Danh sách đoạn văn.

GroundingPassage

Cảnh báo đi kèm cùng dòng với cấu hình tiếp đất.

Biểu diễn dưới dạng JSON
{
  "id": string,
  "content": {
    object (Content)
  }
}
Số trường
id string

Giá trị nhận dạng của đoạn văn để phân bổ đoạn văn này trong câu trả lời có căn cứ.

content object (Content)

Nội dung của đoạn văn.

SemanticRetrieverConfig

Cấu hình để truy xuất nội dung tiếp đất qua Corpus hoặc Document được tạo bằng Semantic Retriever API.

Biểu diễn dưới dạng JSON
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}
Số trường
source string

Bắt buộc. Tên của tài nguyên để truy xuất, ví dụ: corpora/123 hoặc corpora/123/documents/abc.

query object (Content)

Bắt buộc. Truy vấn sử dụng cho các Chunk tương tự khớp trong tài nguyên đã cho.

metadataFilters[] object (MetadataFilter)

Không bắt buộc. Các bộ lọc để chọn Document và/hoặc Chunk từ tài nguyên.

maxChunksCount integer

Không bắt buộc. Số lượng Chunk liên quan tối đa cần truy xuất.

minimumRelevanceScore number

Không bắt buộc. Điểm mức độ liên quan tối thiểu cho các Chunk có liên quan đã truy xuất.

AnswerStyle

Phong cách cho những câu trả lời có căn cứ.

Enum
ANSWER_STYLE_UNSPECIFIED Kiểu câu trả lời không xác định.
ABSTRACTIVE Phong cách gần gũi nhưng trừu tượng.
EXTRACTIVE Văn phong rất ngắn gọn và giàu tính trích.
VERBOSE Kiểu chi tiết bao gồm cả các chi tiết bổ sung. Câu trả lời có thể được định dạng thành một câu, một đoạn, nhiều đoạn hoặc dấu đầu dòng, v.v.

InputFeedback

Ý kiến phản hồi liên quan đến dữ liệu đầu vào dùng để trả lời câu hỏi, chứ không phải câu trả lời do mô hình tạo cho câu hỏi.

Biểu diễn dưới dạng JSON
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}
Số trường
safetyRatings[] object (SafetyRating)

Mức phân loại về độ an toàn của dữ liệu đầu vào. Mỗi danh mục có tối đa một điểm xếp hạng.

blockReason enum (BlockReason)

Không bắt buộc. Nếu được đặt, giá trị nhập sẽ bị chặn và không có đề xuất nào được trả về. Diễn đạt lại nội dung bạn đã nhập.

BlockReason

Chỉ định lý do chặn dữ liệu đầu vào.

Enum
BLOCK_REASON_UNSPECIFIED Giá trị mặc định. Giá trị này chưa được sử dụng.
SAFETY Dữ liệu đầu vào đã bị chặn vì lý do an toàn. Bạn có thể kiểm tra safetyRatings để nắm được danh mục an toàn nào đã chặn nó.
OTHER Dữ liệu đầu vào đã bị chặn vì các lý do khác.