Semantic Retrieval API มีบริการตอบคำถามแบบโฮสต์สำหรับการสร้างระบบการสร้างข้อความที่เพิ่มประสิทธิภาพการดึงข้อมูล (RAG) โดยใช้โครงสร้างพื้นฐานของ Google
เมธอด: models.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
สําหรับการค้นหาแบบ 1 ประโยค นี่เป็นคำถามเดียวที่ต้องตอบ สําหรับการค้นหาแบบหลายรอบ ฟิลด์นี้จะซ้ำกันซึ่งมีประวัติการสนทนาและ 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
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) สําหรับ 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 |
อินพุตถูกบล็อกเนื่องจากเหตุผลอื่นๆ |