อังกฤษ | 简体中文 | ภาษาญี่ปุ่น | เกาหลี
- RAGFlow คืออะไร?
- สาธิต
- อัพเดทล่าสุด
- คุณสมบัติที่สำคัญ
- สถาปัตยกรรมระบบ
- เริ่มต้นเลย
- การกำหนดค่า
- สร้างอิมเมจนักเทียบท่าโดยไม่ต้องฝังโมเดล
- สร้างอิมเมจนักเทียบท่ารวมถึงการฝังโมเดล
- เปิดตัวบริการจากแหล่งเพื่อการพัฒนา
- เอกสารประกอบ
- แผนการทำงาน
- ชุมชน
- มีส่วนร่วม
RAGFlow คือกลไกโอเพ่นซอร์ส RAG (Retrieval-Augmented Generation) ที่อิงตามความเข้าใจเอกสารเชิงลึก โดยนำเสนอขั้นตอนการทำงาน RAG ที่มีประสิทธิภาพสำหรับธุรกิจทุกขนาด โดยผสมผสาน LLM (โมเดลภาษาขนาดใหญ่) เพื่อให้มีความสามารถในการตอบคำถามตามความเป็นจริง ซึ่งได้รับการสนับสนุนโดยการอ้างอิงที่มีพื้นฐานมาจากข้อมูลที่มีรูปแบบซับซ้อนต่างๆ
ลองสาธิตของเราที่ https://demo.ragflow.io
04-11-2024 อัปเกรดโมเดล DLA (การวิเคราะห์เค้าโครงเอกสาร) ใน deepdoc
01-11-2024 เพิ่มการแยกคำหลักและการสร้างคำถามที่เกี่ยวข้องให้กับส่วนที่แยกวิเคราะห์เพื่อปรับปรุงความแม่นยำในการดึงข้อมูล
13-09-2024 เพิ่มโหมดค้นหาสำหรับคำถามและคำตอบฐานความรู้
09-09-2024 เพิ่มเทมเพลตตัวแทนที่ปรึกษาทางการแพทย์
2024-08-22 รองรับข้อความเป็นคำสั่ง SQL ผ่าน RAG
02-08-2024 รองรับ GraphRAG ที่ได้รับแรงบันดาลใจจาก Graphrag และแผนที่ความคิด
⭐️ติดดาวพื้นที่เก็บข้อมูลของเราเพื่อติดตามข่าวสารล่าสุดด้วยคุณสมบัติและการปรับปรุงใหม่ที่น่าตื่นเต้น! รับการแจ้งเตือนทันทีสำหรับรุ่นใหม่! -
การแยกความรู้ตามความเข้าใจในเอกสารเชิงลึกจากข้อมูลที่ไม่มีโครงสร้างด้วยรูปแบบที่ซับซ้อน
ค้นหา "เข็มในกองข้อมูล" ของโทเค็นไม่จำกัดอย่างแท้จริง
ฉลาดและอธิบายได้
มีตัวเลือกเทมเพลตมากมายให้เลือก
การแสดงภาพข้อความเป็นชิ้นเพื่อให้มนุษย์สามารถเข้าไปแทรกแซงได้
มุมมองด่วนของข้อมูลอ้างอิงที่สำคัญและการอ้างอิงที่ติดตามได้เพื่อรองรับคำตอบที่มีพื้นฐาน
รองรับ Word, สไลด์, Excel, txt, รูปภาพ, สำเนาที่สแกน, ข้อมูลที่มีโครงสร้าง, เว็บเพจ และอื่นๆ
การจัดการ RAG ที่มีประสิทธิภาพรองรับทั้งธุรกิจส่วนบุคคลและธุรกิจขนาดใหญ่
LLM ที่กำหนดค่าได้ตลอดจนโมเดลการฝัง
การเรียกคืนหลายครั้งจับคู่กับการจัดอันดับใหม่แบบผสม
API ที่ใช้งานง่ายสำหรับการบูรณาการกับธุรกิจได้อย่างราบรื่น
ซีพียู >= 4 คอร์
แรม >= 16GB
ดิสก์ >= 50 GB
นักเทียบท่า >= 24.0.0 & นักเทียบท่าเขียน >= v2.26.1
หากคุณไม่ได้ติดตั้ง Docker บนเครื่องของคุณ (Windows, Mac หรือ Linux) โปรดดูการติดตั้ง Docker Engine
ตรวจสอบให้แน่ใจว่า vm.max_map_count
>= 262144:
วิธีตรวจสอบค่าของ
vm.max_map_count
:$ sysctl vm.max_map_countรีเซ็ต
vm.max_map_count
เป็นค่าอย่างน้อย 262144 หากไม่ใช่# ในกรณีนี้ เราตั้งค่าเป็น 262144:$ sudo sysctl -w vm.max_map_count=262144การเปลี่ยนแปลงนี้จะถูกรีเซ็ตหลังจากรีบูตระบบ เพื่อให้แน่ใจว่าการเปลี่ยนแปลงของคุณยังคงอยู่อย่างถาวร ให้เพิ่มหรืออัปเดตค่า
vm.max_map_count
ใน /etc/sysctl.conf ตามนั้น:vm.max_map_count=262144
โคลน repo:
$ git โคลน https://github.com/infiniflow/ragflow.git
สร้างอิมเมจ Docker ที่สร้างไว้ล่วงหน้าและเริ่มต้นเซิร์ฟเวอร์:
คำสั่งด้านล่างจะดาวน์โหลดอิมเมจ Docker เวอร์ชัน dev สำหรับ RAGFlow slim (
dev-slim
) โปรดทราบว่าอิมเมจ Docker แบบบางของ RAGFlow ไม่รวมโมเดลการฝังหรือไลบรารี Python ดังนั้นจึงมีขนาดประมาณ 1GB
$ ซีดี ragflow/นักเทียบท่า $ นักเทียบท่าเขียน -f นักเทียบท่า-compose.yml ขึ้น -d
หมายเหตุ: อิมเมจ RAGFlow Docker ที่มีโมเดลการฝังและไลบรารี Python มีขนาดประมาณ 9GB และอาจใช้เวลาโหลดนานกว่ามาก
หากต้องการดาวน์โหลดอิมเมจ RAGFlow slim Docker ของเวอร์ชันใดเวอร์ชันหนึ่ง ให้อัปเดตตัวแปร RAGFlow_IMAGE
ใน * docker/.env * เป็นเวอร์ชันที่คุณต้องการ ตัวอย่างเช่น RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0-slim
หลังจากทำการเปลี่ยนแปลงนี้แล้ว ให้รันคำสั่งด้านบนอีกครั้งเพื่อเริ่มการดาวน์โหลด
หากต้องการดาวน์โหลดอิมเมจ RAGFlow Docker เวอร์ชัน dev รวมถึง โมเดลการฝังและไลบรารี Python ให้อัปเดตตัวแปร RAGFlow_IMAGE
ใน docker/.env เป็น RAGFLOW_IMAGE=infiniflow/ragflow:dev
หลังจากทำการเปลี่ยนแปลงนี้แล้ว ให้รันคำสั่งด้านบนอีกครั้งเพื่อเริ่มการดาวน์โหลด
หากต้องการดาวน์โหลดอิมเมจ RAGFlow Docker เวอร์ชันเฉพาะ รวมถึง โมเดลที่ฝังและไลบรารี Python ให้อัปเดตตัวแปร RAGFlow_IMAGE
ใน docker/.env เป็นเวอร์ชันที่คุณต้องการ ตัวอย่างเช่น RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0
หลังจากทำการเปลี่ยนแปลงนี้แล้ว ให้รันคำสั่งด้านบนอีกครั้งเพื่อเริ่มการดาวน์โหลด
ตรวจสอบสถานะเซิร์ฟเวอร์หลังจากเปิดใช้งานเซิร์ฟเวอร์แล้ว:
บันทึกนักเทียบท่า $ -f ragflow-server
เอาต์พุตต่อไปนี้ยืนยันการเปิดตัวระบบได้สำเร็จ:
- - - - - - - - - - - - * ทำงานบนทุกที่อยู่ (0.0.0.0) * ทำงานบน http://127.0.0.1:9380 * ทำงานบน http://xxxx:9380 INFO:werkzeug:กด CTRL+C เพื่อออก
หากคุณข้ามขั้นตอนการยืนยันนี้และเข้าสู่ระบบ RAGFlow โดยตรง เบราว์เซอร์ของคุณอาจแจ้งข้อผิดพลาด
network abnormal
เนื่องจากในขณะนั้น RAGFlow ของคุณอาจไม่สามารถเริ่มต้นได้อย่างสมบูรณ์
ในเว็บเบราว์เซอร์ของคุณ ให้ป้อนที่อยู่ IP ของเซิร์ฟเวอร์ของคุณและเข้าสู่ระบบ RAGFlow
ด้วยการตั้งค่าเริ่มต้น คุณจะต้องป้อน
http://IP_OF_YOUR_MACHINE
(หมายเลขพอร์ต sans ) เท่านั้น เนื่องจากสามารถละเว้นพอร์ตที่ให้บริการ HTTP80
เริ่มต้นได้เมื่อใช้การกำหนดค่าเริ่มต้น
ใน service_conf.yaml เลือกโรงงาน LLM ที่ต้องการใน user_default_llm
และอัปเดตฟิลด์ API_KEY
ด้วยคีย์ API ที่เกี่ยวข้อง
ดู llm_api_key_setup สำหรับข้อมูลเพิ่มเติม
การแสดงเปิดแล้ว!
เมื่อพูดถึงการกำหนดค่าระบบ คุณจะต้องจัดการไฟล์ต่อไปนี้:
.env: เก็บการตั้งค่าพื้นฐานสำหรับระบบ เช่น SVR_HTTP_PORT
, MYSQL_PASSWORD
และ MINIO_PASSWORD
service_conf.yaml: กำหนดค่าบริการแบ็คเอนด์
docker-compose.yml: ระบบอาศัย docker-compose.yml เพื่อเริ่มต้นระบบ
คุณต้องตรวจสอบให้แน่ใจว่าการเปลี่ยนแปลงในไฟล์ .env สอดคล้องกับสิ่งที่อยู่ในไฟล์ service_conf.yaml
ไฟล์ ./docker/README ให้คำอธิบายโดยละเอียดเกี่ยวกับการตั้งค่าสภาพแวดล้อมและการกำหนดค่าบริการ และคุณจำเป็นต้องตรวจสอบให้แน่ใจว่าการตั้งค่าสภาพแวดล้อมทั้งหมดที่แสดงอยู่ในไฟล์ ./docker/README สอดคล้องกับการกำหนดค่าที่เกี่ยวข้องในไฟล์ service_conf.yaml .
หากต้องการอัปเดตพอร์ตการให้บริการ HTTP เริ่มต้น (80) ให้ไปที่ docker-compose.yml และเปลี่ยน 80:80
เป็น <YOUR_SERVING_PORT>:80
การอัปเดตการกำหนดค่าข้างต้นจำเป็นต้องรีบูตคอนเทนเนอร์ทั้งหมดจึงจะมีผล:
$ นักเทียบท่าเขียน -f นักเทียบท่า/นักเทียบท่า-compose.yml ขึ้น -d
อิมเมจนี้มีขนาดประมาณ 1 GB และอาศัย LLM ภายนอกและบริการฝัง
โคลนคอมไพล์ https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 ติดตั้ง Huggingface-hub nltk python3 download_deps.py นักเทียบท่า build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim
รูปภาพนี้มีขนาดประมาณ 9 GB เนื่องจากมีโมเดลการฝัง จึงต้องใช้บริการ LLM ภายนอกเท่านั้น
โคลนคอมไพล์ https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 ติดตั้ง Huggingface-hub nltk python3 download_deps.py นักเทียบท่า build -f Dockerfile -t infiniflow/ragflow:dev
ติดตั้ง Poetry หรือข้ามขั้นตอนนี้หากติดตั้งไว้แล้ว:
curl -sSL https://install.python-poetry.org | หลาม3 -
โคลนซอร์สโค้ดและติดตั้งการพึ่งพา Python:
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/export POETRY_VIRTUALENVS_CREATE=true POETRY_VIRTUALENVS_IN_PROJECT=true~/.local/bin/poetry ติดตั้ง --sync --no-root # ติดตั้งโมดูลหลามที่ขึ้นกับ RAGFlow
เปิดใช้งานบริการที่ต้องพึ่งพา (MinIO, Elasticsearch, Redis และ MySQL) โดยใช้ Docker Compose:
นักเทียบท่าเขียน -f นักเทียบท่า/นักเทียบท่า-เขียน-base.yml ขึ้น -d
เพิ่มบรรทัดต่อไปนี้ใน /etc/hosts
เพื่อแก้ไขโฮสต์ทั้งหมดที่ระบุใน docker/service_conf.yaml เป็น 127.0.0.1
:
127.0.0.1 es01 mysql minio redis
ใน docker/service_conf.yaml ให้อัปเดตพอร์ต mysql เป็น 5455
และ es port เป็น 1200
ตามที่ระบุไว้ใน docker/.env
หากคุณไม่สามารถเข้าถึง HuggingFace ได้ ให้ตั้งค่าตัวแปรสภาพแวดล้อม HF_ENDPOINT
เพื่อใช้ไซต์มิเรอร์:
ส่งออก HF_ENDPOINT=https://hf-mirror.com
เปิดตัวบริการแบ็กเอนด์:
แหล่งที่มา .venv/bin/activateexport PYTHONPATH=$(pwd)bash docker/launch_backend_service.sh
ติดตั้งการพึ่งพาส่วนหน้า:
เว็บซีดี ติดตั้ง npm --force
กำหนดค่าส่วนหน้าเพื่ออัปเดต proxy.target
ใน .umirc.ts เป็น http://127.0.0.1:9380
:
เปิดตัวบริการส่วนหน้า:
ผู้พัฒนารัน NPM
เอาต์พุตต่อไปนี้ยืนยันการเปิดตัวระบบได้สำเร็จ:
เริ่มต้นอย่างรวดเร็ว
คู่มือการใช้งาน
อ้างอิง
คำถามที่พบบ่อย
ดูแผนงาน RAGFlow ปี 2024
ความไม่ลงรอยกัน
ทวิตเตอร์
การสนทนา GitHub
RAGFflow เจริญรุ่งเรืองผ่านการทำงานร่วมกันแบบโอเพ่นซอร์ส ด้วยจิตวิญญาณนี้ เราเปิดรับการมีส่วนร่วมที่หลากหลายจากชุมชน หากคุณต้องการเป็นส่วนหนึ่ง โปรดอ่านหลักเกณฑ์การบริจาคของเราก่อน