8.6 KiB
RAGFflowConnector
ดึงความรู้จากหรือจัดเก็บไฟล์ลงในฐานความรู้ RAGFlow โดยใช้ RAGFlow API
เกี่ยวกับ RAGFlow
RAGFlow คือกลไกโอเพ่นซอร์ส RAG (Retrieval-Augmented Generation) ที่อิงตามความเข้าใจเอกสารเชิงลึก มีความสามารถในการตอบคำถามตามความเป็นจริงพร้อมการอ้างอิงที่มีพื้นฐานมาจากข้อมูลที่มีรูปแบบซับซ้อนต่างๆ
คุณสมบัติ
- ดึงข้อมูลชิ้นความรู้จากชุดข้อมูล/ฐานความรู้ RAGFlow
- อัปโหลดและนำเข้าไฟล์ลงในชุดข้อมูล RAGFlow พร้อมการแยกวิเคราะห์อัตโนมัติ
- รองรับชุดข้อมูลหลายชุดในแบบสอบถามเดียว
- เกณฑ์ความคล้ายคลึงที่กำหนดค่าได้และน้ำหนักเวกเตอร์
- การค้นหาแบบไฮบริดที่รวมความคล้ายคลึงกันของคำหลักและเวกเตอร์
- การสร้างกราฟความรู้ GraphRAG ทริกเกอร์อัตโนมัติหลังจากการนำเข้า
- ทริกเกอร์การสรุปลำดับชั้น RAPTOR อัตโนมัติหลังจากการกลืนกิน
- การตรวจสอบรหัสชุดข้อมูลในการสร้างฐานความรู้
- ส่งกลับผลลัพธ์พร้อมข้อมูลเมตาที่หลากหลาย รวมถึงคะแนนความคล้ายคลึงกันของคำศัพท์และเวกเตอร์
การกำหนดค่า
ปลั๊กอินนี้ต้องการพารามิเตอร์การกำหนดค่าต่อไปนี้:
พารามิเตอร์ที่จำเป็น (การตั้งค่าการสร้าง)
-api_base_url: URL พื้นฐานสำหรับ RAGFlow API
- สำหรับการปรับใช้ในพื้นที่:
http://localhost:9380(ค่าเริ่มต้น) - สำหรับเซิร์ฟเวอร์ระยะไกล: URL เซิร์ฟเวอร์ของคุณ (เช่น
http://your-domain.com:9380) -api_key: คีย์ RAGFlow API ของคุณจากอินสแตนซ์ RAGFlow ของคุณ -dataset_ids: ID ชุดข้อมูลที่คั่นด้วยเครื่องหมายจุลภาคเพื่อค้นหา - รูปแบบ:
"dataset_id1,dataset_id2,dataset_id3" - ตัวอย่าง:
"b2a62730759d11ef987d0242ac120004,a3b52830859d11ef887d0242ac120005"
พารามิเตอร์เสริม (การตั้งค่าการสร้าง)
-auto_graphrag(ค่าเริ่มต้น: false): ทริกเกอร์การสร้างกราฟความรู้ GraphRAG โดยอัตโนมัติหลังจากการนำเข้าไฟล์ -auto_raptor(ค่าเริ่มต้น: false): ทริกเกอร์การสรุปลำดับชั้นของ RAPTOR โดยอัตโนมัติหลังจากการนำเข้าไฟล์
พารามิเตอร์เสริม (การตั้งค่าการดึงข้อมูล)
-top_k(ค่าเริ่มต้น: 1024): จำนวนผลลัพธ์สูงสุดที่ดึงข้อมูลได้
-similarity_threshold(ค่าเริ่มต้น: 0.2): คะแนนความคล้ายคลึงขั้นต่ำ (0-1)
-vector_similarity_weight(ค่าเริ่มต้น: 0.3): น้ำหนักสำหรับความคล้ายคลึงกันของเวกเตอร์ในการค้นหาแบบไฮบริด (0-1)
-page_size(ค่าเริ่มต้น: 30): จำนวนผลลัพธ์ต่อหน้า
-คำหลัก(ค่าเริ่มต้น: เท็จ): ใช้ LLM เพื่อแยกคำหลักออกจากข้อความค้นหาเพื่อปรับปรุงการดึงข้อมูล
-rerank_id: ID โมเดลการจัดอันดับใหม่ที่ได้รับการกำหนดค่าใน RAGFlow (เช่นBAAI/bge-reranker-v2-m3)
-use_kg(ค่าเริ่มต้น: false): เปิดใช้งานการดึงข้อมูลกราฟความรู้
วิธีรับค่าการกำหนดค่า
รับคีย์ RAGFlow API ของคุณ
- เข้าถึงอินสแตนซ์ RAGFlow ของคุณ (เช่น
http://localhost:9380) - ไปที่ส่วนการตั้งค่าผู้ใช้>API
- สร้างหรือคัดลอกคีย์ API ของคุณ (รูปแบบ:
ragflow-xxxxx)
รับรหัสชุดข้อมูลของคุณ
- ใน RAGFlow ไปที่รายการฐานความรู้/ชุดข้อมูลของคุณ
- คลิกที่ชุดข้อมูลเพื่อดูรายละเอียด
- โดยทั่วไปรหัสชุดข้อมูลจะแสดงใน URL หรือรายละเอียดชุดข้อมูล
- สำหรับชุดข้อมูลหลายชุด ให้รวบรวม ID ทั้งหมดและรวมเข้าด้วยกันด้วยเครื่องหมายจุลภาค
การอ้างอิง API
ปลั๊กอินนี้ใช้ RAGFlow API ต่อไปนี้:
- การดึงข้อมูล:
POST /api/v1/การดึงข้อมูล - อัปโหลดเอกสาร:
POST /api/v1/datasets/{dataset_id}/documents - แยกวิเคราะห์เอกสาร:
POST /api/v1/datasets/{dataset_id}/chunks - ลบเอกสาร:
DELETE /api/v1/datasets/{dataset_id}/documents - โครงสร้าง GraphRAG:
POST /api/v1/datasets/{dataset_id}/run_graphrag - โครงสร้าง RAPTOR:
POST /api/v1/datasets/{dataset_id}/run_raptor - แสดงรายการชุดข้อมูล (การตรวจสอบ):
GET /api/v1/datasets - เอกสารประกอบ: https://ragflow.io/docs/dev/http_api_reference
วิธีการดึงข้อมูล
RAGFlow ใช้วิธีการดึงข้อมูลแบบไฮบริด: -ความคล้ายคลึงกันของคำหลัก: การจับคู่ตามคำหลักแบบดั้งเดิม -ความคล้ายคลึงกันของเวกเตอร์: ความคล้ายคลึงกันเชิงความหมายโดยใช้การฝัง -ชุดค่าผสมถ่วงน้ำหนัก: รวมทั้งสองวิธีเข้ากับน้ำหนักที่กำหนดค่าได้ -กราฟความรู้: การดึงข้อมูลตามกราฟเพิ่มเติมสำหรับคำตอบที่คำนึงถึงความสัมพันธ์ -การจัดอันดับใหม่: รูปแบบการจัดอันดับใหม่เพิ่มเติมเพื่อคุณภาพผลลัพธ์ที่ดีขึ้น
พารามิเตอร์vector_similarity_weightควบคุมความสมดุลระหว่างวิธีคำหลักและเวกเตอร์