Bahasa Inggris | 简体中文 | 日本語 | 한국어
? Apa itu RAGFlow?
? Demo
? Pembaruan Terbaru
? Fitur Utama
? Arsitektur Sistem
? Memulai
? Konfigurasi
? Bangun image buruh pelabuhan tanpa menyematkan model
? Bangun image buruh pelabuhan termasuk model penyematan
? Luncurkan layanan dari sumber untuk pengembangan
? Dokumentasi
? Peta jalan
? Masyarakat
? Berkontribusi
RAGFlow adalah mesin RAG (Retrieval-Augmented Generation) sumber terbuka yang didasarkan pada pemahaman dokumen yang mendalam. Ini menawarkan alur kerja RAG yang disederhanakan untuk bisnis dalam skala apa pun, menggabungkan LLM (Model Bahasa Besar) untuk memberikan kemampuan menjawab pertanyaan yang jujur, didukung oleh kutipan yang beralasan dari berbagai data berformat kompleks.
Coba demo kami di https://demo.ragflow.io.
04-11-2024 Meningkatkan model DLA (Document Layout Analyze) di deepdoc.
01-11-2024 Menambahkan ekstraksi kata kunci dan pembuatan pertanyaan terkait ke potongan yang diurai untuk meningkatkan akurasi pengambilan.
13-09-2024 Menambahkan mode pencarian untuk Tanya Jawab basis pengetahuan.
09-09-2024 Menambahkan template agen konsultan medis.
22-08-2024 Mendukung teks ke pernyataan SQL melalui RAG.
02-08-2024 Mendukung GraphRAG yang terinspirasi oleh graphrag dan peta pikiran.
⭐️ Beri bintang pada repositori kami agar tetap mendapatkan informasi terkini tentang fitur dan peningkatan baru yang menarik! Dapatkan pemberitahuan instan untuk rilis baru! ?
Ekstraksi pengetahuan berbasis pemahaman dokumen yang mendalam dari data tidak terstruktur dengan format yang rumit.
Menemukan "jarum di tumpukan jerami data" yang berisi token tak terbatas.
Cerdas dan dapat dijelaskan.
Banyak pilihan templat untuk dipilih.
Visualisasi potongan teks untuk memungkinkan intervensi manusia.
Tampilan cepat referensi utama dan kutipan yang dapat dilacak untuk mendukung jawaban yang membumi.
Mendukung Word, slide, excel, txt, gambar, salinan pindaian, data terstruktur, halaman web, dan banyak lagi.
Orkestrasi RAG yang disederhanakan ditujukan untuk bisnis pribadi dan besar.
LLM yang dapat dikonfigurasi serta model penyematan.
Penarikan kembali berganda dipadukan dengan pemeringkatan ulang yang digabungkan.
API intuitif untuk integrasi yang lancar dengan bisnis.
CPU >= 4 inti
RAM >= 16GB
Disk >= 50GB
Docker >= 24.0.0 & Penulisan Docker >= v2.26.1
Jika Anda belum menginstal Docker di mesin lokal Anda (Windows, Mac, atau Linux), lihat Menginstal Docker Engine.
Pastikan vm.max_map_count
>= 262144:
Untuk memeriksa nilai
vm.max_map_count
:$ sysctl vm.max_map_countSetel ulang
vm.max_map_count
ke nilai setidaknya 262144 jika tidak.# Dalam hal ini, kita atur ke 262144:$ sudo sysctl -w vm.max_map_count=262144Perubahan ini akan diatur ulang setelah sistem di-boot ulang. Untuk memastikan perubahan Anda tetap permanen, tambahkan atau perbarui nilai
vm.max_map_count
di /etc/sysctl.conf :vm.max_map_count=262144
Kloning repo:
$ git klon https://github.com/infiniflow/ragflow.git
Bangun image Docker yang sudah dibuat sebelumnya dan mulai server:
Perintah di bawah ini mengunduh image Docker versi dev untuk RAGFlow slim (
dev-slim
). Perhatikan bahwa gambar Docker ramping RAGFlow tidak menyertakan model penyematan atau pustaka Python dan karenanya berukuran sekitar 1 GB.
$ cd ragflow/buruh pelabuhan $ buruh pelabuhan menulis -f buruh pelabuhan-menulis.yml naik -d
CATATAN: Gambar RAGFlow Docker yang menyertakan model penyematan dan pustaka Python berukuran sekitar 9 GB dan mungkin memerlukan waktu pemuatan yang jauh lebih lama.
Untuk mengunduh image Docker RAGFlow slim versi tertentu, perbarui variabel RAGFlow_IMAGE
di * docker/.env * ke versi yang Anda inginkan. Misalnya, RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0-slim
. Setelah melakukan perubahan ini, jalankan kembali perintah di atas untuk memulai pengunduhan.
Untuk mengunduh gambar RAGFlow Docker versi dev termasuk model penyematan dan pustaka Python, perbarui variabel RAGFlow_IMAGE
di docker/.env ke RAGFLOW_IMAGE=infiniflow/ragflow:dev
. Setelah melakukan perubahan ini, jalankan kembali perintah di atas untuk memulai pengunduhan.
Untuk mengunduh versi tertentu gambar RAGFlow Docker termasuk model penyematan dan pustaka Python, perbarui variabel RAGFlow_IMAGE
di docker/.env ke versi yang Anda inginkan. Misalnya, RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0
. Setelah melakukan perubahan ini, jalankan kembali perintah di atas untuk memulai pengunduhan.
Periksa status server setelah server aktif dan berjalan:
$ buruh pelabuhan log -f ragflow-server
Output berikut mengonfirmasi peluncuran sistem yang berhasil:
____ ___ ______ ______ __ / __ / | / ____// ____// /____ _ __ / /_/ // /| | / / __ / /_ / // __ | | /| / / / _, __// ___ |/ /_/ // __/ / // /_/ /| |/ |/ / /_/ |_|/_/ |_|____//_/ /_/ ____/ |__/|__/ * Berjalan di semua alamat (0.0.0.0) * Berjalan di http://127.0.0.1:9380 * Berjalan di http://xxxx:9380 INFO:werkzeug:Tekan CTRL+C untuk keluar
Jika Anda melewatkan langkah konfirmasi ini dan langsung masuk ke RAGFlow, browser Anda mungkin memunculkan kesalahan
network abnormal
karena, pada saat itu, RAGFlow Anda mungkin belum diinisialisasi sepenuhnya.
Di browser web Anda, masukkan alamat IP server Anda dan masuk ke RAGFlow.
Dengan pengaturan default, Anda hanya perlu memasukkan
http://IP_OF_YOUR_MACHINE
( tanpa nomor port) karena port layanan HTTP default80
dapat dihilangkan saat menggunakan konfigurasi default.
Di service_conf.yaml, pilih pabrik LLM yang diinginkan di user_default_llm
dan perbarui bidang API_KEY
dengan kunci API yang sesuai.
Lihat llm_api_key_setup untuk informasi lebih lanjut.
Pertunjukannya sudah dimulai!
Untuk konfigurasi sistem, Anda perlu mengelola file-file berikut:
.env: Menyimpan pengaturan dasar untuk sistem, seperti SVR_HTTP_PORT
, MYSQL_PASSWORD
, dan MINIO_PASSWORD
.
service_conf.yaml: Mengonfigurasi layanan back-end.
docker-compose.yml: Sistem mengandalkan docker-compose.yml untuk memulai.
Anda harus memastikan bahwa perubahan pada file .env sejalan dengan apa yang ada di file service_conf.yaml.
File ./docker/README memberikan penjelasan rinci tentang pengaturan lingkungan dan konfigurasi layanan, dan Anda DIPERLUKAN untuk memastikan bahwa semua pengaturan lingkungan yang tercantum dalam file ./docker/README selaras dengan konfigurasi terkait di file service_conf.yaml .
Untuk memperbarui port penyajian HTTP default (80), buka docker-compose.yml dan ubah 80:80
menjadi <YOUR_SERVING_PORT>:80
.
Pembaruan pada konfigurasi di atas memerlukan reboot semua container agar dapat diterapkan:
$ buruh pelabuhan menulis -f buruh pelabuhan/docker-compose.yml naik -d
Gambar ini berukuran sekitar 1 GB dan bergantung pada LLM eksternal dan layanan penyematan.
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 instal pelukanface-hub nltk python3 unduh_deps.py docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim .
Gambar ini berukuran sekitar 9 GB. Karena mencakup model penyematan, ini hanya bergantung pada layanan LLM eksternal.
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3 instal pelukanface-hub nltk python3 unduh_deps.py buruh pelabuhan membangun -f Dockerfile -t infiniflow/ragflow:dev .
Instal Puisi, atau lewati langkah ini jika sudah terinstal:
curl -sSL https://install.python-poetry.org | python3 -
Kloning kode sumber dan instal dependensi Python:
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/export POETRY_VIRTUALENVS_CREATE=true POETRY_VIRTUALENVS_IN_PROJECT=true~/.local/bin/poetry install --sync --no-root # instal modul python yang bergantung pada RAGFlow
Luncurkan layanan dependen (MinIO, Elasticsearch, Redis, dan MySQL) menggunakan Docker Compose:
buruh pelabuhan menulis -f buruh pelabuhan/docker-compose-base.yml naik -d
Tambahkan baris berikut ke /etc/hosts
untuk menyelesaikan semua host yang ditentukan dalam docker/service_conf.yaml ke 127.0.0.1
:
127.0.0.1 es01 mysql minio redis
Di docker/service_conf.yaml , perbarui port mysql ke 5455
dan es port ke 1200
, sebagaimana ditentukan dalam docker/.env .
Jika Anda tidak dapat mengakses HuggingFace, setel variabel lingkungan HF_ENDPOINT
untuk menggunakan situs mirror:
ekspor HF_ENDPOINT=https://hf-mirror.com
Luncurkan layanan backend:
sumber .venv/bin/activateexport PYTHONPATH=$(pwd)bash docker/launch_backend_service.sh
Instal dependensi frontend:
web cd npm instal --force
Konfigurasikan frontend untuk memperbarui proxy.target
di .umirc.ts ke http://127.0.0.1:9380
:
Luncurkan layanan frontend:
npm jalankan dev
Output berikut mengonfirmasi peluncuran sistem yang berhasil:
Mulai cepat
Panduan pengguna
Referensi
Pertanyaan Umum
Lihat Peta Jalan RAGFlow 2024
Perselisihan
Diskusi GitHub
RAGFlow berkembang melalui kolaborasi sumber terbuka. Dalam semangat ini, kami menerima beragam kontribusi dari komunitas. Jika Anda ingin menjadi bagian, tinjau Pedoman Kontribusi kami terlebih dahulu.