เพิ่มเอกสารประเภทข้อความ
เพิ่มเอกสารประเภทข้อความ
อัปโหลดเอกสาร ประเภทข้อความ แบบกลุ่ม ระบบจะประมวลผลทีละไฟล์ด้วยกระบวนการตัดแบ่งเนื้อหา (chunking/slicing), ฝังข้อมูล (embedding/vectorization) และจัดเก็บเพื่อให้ได้รหัสเอกสารใหม่
หมายเหตุ:
สามารถระบุโมเดล embedding ได้ด้วยembedding_model_version_idหากไม่ระบุจะใช้โมเดล embedding ค่าเริ่มต้นของระบบ
ผลลัพธ์ที่ได้จะเป็นเพียงผลการอัปโหลด ยังไม่ใช่ผล embedding สุดท้าย สามารถตรวจสอบผลลัพธ์สุดท้ายได้ผ่าน API "Query Document Status"
วิธีการเรียกใช้งาน
POST
URL สำหรับเรียกใช้งาน
https://api-${endpoint}.gptbots.ai/v1/bot/doc/text/add
การยืนยันตัวตนในการเรียกใช้งาน
โปรดดูรายละเอียดการยืนยันตัวตนในหัวข้อ Overview
ตัวอย่างการเรียกใช้งาน
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/text/add' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"knowledge_base_id": "67457fea6f658672d6482542",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"chunk_token": 700,
"splitter": "\n",
"files": [
{
"file_url": "https://www.gptbots.ai/th_TH/docs/article_1.pdf",
"file_base64": "SGVsbG8sIEJhc2U2NCBFbmNvZGluZyE=",
"source_url": "https://www.gptbots.ai/th_TH/docs/article_1.pdf",
"file_name": "article_1.pdf"
}
]
}'
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/text/add' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"knowledge_base_id": "67457fea6f658672d6482542",
"embedding_model_version_id": "6620f06262390a0be1411c5d",
"chunk_token": 700,
"splitter": "\n",
"files": [
{
"file_url": "https://www.gptbots.ai/th_TH/docs/article_1.pdf",
"file_base64": "SGVsbG8sIEJhc2U2NCBFbmNvZGluZyE=",
"source_url": "https://www.gptbots.ai/th_TH/docs/article_1.pdf",
"file_name": "article_1.pdf"
}
]
}'
บล็อกโค้ดนี้ในหน้าต่างลอย
Header ของคำขอ
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| Authorization | Bearer ${API Key} | ใช้ Authorization: Bearer ${API Key} สำหรับยืนยันตัวตน รับ API Key ได้จากหน้า API Key |
| Content-Type | application/json | ประเภทข้อมูล ให้ตั้งค่าเป็น application/json |
พารามิเตอร์ของคำขอ
| ชื่อฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| knowledge_base_id | String | ไม่จำเป็น | รหัสฐานความรู้ที่ต้องการเพิ่มเอกสาร หากไม่ระบุจะใช้ฐานความรู้ "Default" |
| files | Array<Object> | จำเป็น | รายการเอกสารที่ต้องการเพิ่ม รองรับการเพิ่มได้สูงสุด 20 ไฟล์ต่อครั้ง |
| file_url | String | ไม่จำเป็น | URL ของเอกสารที่ต้องการเพิ่ม รองรับ pdf/txt/md/doc/docx ขนาดสูงสุด PDF 30MB, อื่นๆ 10MB หมายเหตุ: ต้องระบุ URL หรือ base64 อย่างใดอย่างหนึ่ง หากระบุทั้งสองจะใช้ base64 เป็นหลัก |
| file_base64 | String | ไม่จำเป็น | base64 ของเอกสารที่ต้องการเพิ่ม รองรับ pdf/txt/md/doc/docx ขนาดสูงสุด PDF 30MB, อื่นๆ 10MB หมายเหตุ: ต้องระบุ URL หรือ base64 อย่างใดอย่างหนึ่ง หากระบุทั้งสองจะใช้ base64 เป็นหลัก |
| file_name | String | จำเป็น | ชื่อไฟล์เอกสารที่ต้องการเพิ่ม ความยาว 1-200 ตัวอักษร |
| source_url | String | ไม่จำเป็น | URL ต้นทางของเอกสารที่ต้องการเพิ่ม ต้องเป็นไปตามมาตรฐาน URL |
| embedding_model_version_id | String | ไม่จำเป็น | รหัสเวอร์ชันของโมเดล embedding ที่ใช้ทำเวกเตอร์เอกสารชุดนี้ หากไม่ระบุจะใช้โมเดล embedding ค่าเริ่มต้นของระบบ ค่าที่ใช้ได้คือ modelId ในกลุ่ม EMBEDDING ที่ได้จาก API รับรายการโมเดล |
| chunk_token | Integer | ไม่จำเป็น | จำนวน token สูงสุดต่อหนึ่ง chunk ขณะตัดแบ่งเนื้อหา ค่าเริ่มต้น 600 ช่วงที่รองรับ 1-1000 หมายเหตุ: ต้องระบุ chunk_token หรือ splitter อย่างใดอย่างหนึ่ง หากระบุทั้งสองจะใช้ splitter เป็นหลัก หากไม่ระบุทั้งคู่ คำขอจะยังสำเร็จ แต่เอกสารจะประมวลผลล้มเหลวในขั้นตอนการทำเวกเตอร์ (สถานะ FAIL_STORE) จึงควรระบุอย่างน้อยหนึ่งค่าเสมอ |
| splitter | String | ไม่จำเป็น | ตัวแบ่งข้อความขณะตัด chunk ค่าเริ่มต้นว่าง สามารถใช้ "custom string" ได้ หมายเหตุ: ต้องระบุ chunk_token หรือ splitter อย่างใดอย่างหนึ่ง หากระบุทั้งสองจะใช้ splitter เป็นหลัก หากไม่ระบุทั้งคู่ คำขอจะยังสำเร็จ แต่เอกสารจะประมวลผลล้มเหลวในขั้นตอนการทำเวกเตอร์ (สถานะ FAIL_STORE) จึงควรระบุอย่างน้อยหนึ่งค่าเสมอ |
การตอบกลับ
ตัวอย่างการตอบกลับ
{
"doc": [
{
"doc_id": "xxxxxx",
"doc_name": "test_1.txt"
},
{
"doc_id": "xxxxxx",
"doc_name": "test_2.pdf"
}
],
"failed": [
"file_1",
"file_2"
]
}
{
"doc": [
{
"doc_id": "xxxxxx",
"doc_name": "test_1.txt"
},
{
"doc_id": "xxxxxx",
"doc_name": "test_2.pdf"
}
],
"failed": [
"file_1",
"file_2"
]
}
บล็อกโค้ดนี้ในหน้าต่างลอย
การตอบกลับเมื่อสำเร็จ
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| doc | Array<Object> | รายการเอกสารที่เพิ่มสำเร็จ |
| doc_id | String | รหัสเอกสารที่เพิ่ม |
| doc_name | String | ชื่อเอกสารที่เพิ่ม |
| failed | Array<Object> | รายชื่อไฟล์ที่เพิ่มไม่สำเร็จ |
การตอบกลับเมื่อไม่สำเร็จ
| ชื่อฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| 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 |
| 40127 | การยืนยันตัวตนของนักพัฒนาล้มเหลว |
| 20059 | Agent ถูกลบ |
หมายเหตุ: หาก
embedding_model_version_idไม่ผ่านการตรวจสอบ จะไม่มีการสร้างเอกสารใดในชุดนี้ และจะไม่ปรากฏในรายการfailedแต่จะส่งกลับข้อผิดพลาดข้างต้นโดยตรง
