Tool: rag_read_file — อ่านเฉพาะเอกสารที่ register อยู่ใน MCP-RagMax

ภาพประกอบ: Tool: rag_read_file — อ่านเฉพาะเอกสารที่ register อยู่ใน MCP-RagMax

rag_read_file ใช้เมื่อ caller รู้แล้วว่าต้องการตรวจเอกสารต้นฉบับตัวไหนใน knowledge base และต้องการอ่านข้อความจากไฟล์นั้นต่อจาก retrieval

ขอบเขตสำคัญที่สุด

Tool นี้อ่านได้เฉพาะ registered KB document เท่านั้น ไม่รับ arbitrary path เพื่อเปิดไฟล์ใดๆ บนเครื่อง

เมื่อส่ง filename เข้ามา backend จะ resolve ผ่าน registry ก่อน:

  • ไม่พบใน registry → fail
  • ชื่อกำกวมและตรงหลายไฟล์ → fail พร้อม candidate filenames แบบ bounded
  • resolve ได้ไฟล์เดียว → จึงอ่านเนื้อหาและคืนผล

นี่ทำให้ MCP host มีความสามารถตรวจ source ต่อได้โดยไม่ต้องเพิ่ม shell หรือ filesystem tool ที่กว้างเกินความจำเป็น

Workflow ที่เหมาะ

rag_retrieve(query="leave policy")
   ↓
ได้ candidate/source ที่เกี่ยวข้อง
   ↓
rag_read_file(filename="leave-policy.pdf")
   ↓
caller ตรวจต้นฉบับก่อนสรุป

ถ้าจำชื่อไฟล์ได้เพียงบางส่วน ให้เรียก rag_search_files ก่อนแทนการเดาชื่อ

ทำไม registry สำคัญกว่าการเช็ค path อย่างเดียว

แค่เช็คว่า path อยู่ใต้ workspace/knowledge/ ยังไม่พอสำหรับ contract ของ RAG เพราะไฟล์ที่ยังไม่ผ่าน build หรือไม่อยู่ใน state ปัจจุบันอาจไม่ตรงกับ index ที่ retrieval ใช้

การบังคับว่าไฟล์ต้อง registered ก่อนอ่านช่วยให้เส้นทาง “ค้น → ตรวจ source” อ้างอิง knowledge state ชุดเดียวกันมากขึ้น

Output มีขอบเขต

MCP-RagMax cap output ของ tool เพื่อไม่ให้เอกสารขนาดใหญ่มากไหลเข้า context ของ caller แบบไม่จำกัด หากต้องอ่านเอกสารอย่างละเอียดมาก ควรออกแบบ caller ให้ใช้ข้อมูลจาก retrieval/source อย่างเป็นขั้นตอนแทนการยัดทั้งคลังเข้าโมเดล

อ่านต่อ

ความคิดเห็น

กำลังโหลดความคิดเห็น...