Method: models.generateAnswer

Tạo câu trả lời có cơ sở từ mô hình dựa vào GenerateAnswerRequest đầu vào.

Yêu cầu HTTP

POST https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

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

Tham số đường dẫn

Tham số
model

string

Bắt buộc. Tên của Model để tạo phản hồi có cơ sở.

Định dạng: model=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:

Biểu diễn dưới dạng JSON
{
  "contents": [
    {
      object (Content)
    }
  ],
  "answerStyle": enum (AnswerStyle),
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ],

  // Union field grounding_source can be only one of the following:
  "inlinePassages": {
    object (GroundingPassages)
  },
  "semanticRetriever": {
    object (SemanticRetrieverConfig)
  }
  // End of list of possible types for union field grounding_source.
  "temperature": number
}
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 các câu hỏi yêu cầu một lượt, đây là một câu hỏi duy nhất cần trả lời. Đối với các 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 chứa câu hỏi.

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

answerStyle

enum (AnswerStyle)

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

safetySettings[]

object (SafetySetting)

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

Yêu cầu 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 sẽ ghi đè các chế độ cài đặt mặc định cho mỗi SafetyCategory được chỉ định trong safetySettings. Nếu không có SafetySetting cho một SafetyCategory nhất định được cung cấp trong danh sách, thì API sẽ sử dụng chế độ cài đặt an toàn mặc định cho danh mục đó. Danh mục tác hại HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT được hỗ trợ.

Trường hợp grounding_source. Các nguồn 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:
inlinePassages

object (GroundingPassages)

Các đoạn được cung cấp phù hợp với yêu cầu.

semanticRetriever

object (SemanticRetrieverConfig)

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

temperature

number

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

Các giá trị có thể bao gồm từ [0,0,1,0]. Giá trị gần 1 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 0 thường sẽ dẫn đến các câu trả lời đơn giản hơn từ mô hình. Bạn thường nên sử dụng nhiệt độ thấp (~0,2) cho các trường hợp sử dụng Phân bổ-câu hỏi-trả lời.

Nội dung phản hồi

Phản hồi từ mô hình cho câu trả lời có cơ sở.

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 (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
Trường
answer

object (Candidate)

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

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

answerableProbability

number

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

Khả năng trả lời thấp có nghĩa là câu trả lời có thể không dựa trên các nguồn.

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

  • Hiện thông báo cho người dùng có nội dung "Chúng tôi không thể trả lời câu hỏi đó".
  • Quay lại sử dụng một mô hình ngôn ngữ lớn đa năng giúp giải đáp câu hỏi dựa trên kiến thức thế giới. Ngưỡng và tính chất của những khoản dự phòng đó sẽ phụ thuộc vào các trường hợp sử dụng của từng khách hàng. 0,5 là ngưỡng khởi đầu tốt.
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, khác với câu trả lời do mô hình tạo ra cho câu hỏi.

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

  • Câu hỏi được chỉ định trong mục nhập cuối cùng trong GenerateAnswerRequest.content
  • Nhật ký trò chuyện do các mục nhập khác trong GenerateAnswerRequest.content chỉ định
  • Nguồn nối đất (GenerateAnswerRequest.semantic_retriever hoặc GenerateAnswerRequest.inline_passages)

Phạm vi uỷ quyền

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

  • https://www.googleapis.com/auth/generative-language
  • https://www.googleapis.com/auth/generative-language.retriever
  • https://www.googleapis.com/auth/generative-language.retriever.readonly
  • https://www.googleapis.com/auth/generative-language.tuning
  • https://www.googleapis.com/auth/generative-language.tuning.readonly

Để biết thêm thông tin, hãy xem bài viết Tổng quan về hoạt động xác thực.

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)
    }
  ]
}
Trường
passages[]

object (GroundingPassage)

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

GroundingPassage

Đường truyền đ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)
  }
}
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ác câu trả lời có cơ sở.

content

object (Content)

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

SemanticRetrieverConfig

Cấu hình để truy xuất nội dung nền tảng từ một 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
}
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 việc so khớp độ tương tự các Chunk trong tài nguyên nhất định.

metadataFilters[]

object (MetadataFilter)

Không bắt buộ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 số mức độ phù hợp tối thiểu cho các Chunk liên quan đã truy xuất.

AnswerStyle

Kiểu câu trả lời căn cứ.

Enum
ANSWER_STYLE_UNSPECIFIED Kiểu câu trả lời không xác định.
ABSTRACTIVE Rút gọn nhưng mang phong cách trừu tượng.
EXTRACTIVE Văn phong rất ngắn gọn và trích xuất.
VERBOSE Kiểu chi tiết bao gồm các chi tiết bổ sung. Câu trả lời có thể được định dạng dưới dạng một câu, một đoạn văn, nhiều đoạn vă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, khác với câu trả lời do mô hình tạo ra cho câu hỏi.

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

object (SafetyRating)

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

blockReason

enum (BlockReason)

Không bắt buộc. Nếu được đặt, dữ liệu nhập đã 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

Nêu rõ lý do khiến dữ liệu đầu vào bị chặn.

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