Semantic Retrieval API ให้บริการตอบคำถามที่โฮสต์ไว้สำหรับการสร้างระบบ Retrieval Augmented Generation (RAG) โดยใช้โครงสร้างพื้นฐานของ Google ดูคำแนะนำแบบทีละขั้นโดยละเอียดได้ในคู่มือการดึงข้อมูลเชิงความหมาย
เมธอด: model.generateAnswer
- ปลายทาง
- พารามิเตอร์เส้นทาง
- เนื้อหาคำขอ
- เนื้อหาการตอบกลับ
- ขอบเขตการให้สิทธิ์
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
สร้างคำตอบพื้นฐานจากโมเดลที่ได้รับอินพุต GenerateAnswerRequest
ปลายทาง
โพสต์
https://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
ประเภท SafetyCategory
แต่ละประเภทไม่ควรมีการตั้งค่ามากกว่า 1 รายการ API จะบล็อกเนื้อหาและการตอบกลับที่ไม่เป็นไปตามเกณฑ์ที่กำหนดโดยการตั้งค่าเหล่านี้ รายการนี้จะลบล้างการตั้งค่าเริ่มต้นสำหรับ SafetyCategory
แต่ละรายการที่ระบุไว้ใน safetySettings หากไม่มี SafetySetting
สำหรับ SafetyCategory
ที่ระบุในรายการ API จะใช้การตั้งค่าความปลอดภัยเริ่มต้นสำหรับหมวดหมู่นั้น ระบบรองรับหมวดหมู่อันตราย HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT ดูข้อมูลโดยละเอียดเกี่ยวกับการตั้งค่าความปลอดภัยที่ใช้ได้ได้ในคู่มือ นอกจากนี้ โปรดดูคำแนะนำด้านความปลอดภัยเพื่อดูวิธีนำข้อควรพิจารณาด้านความปลอดภัยไปใช้กับแอปพลิเคชัน AI ของคุณ
grounding_source
แหล่งที่มาซึ่งเป็นที่มาของคำตอบ grounding_source
ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
inlinePassages
object (GroundingPassages
)
ข้อความที่ป้อนในหน้าคำขอ
semanticRetriever
object (SemanticRetrieverConfig
)
เนื้อหาที่ดึงมาจากทรัพยากรที่สร้างขึ้นผ่าน Semantic Retriever API
temperature
number
ไม่บังคับ ควบคุมความสุ่มของเอาต์พุต
ค่าที่ใช้ได้อยู่ในช่วง [0.0,1.0] ค่าที่เข้าใกล้ 1.0 จะทำให้ได้คำตอบที่หลากหลายและสร้างสรรค์มากกว่า ขณะที่ค่าที่เข้าใกล้ 0.0 มักจะทำให้ได้คำตอบที่ตรงไปตรงมามากขึ้นจากโมเดล โดยทั่วไปแล้ว เราขอแนะนําให้ใช้อุณหภูมิต่ำ (~0.2) สําหรับ Use Case การตอบคําถามที่มีการระบุแหล่งที่มา
เนื้อหาการตอบกลับ
คำตอบจากโมเดลสำหรับคำตอบพื้นฐาน
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
answer
object (Candidate
)
คำตอบผู้สมัครจากโมเดล
หมายเหตุ: โมเดลจะพยายามให้คำตอบที่อิงตามหลักฐานเสมอ แม้ว่าคำตอบนั้นจะไม่มีแนวโน้มที่จะตอบได้จากข้อความที่ระบุ ในกรณีดังกล่าว ระบบอาจให้คำตอบที่มีคุณภาพต่ำหรือไม่มีมูลความจริง พร้อมกับ answerableProbability
ที่ต่ำ
answerableProbability
number
เอาต์พุตเท่านั้น ค่าประมาณของโมเดลเกี่ยวกับความเป็นไปได้ที่คำตอบจะถูกต้องและตั้งอยู่บนพื้นฐานของข้อความที่ป้อน
answerableProbability
ที่ต่ำบ่งชี้ว่าคำตอบอาจไม่ได้อิงตามแหล่งที่มา
เมื่อanswerableProbability
ต่ำ คุณอาจต้องดำเนินการต่อไปนี้
- แสดงข้อความที่ระบุว่า "เราตอบคำถามนั้นไม่ได้" ต่อผู้ใช้
- กลับไปใช้ LLM ที่มีวัตถุประสงค์ทั่วไปซึ่งตอบคำถามจากความรู้ทั่วโลก เกณฑ์และลักษณะของวิดีโอสำรองดังกล่าวจะขึ้นอยู่กับกรณีการใช้งานแต่ละรายการ
0.5
เป็นเกณฑ์เริ่มต้นที่ดี
inputFeedback
object (InputFeedback
)
เอาต์พุตเท่านั้น ความคิดเห็นที่เกี่ยวข้องกับข้อมูลอินพุตที่ใช้ตอบคำถาม ซึ่งต่างจากคำตอบที่โมเดลสร้างขึ้นสำหรับคำถาม
ข้อมูลอินพุตสามารถเป็นข้อมูลต่อไปนี้อย่างน้อย 1 อย่าง
- คำถามที่ระบุไว้ตามข้อมูลสุดท้ายใน
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 |
อินพุตถูกบล็อกเนื่องจากสาเหตุอื่นๆ |