เพิ่มเอกสารความรู้ 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 แต่จะส่งกลับข้อผิดพลาดข้างต้นโดยตรง