Question answering

เมธอด: collections.generateAnswer

สร้างคำตอบพื้นฐานจากโมเดลที่ได้รับอินพุต GenerateAnswerRequest

ปลายทาง

โพสต์ https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

พารามิเตอร์เส้นทาง

model string

ต้องระบุ ชื่อของ Model ที่จะใช้ในการสร้างคำตอบที่อิงตามพื้นฐาน

รูปแบบ: model=models/{model} โดยใช้รูปแบบ models/{model}

เนื้อหาของคำขอ

เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้

ช่อง
contents[] object (Content)

ต้องระบุ เนื้อหาของการสนทนาปัจจุบันกับโมเดล สำหรับคำถามแบบสลับครั้งเดียว นี่คือคำถามเดียวที่ต้องตอบ สำหรับการค้นหาแบบหลายผู้ใช้ นี่คือฟิลด์ที่ซ้ำได้ซึ่งมีประวัติการสนทนาและ Content สุดท้ายในรายการที่มีคำถาม

หมายเหตุ: ปัจจุบัน model.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

ช่องการรวม 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) สำหรับกรณีการใช้งานที่มีการระบุแหล่งที่มา-ตอบคำถาม

เนื้อหาการตอบกลับ

คำตอบจากโมเดลสำหรับคำตอบพื้นฐาน

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

ช่อง
answer object (Candidate)

คำตอบผู้สมัครจากโมเดล

หมายเหตุ: โมเดลจะพยายามให้คำตอบที่ถูกต้องเสมอ แม้ว่าคำตอบจะไม่น่าจะให้คำตอบจากข้อความที่ระบุได้ก็ตาม ในกรณีดังกล่าว ระบบอาจให้คำตอบที่มีคุณภาพต่ำหรือไม่มีมูลความจริง พร้อมกับ answerableProbability ที่ต่ำ

answerableProbability number

เอาต์พุตเท่านั้น ค่าประมาณของโมเดลเกี่ยวกับความน่าจะเป็นที่คำตอบนั้นถูกต้องและมาจากข้อความอินพุต

ความน่าจะเป็นที่ตอบได้ต่ำบ่งชี้ว่าคำตอบอาจไม่ได้มาจากแหล่งที่มา

เมื่อ answerableProbability อยู่ในระดับต่ำ ลูกค้าบางรายอาจต้องการทำสิ่งต่อไปนี้

  • แสดงข้อความโดยให้ความรู้สึกว่า "เราตอบคำถามนั้นไม่ได้" ให้แก่ผู้ใช้
  • กลับไปใช้ LLM ที่มีวัตถุประสงค์ทั่วไปซึ่งตอบคำถามจากความรู้ทั่วโลก เกณฑ์และลักษณะของวิดีโอสำรองดังกล่าวจะขึ้นอยู่กับกรณีการใช้งานของลูกค้าแต่ละราย 0.5 คือเกณฑ์เริ่มต้นที่ดี
inputFeedback object (InputFeedback)

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

"ป้อนข้อมูล" ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้

  • คำถามที่ระบุไว้ตามข้อมูลสุดท้ายใน GenerateAnswerRequest.content
  • ประวัติการสนทนาที่ระบุโดยรายการอื่นใน GenerateAnswerRequest.content
  • แหล่งที่มาของสายดิน (GenerateAnswerRequest.semantic_retriever หรือ GenerateAnswerRequest.inline_passages)
การแสดง JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

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

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

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

GroundingPassage

มีข้อความแทรกในบรรทัดซึ่งมีการกำหนดค่าการตั้งพื้น

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

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

content object (Content)

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

SemanticRetrieverConfig

การกำหนดค่าสำหรับการเรียกข้อมูลเนื้อหาที่ต่อพื้นฐานจาก Corpus หรือ Document ที่สร้างขึ้นโดยใช้ Semantic Retriever API

การแสดง JSON
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}
ช่อง
source string

ต้องระบุ ชื่อของทรัพยากรสำหรับการเรียกข้อมูล เช่น corpora/123 หรือ corpora/123/documents/abc

query object (Content)

ต้องระบุ คำค้นหาที่ใช้สำหรับความคล้ายคลึงกันที่ตรงกับ Chunk ในทรัพยากรที่ระบุ

metadataFilters[] object (MetadataFilter)

ไม่บังคับ ตัวกรองสำหรับการเลือก Document และ/หรือ Chunk จากทรัพยากร

maxChunksCount integer

ไม่บังคับ จำนวนสูงสุดของ Chunk ที่เกี่ยวข้องที่จะดึงข้อมูล

minimumRelevanceScore number

ไม่บังคับ คะแนนความเกี่ยวข้องขั้นต่ำสำหรับChunkที่เกี่ยวข้องที่ดึงข้อมูลมา

AnswerStyle

จัดรูปแบบสำหรับคำตอบที่มีเหตุผล

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

InputFeedback

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

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

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

blockReason enum (BlockReason)

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

BlockReason

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

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