Logo ragflow

English | 简体中文 | 繁体中文 | 日本語 | 한국어 | Bahasa Indonesia | Português (Brasil)

Ikuti di X (Twitter) Lencana Daring docker pull infiniflow/ragflow:v0.15.1 Rilis Terbaru Lisensi

Dokumentasi | Peta Jalan | Twitter | Discord | Demo

📕 Daftar Isi - 💡 [Apa Itu RAGFlow?](#-apa-itu-ragflow) - 🎮 [Demo](#-demo) - 📌 [Pembaruan Terbaru](#-pembaruan-terbaru) - 🌟 [Fitur Utama](#-fitur-utama) - 🔎 [Arsitektur Sistem](#-arsitektur-sistem) - 🎬 [Mulai](#-mulai) - 🔧 [Konfigurasi](#-konfigurasi) - 🔧 [Membangun Image Docker tanpa Model Embedding](#-membangun-image-docker-tanpa-model-embedding) - 🔧 [Membangun Image Docker dengan Model Embedding](#-membangun-image-docker-dengan-model-embedding) - 🔨 [Meluncurkan aplikasi dari Sumber untuk Pengembangan](#-meluncurkan-aplikasi-dari-sumber-untuk-pengembangan) - 📚 [Dokumentasi](#-dokumentasi) - 📜 [Peta Jalan](#-peta-jalan) - 🏄 [Komunitas](#-komunitas) - 🙌 [Kontribusi](#-kontribusi)
## 💡 Apa Itu RAGFlow? [RAGFlow](https://ragflow.io/) adalah mesin RAG (Retrieval-Augmented Generation) open-source berbasis pemahaman dokumen yang mendalam. Platform ini menyediakan alur kerja RAG yang efisien untuk bisnis dengan berbagai skala, menggabungkan LLM (Large Language Models) untuk menyediakan kemampuan tanya-jawab yang benar dan didukung oleh referensi dari data terstruktur kompleks. ## 🎮 Demo Coba demo kami di [https://demo.ragflow.io](https://demo.ragflow.io).
## 🔥 Pembaruan Terbaru - 2025-01-26 Optimalkan ekstraksi dan penerapan grafik pengetahuan dan sediakan berbagai opsi konfigurasi. - 2024-12-18 Meningkatkan model Analisis Tata Letak Dokumen di Deepdoc. - 2024-12-04 Mendukung skor pagerank ke basis pengetahuan. - 2024-11-22 Peningkatan definisi dan penggunaan variabel di Agen. - 2024-11-01 Penambahan ekstraksi kata kunci dan pembuatan pertanyaan terkait untuk meningkatkan akurasi pengambilan. - 2024-08-22 Dukungan untuk teks ke pernyataan SQL melalui RAG. ## 🎉 Tetap Terkini ⭐️ Star repositori kami untuk tetap mendapat informasi tentang fitur baru dan peningkatan menarik! 🌟
## 🌟 Fitur Utama ### 🍭 **"Kualitas Masuk, Kualitas Keluar"** - Ekstraksi pengetahuan berbasis pemahaman dokumen mendalam dari data tidak terstruktur dengan format yang rumit. - Menemukan "jarum di tumpukan data" dengan token yang hampir tidak terbatas. ### 🍱 **Pemotongan Berbasis Template** - Cerdas dan dapat dijelaskan. - Banyak pilihan template yang tersedia. ### 🌱 **Referensi yang Didasarkan pada Data untuk Mengurangi Hallusinasi** - Visualisasi pemotongan teks memungkinkan intervensi manusia. - Tampilan cepat referensi kunci dan referensi yang dapat dilacak untuk mendukung jawaban yang didasarkan pada fakta. ### 🍔 **Kompatibilitas dengan Sumber Data Heterogen** - Mendukung Word, slide, excel, txt, gambar, salinan hasil scan, data terstruktur, halaman web, dan banyak lagi. ### 🛀 **Alur Kerja RAG yang Otomatis dan Mudah** - Orkestrasi RAG yang ramping untuk bisnis kecil dan besar. - LLM yang dapat dikonfigurasi serta model embedding. - Peringkat ulang berpasangan dengan beberapa pengambilan ulang. - API intuitif untuk integrasi yang mudah dengan bisnis. ## 🔎 Arsitektur Sistem
## 🎬 Mulai ### 📝 Prasyarat - CPU >= 4 inti - RAM >= 16 GB - Disk >= 50 GB - Docker >= 24.0.0 & Docker Compose >= v2.26.1 ### 🚀 Menjalankan Server 1. Pastikan `vm.max_map_count` >= 262144: > Untuk memeriksa nilai `vm.max_map_count`: > > ```bash > $ sysctl vm.max_map_count > ``` > > Jika nilainya kurang dari 262144, setel ulang `vm.max_map_count` ke setidaknya 262144: > > ```bash > # Dalam contoh ini, kita atur menjadi 262144: > $ sudo sysctl -w vm.max_map_count=262144 > ``` > > Perubahan ini akan hilang setelah sistem direboot. Untuk membuat perubahan ini permanen, tambahkan atau perbarui nilai > `vm.max_map_count` di **/etc/sysctl.conf**: > > ```bash > vm.max_map_count=262144 > ``` 2. Clone repositori: ```bash $ git clone https://github.com/infiniflow/ragflow.git ``` 3. Bangun image Docker pre-built dan jalankan server: > Perintah di bawah ini mengunduh edisi v0.15.1-slim dari gambar Docker RAGFlow. Silakan merujuk ke tabel berikut untuk deskripsi berbagai edisi RAGFlow. Untuk mengunduh edisi RAGFlow yang berbeda dari v0.15.1-slim, perbarui variabel RAGFLOW_IMAGE di docker/.env sebelum menggunakan docker compose untuk memulai server. Misalnya, atur RAGFLOW_IMAGE=infiniflow/ragflow:v0.15.1 untuk edisi lengkap v0.15.1. ```bash $ cd ragflow $ docker compose -f docker/docker-compose.yml up -d ``` | RAGFlow image tag | Image size (GB) | Has embedding models? | Stable? | | ----------------- | --------------- | --------------------- | ------------------------ | | v0.15.1 | ≈9 | :heavy_check_mark: | Stable release | | v0.15.1-slim | ≈2 | ❌ | Stable release | | nightly | ≈9 | :heavy_check_mark: | _Unstable_ nightly build | | nightly-slim | ≈2 | ❌ | _Unstable_ nightly build | 4. Periksa status server setelah server aktif dan berjalan: ```bash $ docker logs -f ragflow-server ``` _Output berikut menandakan bahwa sistem berhasil diluncurkan:_ ```bash ____ ___ ______ ______ __ / __ \ / | / ____// ____// /____ _ __ / /_/ // /| | / / __ / /_ / // __ \| | /| / / / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ / /_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/ * Running on all addresses (0.0.0.0) * Running on http://127.0.0.1:9380 * Running on http://x.x.x.x:9380 INFO:werkzeug:Press CTRL+C to quit ``` > Jika Anda melewatkan langkah ini dan langsung login ke RAGFlow, browser Anda mungkin menampilkan error `network anormal` > karena RAGFlow mungkin belum sepenuhnya siap. 5. Buka browser web Anda, masukkan alamat IP server Anda, dan login ke RAGFlow. > Dengan pengaturan default, Anda hanya perlu memasukkan `http://IP_DEVICE_ANDA` (**tanpa** nomor port) karena > port HTTP default `80` bisa dihilangkan saat menggunakan konfigurasi default. 6. Dalam [service_conf.yaml.template](./docker/service_conf.yaml.template), pilih LLM factory yang diinginkan di `user_default_llm` dan perbarui bidang `API_KEY` dengan kunci API yang sesuai. > Lihat [llm_api_key_setup](https://ragflow.io/docs/dev/llm_api_key_setup) untuk informasi lebih lanjut. _Sistem telah siap digunakan!_ ## 🔧 Konfigurasi Untuk konfigurasi sistem, Anda perlu mengelola file-file berikut: - [.env](./docker/.env): Menyimpan pengaturan dasar sistem, seperti `SVR_HTTP_PORT`, `MYSQL_PASSWORD`, dan `MINIO_PASSWORD`. - [service_conf.yaml.template](./docker/service_conf.yaml.template): Mengonfigurasi aplikasi backend. - [docker-compose.yml](./docker/docker-compose.yml): Sistem ini bergantung pada [docker-compose.yml](./docker/docker-compose.yml) untuk memulai. Untuk memperbarui port HTTP default (80), buka [docker-compose.yml](./docker/docker-compose.yml) dan ubah `80:80` menjadi `:80`. Pembaruan konfigurasi ini memerlukan reboot semua kontainer agar efektif: > ```bash > $ docker compose -f docker/docker-compose.yml up -d > ``` ## 🔧 Membangun Docker Image tanpa Model Embedding Image ini berukuran sekitar 2 GB dan bergantung pada aplikasi LLM eksternal dan embedding. ```bash git clone https://github.com/infiniflow/ragflow.git cd ragflow/ docker build --build-arg LIGHTEN=1 -f Dockerfile -t infiniflow/ragflow:nightly-slim . ``` ## 🔧 Membangun Docker Image Termasuk Model Embedding Image ini berukuran sekitar 9 GB. Karena sudah termasuk model embedding, ia hanya bergantung pada aplikasi LLM eksternal. ```bash git clone https://github.com/infiniflow/ragflow.git cd ragflow/ docker build -f Dockerfile -t infiniflow/ragflow:nightly . ``` ## 🔨 Menjalankan Aplikasi dari untuk Pengembangan 1. Instal uv, atau lewati langkah ini jika sudah terinstal: ```bash pipx install uv ``` 2. Clone kode sumber dan instal dependensi Python: ```bash git clone https://github.com/infiniflow/ragflow.git cd ragflow/ uv sync --python 3.10 --all-extras # install RAGFlow dependent python modules ``` 3. Jalankan aplikasi yang diperlukan (MinIO, Elasticsearch, Redis, dan MySQL) menggunakan Docker Compose: ```bash docker compose -f docker/docker-compose-base.yml up -d ``` Tambahkan baris berikut ke `/etc/hosts` untuk memetakan semua host yang ditentukan di **conf/service_conf.yaml** ke `127.0.0.1`: ``` 127.0.0.1 es01 infinity mysql minio redis ``` 4. Jika Anda tidak dapat mengakses HuggingFace, atur variabel lingkungan `HF_ENDPOINT` untuk menggunakan situs mirror: ```bash export HF_ENDPOINT=https://hf-mirror.com ``` 5. Jalankan aplikasi backend: ```bash source .venv/bin/activate export PYTHONPATH=$(pwd) bash docker/launch_backend_service.sh ``` 6. Instal dependensi frontend: ```bash cd web npm install ``` 7. Jalankan aplikasi frontend: ```bash npm run dev ``` _Output berikut menandakan bahwa sistem berhasil diluncurkan:_ ![](https://github.com/user-attachments/assets/0daf462c-a24d-4496-a66f-92533534e187) ## 📚 Dokumentasi - [Quickstart](https://ragflow.io/docs/dev/) - [Panduan Pengguna](https://ragflow.io/docs/dev/category/guides) - [Referensi](https://ragflow.io/docs/dev/category/references) - [FAQ](https://ragflow.io/docs/dev/faq) ## 📜 Roadmap Lihat [Roadmap RAGFlow 2025](https://github.com/infiniflow/ragflow/issues/4214) ## 🏄 Komunitas - [Discord](https://discord.gg/4XxujFgUN7) - [Twitter](https://twitter.com/infiniflowai) - [GitHub Discussions](https://github.com/orgs/infiniflow/discussions) ## 🙌 Kontribusi RAGFlow berkembang melalui kolaborasi open-source. Dalam semangat ini, kami menerima kontribusi dari komunitas. Jika Anda ingin berpartisipasi, tinjau terlebih dahulu [Panduan Kontribusi](./CONTRIBUTING.md).