Semantic Retrieval API ให้บริการตอบคำถามที่โฮสต์ไว้สำหรับการสร้างระบบ Retrieval Augmented Generation (RAG) โดยใช้โครงสร้างพื้นฐานของ Google
เมธอด: models.generateAnswer
- ปลายทาง
- พารามิเตอร์เส้นทาง
- เนื้อความของคำขอ
- เนื้อหาการตอบกลับ
- ขอบเขตการให้สิทธิ์
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
สร้างคำตอบที่อิงตามข้อมูลจากโมเดลเมื่อได้รับอินพุต GenerateAnswerRequest
ปลายทาง
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateAnswer
พารามิเตอร์เส้นทาง
model
string
ต้องระบุ ชื่อของ Model
ที่จะใช้ในการสร้างคำตอบที่อิงตามข้อมูล
รูปแบบ: model=models/{model}
ซึ่งจะอยู่ในรูปแบบ models/{model}
เนื้อความของคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
contents[]
object (Content
)
ต้องระบุ เนื้อหาของการสนทนาปัจจุบันกับ Model
สำหรับคำค้นหาแบบเลี้ยวเดียว นี่คือคำถามเดียวที่ต้องตอบ สำหรับคำค้นหาแบบหลายรอบ นี่คือฟิลด์ที่ทำซ้ำซึ่งมีประวัติการสนทนาและ Content
รายการสุดท้ายที่มีคำถาม
หมายเหตุ: models.generateAnswer
รองรับเฉพาะคำค้นหาที่เป็นภาษาอังกฤษ
answerStyle
enum (AnswerStyle
)
ต้องระบุ รูปแบบที่ควรแสดงคำตอบ
safetySettings[]
object (SafetySetting
)
ไม่บังคับ รายการSafetySetting
อินสแตนซ์ที่ไม่ซ้ำกันสำหรับการบล็อกเนื้อหาที่ไม่ปลอดภัย
โดยจะมีผลบังคับใช้ในวันที่ GenerateAnswerRequest.contents
และ GenerateAnswerResponse.candidate
ไม่ควรมีการตั้งค่ามากกว่า 1 รายการสำหรับSafetyCategory
แต่ละประเภท API จะบล็อกเนื้อหาและการตอบกลับที่ไม่เป็นไปตามเกณฑ์ที่กำหนดโดยการตั้งค่าเหล่านี้ รายการนี้จะลบล้างการตั้งค่าเริ่มต้นสำหรับแต่ละรายการที่SafetyCategory
ระบุไว้ใน safetySettings หากไม่มี SafetySetting
สำหรับ SafetyCategory
ที่ระบุในรายการ API จะใช้การตั้งค่าความปลอดภัยเริ่มต้นสำหรับหมวดหมู่นั้น ระบบรองรับหมวดหมู่ที่เป็นอันตราย HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT ดูข้อมูลโดยละเอียดเกี่ยวกับการตั้งค่าความปลอดภัยที่มีได้ในคำแนะนำ นอกจากนี้ โปรดดูคำแนะนำด้านความปลอดภัยเพื่อดูวิธีพิจารณาเรื่องความปลอดภัยในแอปพลิเคชัน AI
grounding_source
Union type
grounding_source
ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้นinlinePassages
object (GroundingPassages
)
ข้อความที่ระบุในคำขอ
semanticRetriever
object (SemanticRetrieverConfig
)
เนื้อหาที่ดึงมาจากแหล่งข้อมูลที่สร้างผ่าน Semantic Retriever API
temperature
number
ไม่บังคับ ควบคุมความสุ่มของเอาต์พุต
ค่าที่ใช้ได้อยู่ในช่วง [0.0,1.0] ค่าที่ใกล้เคียงกับ 1.0 จะสร้างคำตอบที่หลากหลายและสร้างสรรค์มากขึ้น ในขณะที่ค่าที่ใกล้เคียงกับ 0.0 โดยทั่วไปจะทำให้โมเดลสร้างคำตอบที่ตรงไปตรงมามากขึ้น โดยทั่วไปแล้ว เราขอแนะนำให้ใช้อุณหภูมิต่ำ (~0.2) สำหรับกรณีการใช้งานการตอบคำถามที่มีการระบุแหล่งที่มา
เนื้อหาการตอบกลับ
คำตอบจากโมเดลสำหรับคำตอบที่อิงตามข้อมูล
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
answer
object (Candidate
)
คำตอบที่เป็นไปได้จากโมเดล
หมายเหตุ: โมเดลพยายามให้คำตอบที่อิงตามข้อเท็จจริงเสมอ แม้ว่าคำตอบนั้นอาจไม่สามารถตอบได้จากข้อความที่ให้มาก็ตาม ในกรณีดังกล่าว ระบบอาจให้คำตอบที่มีคุณภาพต่ำหรือไม่สมเหตุสมผล พร้อมกับanswerableProbability
ที่ต่ำ
answerableProbability
number
เอาต์พุตเท่านั้น การประมาณความน่าจะเป็นที่คำตอบของโมเดลถูกต้องและอิงตามข้อความอินพุต
answerableProbability
ต่ำแสดงว่าคำตอบอาจไม่ได้อิงตามแหล่งที่มา
เมื่อ answerableProbability
ต่ำ คุณอาจต้องการทำสิ่งต่อไปนี้
- แสดงข้อความในลักษณะ "เราไม่สามารถตอบคำถามนั้นได้" แก่ผู้ใช้
- กลับไปใช้ LLM แบบอเนกประสงค์ที่ตอบคำถามจากความรู้เกี่ยวกับโลก เกณฑ์และลักษณะของการเปลี่ยนไปใช้ตัวเลือกสำรองดังกล่าวจะขึ้นอยู่กับกรณีการใช้งานแต่ละกรณี
0.5
เป็นเกณฑ์เริ่มต้นที่ดี
inputFeedback
object (InputFeedback
)
เอาต์พุตเท่านั้น ความคิดเห็นที่เกี่ยวข้องกับข้อมูลอินพุตที่ใช้ตอบคำถาม ไม่ใช่คำตอบที่โมเดลสร้างขึ้นสำหรับคำถาม
ข้อมูลอินพุตอาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้
- คำถามที่ระบุโดยรายการสุดท้ายใน
GenerateAnswerRequest.content
- ประวัติการสนทนาที่ระบุโดยรายการอื่นๆ ใน
GenerateAnswerRequest.content
- แหล่งข้อมูลพื้นฐาน (
GenerateAnswerRequest.semantic_retriever
หรือGenerateAnswerRequest.inline_passages
)
การแสดง JSON |
---|
{ "answer": { object ( |
GroundingPassages
รายการข้อความที่ซ้ำกัน
passages[]
object (GroundingPassage
)
รายการข้อความ
การแสดง JSON |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
การกำหนดค่าสำหรับการดึงเนื้อหาการอ้างอิงจาก Corpus
หรือ Document
ที่สร้างขึ้นโดยใช้ Semantic Retriever API
source
string
ต้องระบุ ชื่อของทรัพยากรสำหรับการดึงข้อมูล เช่น corpora/123
หรือ corpora/123/documents/abc
query
object (Content
)
ต้องระบุ คำค้นหาที่จะใช้สำหรับการจับคู่ Chunk
ในแหล่งข้อมูลที่ระบุตามความคล้ายคลึงกัน
metadataFilters[]
object (MetadataFilter
)
ไม่บังคับ ตัวกรองสำหรับการเลือก Document
และ/หรือ Chunk
จากทรัพยากร
maxChunksCount
integer
ไม่บังคับ จำนวนสูงสุดของ Chunk
ที่เกี่ยวข้องที่จะดึงข้อมูล
minimumRelevanceScore
number
ไม่บังคับ คะแนนความเกี่ยวข้องขั้นต่ำสำหรับ Chunk
ที่เกี่ยวข้องซึ่งดึงข้อมูลมา
การแสดง JSON |
---|
{ "source": string, "query": { object ( |
AnswerStyle
รูปแบบสำหรับคำตอบที่อิงตามข้อเท็จจริง
Enum | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
รูปแบบคำตอบที่ไม่ได้ระบุ |
ABSTRACTIVE |
สไตล์ที่กระชับแต่เป็นนามธรรม |
EXTRACTIVE |
สั้นมากและเป็นรูปแบบการดึงข้อมูล |
VERBOSE |
รูปแบบการเขียนแบบละเอียดที่มีรายละเอียดเพิ่มเติม คำตอบอาจจัดรูปแบบเป็นประโยค ย่อหน้า หลายย่อหน้า หรือรายการหัวข้อย่อย เป็นต้น |
InputFeedback
ความคิดเห็นที่เกี่ยวข้องกับข้อมูลอินพุตที่ใช้ตอบคำถาม ไม่ใช่คำตอบที่โมเดลสร้างขึ้นสำหรับคำถาม
safetyRatings[]
object (SafetyRating
)
คะแนนความปลอดภัยของอินพุต มีการจัดประเภทได้สูงสุด 1 รายการต่อหมวดหมู่
blockReason
enum (BlockReason
)
ไม่บังคับ หากตั้งค่าไว้ ระบบจะบล็อกอินพุตและไม่แสดงตัวเลือก เปลี่ยนคำพูด
การแสดง JSON |
---|
{ "safetyRatings": [ { object ( |
BlockReason
ระบุสาเหตุที่ทำให้ระบบบล็อกอินพุต
Enum | |
---|---|
BLOCK_REASON_UNSPECIFIED |
ค่าเริ่มต้น ค่านี้ไม่ได้ใช้ |
SAFETY |
ระบบบล็อกอินพุตเนื่องจากเหตุผลด้านความปลอดภัย ตรวจสอบ safetyRatings เพื่อดูว่าหมวดหมู่ความปลอดภัยใดที่บล็อก |
OTHER |
ระบบบล็อกอินพุตเนื่องจากเหตุผลอื่นๆ |