คู่มือ API การดึงความรู้

Endpoint ของคำขอ

POST /external/use/seek-knowledge/seek HTTP/1.1

ขอรายการโมเดลที่ใช้ได้

GET /external/use/seek-knowledge/models HTTP/1.1

Header ของคำขอ

HeaderValueคำอธิบาย
AuthorizationBearer <your_token>โทเค็นการยืนยันตัวตนสำหรับตรวจสอบตัวตนของผู้ใช้ แทนที่ <your_token> ด้วยโทเค็นจริงของคุณ
Content-Typeapplication/jsonระบุว่าเนื้อหาคำขออยู่ในรูปแบบ JSON
Hostedge.flowith.netที่อยู่เซิร์ฟเวอร์ API
User-AgentHTTPie(ทางเลือก) ตัวระบุไคลเอนต์

เนื้อหาคำขอ (JSON)

พารามิเตอร์ประเภทคำอธิบาย
messagesArrayรายการข้อความในบทสนทนา แต่ละอ็อบเจกต์ข้อความมีฟิลด์ role และ content
modelStringชื่อโมเดล ตัวอย่าง: "gpt-4o-mini"
streamBooleanเปิดใช้คำตอบแบบสตรีมหรือไม่? true เพื่อเปิด, false เพื่อปิด
kb_listString Arrayรายการ ID ฐานความรู้ ระบุขอบเขตสำหรับการดึงความรู้

รายละเอียดฟิลด์ messages

  • role: บทบาทของข้อความ สามารถเป็น "assistant" หรือ "user"
  • content: เนื้อหาข้อความ เช่น คำถามหรือคำสั่งที่ซับซ้อน

คำตอบ

เมื่อ stream เป็น true (คำตอบแบบสตรีม)

  • รหัสสถานะคำตอบ: 200 OK
  • Header ของคำตอบ: รวม HTTP header มาตรฐาน เช่น Content-Type: text/plain; charset=UTF-8 เป็นต้น
  • เนื้อหาคำตอบ: สตรีมข้อความที่เริ่มต้นด้วย data: แต่ละบล็อก data: มีอ็อบเจกต์ JSON ที่มีค่า tag ที่เป็นไปได้ดังนี้:
    • searching: ระบุว่าการค้นหากำลังดำเนินอยู่ ฟิลด์ content มีการอัปเดตความคืบหน้า
    • seeds: ผลการค้นหาระหว่างกลาง content เป็น JSON array โดยแต่ละองค์ประกอบคือความรู้ชิ้นหนึ่งที่แตกต่างกันซึ่งมี id, tokens, content, order, source_id, source_title, และ nip
    • final: ระบุผลลัพธ์สุดท้าย content มีข้อความคำตอบที่สมบูรณ์

เมื่อ stream เป็น false

  • รหัสสถานะคำตอบ: 200 OK
  • Header ของคำตอบ: รวม HTTP header มาตรฐาน เช่น Content-Type: application/json เป็นต้น
  • เนื้อหาคำตอบ: อ็อบเจกต์ JSON ที่มีฟิลด์ tag และ content
    • tag: เป็น "final" เสมอ
    • content: ข้อความคำตอบที่สมบูรณ์

ตัวอย่าง curl

คำตอบแบบสตรีม (stream = true)

curl -X POST "https://edge.flowith.net/external/use/knowledge-base/seek" \
  -H "Authorization: Bearer <your_token>" \
  -H "Content-Type: application/json" \
  -H "Host: edge.flowith.net" \
  -d '{
    "messages": [
      {"role": "assistant", "content": "I'd like to explore effective social dynamics and interpersonal relationships"},
      {"role": "user", "content": "Share your best strategies for authentic connection and building rapport in professional settings"}
    ],
    "model": "gpt-4.1-mini",
    "stream": true,
    "kb_list": ["<knowledge_base_id>"]
  }' 

คำตอบแบบไม่สตรีม (stream = false)

curl -X POST "https://edge.flowith.net/external/use/knowledge-base/seek" \
  -H "Authorization: Bearer <your_token>" \
  -H "Content-Type: application/json" \
  -H "Host: edge.flowith.net" \
  -d '{
    "messages": [
      {"role": "assistant", "content": "I'd like to explore effective social dynamics and interpersonal relationships"},
      {"role": "user", "content": "Share your best strategies for authentic connection and building rapport in professional settings"}
    ],
    "model": "gpt-4.1-mini",
    "stream": false,
    "kb_list": ["<knowledge_base_id>"]
  }' 

อย่าลืมแทนที่ <your_token> และ <knowledge_base_id> ด้วยค่าจริงของคุณ

ขีดจำกัดอัตรา (Rate Limits)

  • คำขอ: 12 คำขอต่อนาที (RPM)
  • หมายเหตุ: การเกินขีดจำกัดนี้จะส่งผลให้เกิดข้อผิดพลาด HTTP 429 (Too Many Requests)

การเรียกเก็บเงิน

  • การใช้โควตา: ค่าใช้จ่ายคำนวณตามโควตา Credits ของบัญชี Flowith ที่เกี่ยวข้อง
  • รอบการเรียกเก็บเงิน: การใช้งานถูกคำนวณและหักออกจากยอดคงเหลือในบัญชีของคุณแบบเรียลไทม์