จับคู่เวกเตอร์คล้ายกัน
ดึงและเรียกคืนส่วนความรู้จากฐานความรู้ของ Agent/Workflow ตามเนื้อหาคำค้นหรือคีย์เวิร์ดที่ระบุ นักพัฒนาสามารถกำหนดขอบเขตการค้นหาด้วย group_ids หรือ data_ids, ตั้งค่าพารามิเตอร์ top_k และปรับแต่งการค้นหาด้วยคะแนนความเกี่ยวข้องของความรู้และการจัดอันดับใหม่ (reranking) เพื่อสร้างศักยภาพ Retrieval-Augmented Generation (RAG) ที่ตอบโจทย์เฉพาะ
วิธีการร้องขอ
POST
Endpoint
https://api-${endpoint}.gptbots.ai/v1/vector/match
การยืนยันตัวตน
ดูรายละเอียดวิธีการยืนยันตัวตนได้ในหัวข้อ API Overview
ตัวอย่างการร้องขอ
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/vector/match' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"embedding_rate": 0.9 ,
"prompt": "GPTBots มี API อะไรให้ใช้งานบ้าง?",
"group_ids": ["1234567890","1230987654"],
"data_ids": ["1234567890","1230987654"],
"top_k": 10 ,
"rerank_version": "Jina-reranker-v2-base-multilingual",
"doc_correlation": 0.70
}'
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/vector/match' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"embedding_rate": 0.9 ,
"prompt": "GPTBots มี API อะไรให้ใช้งานบ้าง?",
"group_ids": ["1234567890","1230987654"],
"data_ids": ["1234567890","1230987654"],
"top_k": 10 ,
"rerank_version": "Jina-reranker-v2-base-multilingual",
"doc_correlation": 0.70
}'
บล็อกโค้ดนี้ในหน้าต่างลอย
Header ของคำขอ
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| Authorization | Bearer ${API Key} | ใช้ Authorization: Bearer ${API Key} สำหรับการยืนยันตัวตน รับ API Key ได้จากหน้า API Key |
| Content-Type | application/json | ประเภทข้อมูล; ควรระบุเป็น application/json |
พารามิเตอร์ของคำขอ
| ชื่อฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| embedding_rate | float | ไม่จำเป็น | กำหนดอัตราส่วนระหว่างการค้นหาด้วยคีย์เวิร์ดและความหมาย (semantic) ช่วงค่าระหว่าง [0,1] ค่าเริ่มต้นคือ 1 เช่น 0 = เฉพาะคีย์เวิร์ด; 1 = เฉพาะ semantic; 0.4 = คีย์เวิร์ด 40%, semantic 60% |
| prompt | string | ใช่ | คำค้นหรือคีย์เวิร์ดที่ใช้สำหรับจับคู่เวกเตอร์กับเอกสารใน Agent/Workflow |
| group_ids | array | ไม่จำเป็น | รหัสฐานความรู้ที่ต้องการค้นหาด้วยเวกเตอร์ หากระบุ 1 รายการหรือมากกว่า จะค้นหาในฐานความรู้ที่รวมกัน หากไม่ระบุหรือเป็น null จะค้นหาทุกฐานความรู้ ถ้าเป็น [] จะไม่ค้นหาใด ๆ |
| data_ids | array | ไม่จำเป็น | รหัสเอกสารที่ต้องการค้นหาด้วยเวกเตอร์ หากระบุ 1 รายการหรือมากกว่า จะค้นหาในเอกสารที่รวมกัน หากไม่ระบุหรือเป็น null จะค้นหาทุกเอกสาร ถ้าเป็น [] จะไม่ค้นหาใด ๆ |
| top_k | int | ใช่ | หลังจากจับคู่เวกเตอร์ระหว่างคีย์เวิร์ดกับรหัสเอกสาร จะส่งคืนผลลัพธ์ Top K ในช่วง [1,50] |
| rerank_version | string | ไม่จำเป็น | ชื่อโมเดลสำหรับจัดอันดับใหม่เพื่อค้นหาแม่นยำขึ้น เช่น BGE-Rerank, Jina-reranker-v2-base-multilingual, Jina-colbert-v2, BCE-Rerank |
| doc_correlation | float | ไม่จำเป็น | คะแนนความเกี่ยวข้องของความรู้ แสดงความคล้ายคลึงระหว่างคำถามกับส่วนความรู้ ยิ่งค่าสูงยิ่งเกี่ยวข้อง แต่หากสูงเกินไปอาจไม่มีส่วนความรู้ให้ค้นหา ช่วง [0.1,0.95] |
เมื่อระบุทั้ง
group_idsและdata_idsจะค้นหาภายในขอบเขตที่รวมกันของทั้งสอง หากไม่ระบุหรือเป็น null ทั้งคู่ จะค้นหาทุกฐานความรู้โดยอัตโนมัติ หากทั้งสองเป็น [] จะไม่ค้นหาใด ๆ
การตอบกลับ
ตัวอย่างการตอบกลับ
{
"total": 2,
"list": [
{
"content": "Test data",
"data_id": "aS1CNvPK4XCckDKQNj7azC9a",
"document_name": "demo.md",
"score": 0.75
},
{
"content": "Test data",
"data_id": "aS1CNvPK4XCckDKQNj7azC9a",
"document_name": "demo.md",
"score": 0.75
}
]
}
{
"total": 2,
"list": [
{
"content": "Test data",
"data_id": "aS1CNvPK4XCckDKQNj7azC9a",
"document_name": "demo.md",
"score": 0.75
},
{
"content": "Test data",
"data_id": "aS1CNvPK4XCckDKQNj7azC9a",
"document_name": "demo.md",
"score": 0.75
}
]
}
บล็อกโค้ดนี้ในหน้าต่างลอย
คำอธิบายผลลัพธ์ที่สำเร็จ
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| total | int | จำนวนส่วนความรู้ที่ส่งคืนทั้งหมด |
| list | JSON Array | รายการส่วนความรู้ที่ส่งคืน |
| content | string | เนื้อหาส่วนความรู้ |
| data_id | string | รหัสเอกสารต้นทาง |
| score | float | คะแนนความคล้ายคลึง |
คำอธิบายผลลัพธ์ที่ล้มเหลว
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| code | int | รหัสข้อผิดพลาด |
| message | string | รายละเอียดข้อผิดพลาด |
รหัสข้อผิดพลาด
| รหัส | ข้อความ |
|---|---|
| 40000 | พารามิเตอร์ผิดพลาด |
| 40127 | การยืนยันตัวตนนักพัฒนาล้มเหลว |
| 20059 | Agent/Workflow ถูกลบ |
