เริ่มต้นใช้งาน ENDEAVOR RAG

ENDEAVOR RAG คือผู้ช่วย RAG (Retrieval-Augmented Generation) แบบ local-first สำหรับค้นเอกสารภาษาไทยและอังกฤษบน Mac Apple Silicon — เอกสารและดัชนีทั้งหมดอยู่ในเครื่องของคุณเอง ไม่ถูกส่งให้ cloud LLM
เหมาะกับการถามคำถามแบบ “ในเอกสารของฉันพูดถึงเรื่องนี้ว่าอย่างไร” — ไม่ใช่ web-search agent และไม่ใช่เครื่องมืออ่าน filesystem ทั้งเครื่อง การค้นหาเริ่มจาก workspace/knowledge/ ที่คุณกำหนดไว้เท่านั้น
ทำอะไรได้บ้าง
- Ingest เอกสารหลายรูปแบบ — Markdown, text, PDF, CSV, JSON
- Thai-aware chunking พร้อม context parent/child ไม่ตัดประโยคภาษาไทยกลางคำ
- ค้นหาแบบผสม — dense embeddings (
paraphrase-multilingual-MiniLM-L12-v2) + BM25 ที่ตัดคำไทยด้วยpythainlpแล้วรวมผลด้วย RRF fusion - Local LLM reranking — เลือก context ที่เกี่ยวข้องที่สุดก่อนสรุปคำตอบ
- Terminal chat ภาษาไทย พร้อมเครื่องมือค้นหาไฟล์ อ่านไฟล์ และบันทึก memory
ความต้องการของเครื่อง
- macOS บน Apple Silicon (arm64)
- Python 3.11
- พื้นที่ดิสก์สำหรับ Python packages, embedding model และ LLM model
- อินเทอร์เน็ตครั้งแรกสำหรับติดตั้ง packages และดาวน์โหลดโมเดล
โมเดลเริ่มต้นคือ mlx-community/Qwen3.5-2B-OptiQ-4bit (ตัวเดียวกับ ENDEAVOR AGENT LITE) น้ำหนักโมเดลไม่ได้อยู่ใน repository จะดาวน์โหลดเมื่อเปิด server ครั้งแรก
ติดตั้ง
git clone https://github.com/halochamp/ENDEAVOR_RAG_LITE.git
cd ENDEAVOR_RAG_LITE
bash install_library/install.sh
source .venv/bin/activate
python tools/doctor.py
Installer จะตรวจ macOS/Apple Silicon สร้าง .venv และติดตั้ง dependency ที่ lock hash ไว้ โดยยังไม่เปิด server ไม่โหลดโมเดล และไม่สแกนเอกสารของคุณ — doctor.py เป็นคำสั่งตรวจสอบแบบ read-only
เริ่มใช้งาน
วางเอกสารไว้ใต้ workspace/knowledge/ แล้วสร้างดัชนี:
python tools/build_index.py
จากนั้นเปิด agent:
python main.py
main.py จะเปิด local MLX server ที่ port 8092 ให้เองถ้ายังไม่ทำงาน หรือจะเปิดเองในเทอร์มินัลแยกก็ได้:
python -m mlx_vlm.server \
--model mlx-community/Qwen3.5-2B-OptiQ-4bit \
--host 127.0.0.1 --port 8092 --api-key x \
--prefill-step-size 512
ย้ายเอกสารไปเก็บที่อื่น
ทุกค่าตั้งค่าผ่าน environment variable ได้โดยไม่ต้องแก้ source code เช่นย้าย workspace ไปดิสก์อื่น:
export RAGMAX_WORKSPACE="$PWD/my_rag_workspace"
export RAGMAX_KNOWLEDGE_DIR="$RAGMAX_WORKSPACE/knowledge"
export RAGMAX_STATE_DIR="$RAGMAX_WORKSPACE/.rag_state"
python tools/build_index.py
แม้กำหนด path เอง ระบบจะปฏิเสธ source ที่หลุดออกนอก knowledge root (รวมถึง symlink/path traversal) เพื่อไม่บันทึก path ของไฟล์ที่อยู่นอกขอบเขตที่กำหนด
ความเป็นส่วนตัว
Local UI และ MLX server bind กับ 127.0.0.1 เท่านั้น เอกสาร, path, index และ memory อยู่ในเครื่องและไม่ถูกส่งให้ hosted LLM โดยตัวโปรเจกต์เอง — แต่โมเดลขนาดเล็กอาจสรุปหรือเลือก tool ผิดได้บ้าง ควรตรวจคำตอบสำคัญกับเอกสารต้นฉบับเสมอ และไม่ควรใส่ credentials หรือข้อมูลอ่อนไหวลงในเอกสารที่ ingest โดยไม่จำเป็น
ความคิดเห็น
กำลังโหลดความคิดเห็น...