API Truy xuất theo ngữ nghĩa cung cấp dịch vụ trả lời câu hỏi được lưu trữ để xây dựng hệ thống Thế hệ tăng cường truy xuất (RAG) bằng cơ sở hạ tầng của Google. Để biết hướng dẫn từng bước chi tiết, hãy xem Hướng dẫn truy xuất ngữ nghĩa.
Phương thức: model.generateAnswer
- Điểm cuối
- Thông số đường dẫn
- Nội dung yêu cầu
- Nội dung phản hồi
- Phạm vi uỷ quyền
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
Tạo câu trả lời dựa trên thực tế từ mô hình dựa trên 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:
contents[]
object (Content
)
Bắt buộc. Nội dung của cuộc trò chuyện hiện tại với Model
. Đối với truy vấn một lượt, đây là một 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 ý: models.generateAnswer
chỉ hỗ trợ các cụm từ tìm kiếm 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 để chặn nội dung không an toàn.
Điều này sẽ được thực thi trên GenerateAnswerRequest.contents
và GenerateAnswerResponse.candidate
. Không được có nhiều chế độ cài đặt cho mỗi loại SafetyCategory
. API 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ợ. Hãy tham khảo hướng dẫn để biết thông tin chi tiết về các chế độ cài đặt an toàn hiện có. Ngoài ra, hãy tham khảo Hướng dẫn về an toàn để tìm hiểu cách tích hợp những yếu tố cần cân nhắc về an toàn vào các ứng dụng dựa trên AI.
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 văn bản đượ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 với 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 với 0.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:
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 câu trả lời đó khó có thể được trả lời từ các đoạn văn bản đã cho. 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.
answerableProbability
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, bạn nê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 LLM dùng cho nhiều mục đích để trả lời câu hỏi từ kiến thức thế giới. Ngưỡng và bản chất của các phương án dự phòng đó sẽ phụ thuộc vào từng trường hợp sử dụ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, thay vì 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 dữ liệu 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ặcGenerateAnswerRequest.inline_passages
)
Biểu diễn dưới dạng JSON |
---|
{ "answer": { object ( |
GroundingPassages
Danh sách các đoạn văn lặp lại.
passages[]
object (GroundingPassage
)
Danh sách đoạn văn.
Biểu diễn dưới dạng JSON |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
Cấu hình để truy xuất nội dung liên quan từ Corpus
hoặc Document
được tạo bằng API Trình truy xuất ngữ nghĩa.
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 để so khớp các Chunk
trong tài nguyên đã cho theo mức độ tương đồng.
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
có liên quan tối đa để 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.
Biểu diễn dưới dạng JSON |
---|
{ "source": string, "query": { object ( |
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 thông tin 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, thay vì câu trả lời do mô hình tạo ra cho câu hỏi.
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 chỉ có tối đa một mức phân loại.
blockReason
enum (BlockReason
)
Không bắt buộc. Nếu được đặt, dữ liệu đầu vào sẽ bị chặn và không có đề xuất nào được trả về. Viết lại nội dung đầu vào.
Biểu diễn dưới dạng JSON |
---|
{ "safetyRatings": [ { object ( |
BlockReason
Chỉ định 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 chưa được sử dụng. |
SAFETY |
Dữ liệu đầu vào đã bị chặn vì lý do an toàn. Hãy 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. |