เพิ่มเอกสารความรู้ QA
เพิ่มเอกสารความรู้ QA
สามารถใช้ API นี้เพื่อเพิ่มเอกสารความรู้แบบคู่ถาม-ตอบ (QA) ลงในฐานความรู้ของ Agent รองรับ 3 วิธี ได้แก่ ส่งข้อความ QA โดยตรง, อัปโหลดไฟล์รูปแบบ QA (CSV) และอัปโหลดเอกสารเพื่อให้ระบบแปลงเป็นคู่ QA โดยอัตโนมัติ
วิธีการเรียกใช้งาน
POST
URL สำหรับเรียกใช้งาน
https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add
การยืนยันตัวตนในการเรียกใช้งาน
โปรดดูรายละเอียดวิธีการยืนยันตัวตนได้ที่ ภาพรวม API
คำขอ
ตัวอย่างคำขอ
วิธีส่งข้อความ QA:
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "QA_TEXT",
"name": "คำถามที่พบบ่อย",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"qaList": [
{
"question": "จะสมัครบัญชีได้อย่างไร?",
"answer": "คลิกปุ่มสมัครสมาชิกที่มุมขวาบนของหน้าแรก กรอกอีเมลและรหัสผ่านเพื่อสมัครให้เสร็จสมบูรณ์"
},
{
"question": "จะรีเซ็ตรหัสผ่านได้อย่างไร?",
"answer": "คลิกลืมรหัสผ่านที่หน้าเข้าสู่ระบบ แล้วทำตามคำแนะนำเพื่อรีเซ็ตรหัสผ่าน"
}
]
}'
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "QA_TEXT",
"name": "คำถามที่พบบ่อย",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"qaList": [
{
"question": "จะสมัครบัญชีได้อย่างไร?",
"answer": "คลิกปุ่มสมัครสมาชิกที่มุมขวาบนของหน้าแรก กรอกอีเมลและรหัสผ่านเพื่อสมัครให้เสร็จสมบูรณ์"
},
{
"question": "จะรีเซ็ตรหัสผ่านได้อย่างไร?",
"answer": "คลิกลืมรหัสผ่านที่หน้าเข้าสู่ระบบ แล้วทำตามคำแนะนำเพื่อรีเซ็ตรหัสผ่าน"
}
]
}'
บล็อกโค้ดนี้ในหน้าต่างลอย
วิธีอัปโหลดไฟล์ QA:
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "QA_FILE",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"files": [
{
"file_url": "https://example.com/qa.csv",
"file_name": "qa_data.csv"
}
]
}'
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "QA_FILE",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"files": [
{
"file_url": "https://example.com/qa.csv",
"file_name": "qa_data.csv"
}
]
}'
บล็อกโค้ดนี้ในหน้าต่างลอย
วิธีแปลงเอกสารเป็น QA:
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "FILE_2_QA",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"files": [
{
"source_url": "https://example.com/product_manual.pdf",
"file_name": "คู่มือผลิตภัณฑ์.pdf"
}
]
}'
curl -X POST https://api-${endpoint}.gptbots.ai/v1/bot/doc/qa/add \
-H 'Authorization: Bearer your_apikey' \
-H 'Content-Type: application/json' \
-d '{
"purpose": "FILE_2_QA",
"knowledge_base_id": "673af861ed69656ac0895b07",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"files": [
{
"source_url": "https://example.com/product_manual.pdf",
"file_name": "คู่มือผลิตภัณฑ์.pdf"
}
]
}'
บล็อกโค้ดนี้ในหน้าต่างลอย
Header ของคำขอ
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| Authorization | Bearer ${token} | ใช้ Authorization: Bearer ${token} สำหรับยืนยันตัวตน โดยรับคีย์จากหน้า API Key มาใช้เป็น token |
| Content-Type | application/json | ประเภทข้อมูล ให้ตั้งค่าเป็น application/json |
Body ของคำขอ
| ชื่อฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| purpose | string | จำเป็น | ประเภทข้อมูล ค่าที่ใช้ได้: QA_TEXT (ข้อความ QA), QA_FILE (ไฟล์รูปแบบ QA), FILE_2_QA (แปลงเอกสารเป็น QA) |
| knowledge_base_id | string | ไม่จำเป็น | รหัสฐานความรู้ หากไม่ระบุจะใช้ฐานความรู้เริ่มต้น |
| name | string | จำเป็นตามเงื่อนไข | ชื่อเอกสาร จำเป็นเมื่อ purpose เป็น QA_TEXT |
| qaList | list | จำเป็นตามเงื่อนไข | รายการคู่ QA จำเป็นเมื่อ purpose เป็น QA_TEXT |
| question | string | จำเป็น | เนื้อหาคำถาม |
| answer | string | จำเป็น | เนื้อหาคำตอบ |
| files | list | จำเป็นตามเงื่อนไข | รายการไฟล์ จำเป็นเมื่อ purpose เป็น QA_FILE หรือ FILE_2_QA สูงสุด 20 ไฟล์ |
| source_url | string | จำเป็น | URL ต้นทางของไฟล์ |
| file_name | string | จำเป็น | ชื่อไฟล์ |
| doc_id | string | ไม่จำเป็น | รหัสเอกสาร |
| file_url | string | ไม่จำเป็น | URL ของไฟล์ |
| file_base64 | string | ไม่จำเป็น | เนื้อหาไฟล์ที่เข้ารหัสแบบ base64 |
| header_row | int | ไม่จำเป็น | หมายเลขแถวหัวตาราง |
| chunk_token | int | ไม่จำเป็น | จำนวน token ต่อหนึ่ง chunk ค่าเริ่มต้น 600 |
| splitter | string | ไม่จำเป็น | ตัวแบ่งข้อความ |
| embedding_model_version_id | string | ไม่จำเป็น | รหัสเวอร์ชันของโมเดล embedding ที่ใช้ทำเวกเตอร์เอกสารชุดนี้ หากไม่ระบุจะใช้โมเดล embedding ค่าเริ่มต้นของระบบ ค่าที่ใช้ได้คือ modelId ในกลุ่ม EMBEDDING ที่ได้จาก API รับรายการโมเดล |
เมื่อ purpose เป็น
QA_TEXTต้องระบุ name และ qaList
เมื่อ purpose เป็นQA_FILEหรือFILE_2_QAต้องระบุ files และรองรับสูงสุด 20 ไฟล์
การตอบกลับ
ตัวอย่างการตอบกลับ
{
"doc": [
{
"doc_id": "680d1a2b3c4d5e6f7a8b9c0d",
"doc_name": "คำถามที่พบบ่อย"
}
],
"failed": []
}
{
"doc": [
{
"doc_id": "680d1a2b3c4d5e6f7a8b9c0d",
"doc_name": "คำถามที่พบบ่อย"
}
],
"failed": []
}
บล็อกโค้ดนี้ในหน้าต่างลอย
การตอบกลับเมื่อสำเร็จ
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| doc | list | รายการเอกสารที่เพิ่มสำเร็จ |
| doc_id | string | รหัสเอกสาร |
| doc_name | string | ชื่อเอกสาร |
| failed | list | รายชื่อไฟล์ที่เพิ่มไม่สำเร็จ |
การตอบกลับเมื่อไม่สำเร็จ
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| code | int | รหัสข้อผิดพลาด |
| message | string | รายละเอียดข้อผิดพลาด |
รหัสข้อผิดพลาด
| Code | Message |
|---|---|
| 40000 | พารามิเตอร์ไม่ถูกต้อง |
| 40000 | The embedding_model_version_id does not exist: ไม่พบรหัสเวอร์ชันโมเดลที่ระบุในรายการโมเดลของแพลตฟอร์ม |
| 40000 | The embedding_model_version_id is not an embedding model: รหัสที่ระบุไม่ใช่โมเดล embedding (เช่น ระบุ modelId ของโมเดลแชท) |
| 40000 | The embedding_model_version_id is not an available embedding model: ผู้ให้บริการของโมเดล embedding นี้ยังไม่รองรับการระบุผ่าน API |
| 50000 | ข้อผิดพลาดภายในระบบ |
หมายเหตุ: หาก
embedding_model_version_idไม่ผ่านการตรวจสอบ จะไม่มีการสร้างเอกสารใดในชุดนี้ และจะไม่ปรากฏในรายการfailedแต่จะส่งกลับข้อผิดพลาดข้างต้นโดยตรง
