Question answering

Semantic Retrieval API มีบริการตอบคำถามแบบโฮสต์สำหรับการสร้างระบบการสร้างข้อความที่เพิ่มประสิทธิภาพการดึงข้อมูล (RAG) โดยใช้โครงสร้างพื้นฐานของ Google

เมธอด: models.generateAnswer

สร้างคำตอบที่อิงตามหลักฐานจากโมเดลที่ได้รับอินพุต 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 (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

รายการข้อความที่ซ้ำกัน

ฟิลด์
passages[] object (GroundingPassage)

รายการข้อความ

การแสดง JSON
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}

GroundingPassage

ข้อความที่รวมอยู่ในบรรทัดเดียวกับการกำหนดค่าการต่อกราวด์

ฟิลด์
id string

ตัวระบุข้อความสำหรับการระบุแหล่งที่มาของข้อความนี้ในคำตอบที่อิงตามแหล่งข้อมูล

content object (Content)

เนื้อหาของข้อความ

การแสดง JSON
{
  "id": string,
  "content": {
    object (Content)
  }
}

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 (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}

AnswerStyle

รูปแบบสำหรับคำตอบที่อิงตามข้อเท็จจริง

Enum
ANSWER_STYLE_UNSPECIFIED รูปแบบคำตอบที่ไม่ระบุ
ABSTRACTIVE กระชับแต่เป็นแบบนามธรรม
EXTRACTIVE รูปแบบที่สั้นมากและดึงข้อมูล
VERBOSE รูปแบบที่แสดงรายละเอียดเพิ่มเติม การตอบกลับอาจมีการจัดรูปแบบเป็นประโยค ย่อหน้า หลายย่อหน้า หรือหัวข้อย่อย ฯลฯ

InputFeedback

ความคิดเห็นที่เกี่ยวข้องกับข้อมูลอินพุตที่ใช้ตอบคำถาม ซึ่งต่างจากคำตอบที่โมเดลสร้างขึ้นสำหรับคำถาม

ฟิลด์
safetyRatings[] object (SafetyRating)

คะแนนความปลอดภัยของอินพุต แต่ละหมวดหมู่มีการจัดประเภทได้สูงสุด 1 รายการ

blockReason enum (BlockReason)

ไม่บังคับ หากตั้งค่าไว้ ระบบจะบล็อกอินพุตและจะไม่แสดงรายการที่ตรงกัน เปลี่ยนรูปแบบคำสั่ง

การแสดง JSON
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}

BlockReason

ระบุสาเหตุที่อินพุตถูกบล็อก

Enum
BLOCK_REASON_UNSPECIFIED ค่าเริ่มต้น ค่านี้ไม่ได้ใช้งาน
SAFETY อินพุตถูกบล็อกเนื่องจากเหตุผลด้านความปลอดภัย ตรวจสอบ safetyRatings เพื่อดูว่าหมวดหมู่ความปลอดภัยใดบล็อกเนื้อหา
OTHER อินพุตถูกบล็อกเนื่องจากเหตุผลอื่นๆ