# 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 ของคุณ 1. เข้าถึงอินสแตนซ์ RAGFlow ของคุณ (เช่น`http://localhost:9380`) 2. ไปที่ส่วน**การตั้งค่าผู้ใช้**>**API** 3. สร้างหรือคัดลอกคีย์ API ของคุณ (รูปแบบ:`ragflow-xxxxx`) ### รับรหัสชุดข้อมูลของคุณ 1. ใน RAGFlow ไปที่รายการฐานความรู้/ชุดข้อมูลของคุณ 2. คลิกที่ชุดข้อมูลเพื่อดูรายละเอียด 3. โดยทั่วไปรหัสชุดข้อมูลจะแสดงใน URL หรือรายละเอียดชุดข้อมูล 4. สำหรับชุดข้อมูลหลายชุด ให้รวบรวม 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`ควบคุมความสมดุลระหว่างวิธีคำหลักและเวกเตอร์