Skip to content

Commit 5ac7f59

Browse files
author
zhangping24
committed
Merge branch 'main' into support_baidu_vdb
2 parents 4de6f47 + e8018fd commit 5ac7f59

File tree

1,335 files changed

+111374
-38622
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,335 files changed

+111374
-38622
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: "❤️‍🔥ᴬᴳᴱᴺᵀ Agent scenario request"
2+
description: Propose a agent scenario request for RAGFlow.
3+
title: "[Agent Scenario Request]: "
4+
labels: ["❤️‍🔥ᴬᴳᴱᴺᵀ agent scenario"]
5+
body:
6+
- type: checkboxes
7+
attributes:
8+
label: Self Checks
9+
description: "Please check the following in order to be responded in time :)"
10+
options:
11+
- label: I have searched for existing issues [search for existing issues](https://github.com/infiniflow/ragflow/issues), including closed ones.
12+
required: true
13+
- label: I confirm that I am using English to submit this report ([Language Policy](https://github.com/infiniflow/ragflow/issues/5910)).
14+
required: true
15+
- label: Non-english title submitions will be closed directly ( 非英文标题的提交将会被直接关闭 ) ([Language Policy](https://github.com/infiniflow/ragflow/issues/5910)).
16+
required: true
17+
- label: "Please do not modify this template :) and fill in all the required fields."
18+
required: true
19+
- type: textarea
20+
attributes:
21+
label: Is your feature request related to a scenario?
22+
description: |
23+
A clear and concise description of what the scenario is. Ex. I'm always frustrated when [...]
24+
render: Markdown
25+
validations:
26+
required: false
27+
- type: textarea
28+
attributes:
29+
label: Describe the feature you'd like
30+
description: A clear and concise description of what you want to happen.
31+
validations:
32+
required: true
33+
- type: textarea
34+
attributes:
35+
label: Documentation, adoption, use case
36+
description: If you can, explain some scenarios how users might use this, situations it would be helpful in. Any API designs, mockups, or diagrams are also helpful.
37+
render: Markdown
38+
validations:
39+
required: false
40+
- type: textarea
41+
attributes:
42+
label: Additional information
43+
description: |
44+
Add any other context or screenshots about the feature request here.
45+
validations:
46+
required: false

.github/workflows/tests.yml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ jobs:
6767
6868
- name: Start ragflow:nightly-slim
6969
run: |
70+
sudo docker compose -f docker/docker-compose.yml down --volumes --remove-orphans
7071
echo -e "\nRAGFLOW_IMAGE=infiniflow/ragflow:nightly-slim" >> docker/.env
7172
sudo docker compose -f docker/docker-compose.yml up -d
7273
@@ -88,7 +89,12 @@ jobs:
8889
echo "Waiting for service to be available..."
8990
sleep 5
9091
done
91-
cd sdk/python && uv sync --python 3.10 --group test --frozen && uv pip install . && source .venv/bin/activate && cd test/test_sdk_api && pytest -s --tb=short get_email.py t_dataset.py t_chat.py t_session.py t_document.py t_chunk.py
92+
if [[ $GITHUB_EVENT_NAME == 'schedule' ]]; then
93+
export HTTP_API_TEST_LEVEL=p3
94+
else
95+
export HTTP_API_TEST_LEVEL=p2
96+
fi
97+
UV_LINK_MODE=copy uv sync --python 3.10 --only-group test --no-default-groups --frozen && uv pip install sdk/python && uv run --only-group test --no-default-groups pytest -s --tb=short --level=${HTTP_API_TEST_LEVEL} test/testcases/test_sdk_api
9298
9399
- name: Run frontend api tests against Elasticsearch
94100
run: |
@@ -98,7 +104,7 @@ jobs:
98104
echo "Waiting for service to be available..."
99105
sleep 5
100106
done
101-
cd sdk/python && uv sync --python 3.10 --group test --frozen && source .venv/bin/activate && cd test/test_frontend_api && pytest -s --tb=short get_email.py test_dataset.py
107+
cd sdk/python && UV_LINK_MODE=copy uv sync --python 3.10 --group test --frozen && source .venv/bin/activate && cd test/test_frontend_api && pytest -s --tb=short get_email.py test_dataset.py
102108
103109
- name: Run http api tests against Elasticsearch
104110
run: |
@@ -113,7 +119,7 @@ jobs:
113119
else
114120
export HTTP_API_TEST_LEVEL=p2
115121
fi
116-
cd sdk/python && uv sync --python 3.10 --group test --frozen && source .venv/bin/activate && cd test/test_http_api && pytest -s --tb=short --level=${HTTP_API_TEST_LEVEL}
122+
UV_LINK_MODE=copy uv sync --python 3.10 --only-group test --no-default-groups --frozen && uv run --only-group test --no-default-groups pytest -s --tb=short --level=${HTTP_API_TEST_LEVEL} test/testcases/test_http_api
117123
118124
- name: Stop ragflow:nightly
119125
if: always() # always run this step even if previous steps failed
@@ -132,7 +138,12 @@ jobs:
132138
echo "Waiting for service to be available..."
133139
sleep 5
134140
done
135-
cd sdk/python && uv sync --python 3.10 --group test --frozen && uv pip install . && source .venv/bin/activate && cd test/test_sdk_api && pytest -s --tb=short get_email.py t_dataset.py t_chat.py t_session.py t_document.py t_chunk.py
141+
if [[ $GITHUB_EVENT_NAME == 'schedule' ]]; then
142+
export HTTP_API_TEST_LEVEL=p3
143+
else
144+
export HTTP_API_TEST_LEVEL=p2
145+
fi
146+
UV_LINK_MODE=copy uv sync --python 3.10 --only-group test --no-default-groups --frozen && uv pip install sdk/python && DOC_ENGINE=infinity uv run --only-group test --no-default-groups pytest -s --tb=short --level=${HTTP_API_TEST_LEVEL} test/testcases/test_sdk_api
136147
137148
- name: Run frontend api tests against Infinity
138149
run: |
@@ -142,7 +153,7 @@ jobs:
142153
echo "Waiting for service to be available..."
143154
sleep 5
144155
done
145-
cd sdk/python && uv sync --python 3.10 --group test --frozen && source .venv/bin/activate && cd test/test_frontend_api && pytest -s --tb=short get_email.py test_dataset.py
156+
cd sdk/python && UV_LINK_MODE=copy uv sync --python 3.10 --group test --frozen && source .venv/bin/activate && cd test/test_frontend_api && pytest -s --tb=short get_email.py test_dataset.py
146157
147158
- name: Run http api tests against Infinity
148159
run: |
@@ -157,7 +168,7 @@ jobs:
157168
else
158169
export HTTP_API_TEST_LEVEL=p2
159170
fi
160-
cd sdk/python && uv sync --python 3.10 --group test --frozen && source .venv/bin/activate && cd test/test_http_api && DOC_ENGINE=infinity pytest -s --tb=short --level=${HTTP_API_TEST_LEVEL}
171+
UV_LINK_MODE=copy uv sync --python 3.10 --only-group test --no-default-groups --frozen && DOC_ENGINE=infinity uv run --only-group test --no-default-groups pytest -s --tb=short --level=${HTTP_API_TEST_LEVEL} test/testcases/test_http_api
161172
162173
- name: Stop ragflow:nightly
163174
if: always() # always run this step even if previous steps failed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,3 +193,5 @@ dist
193193
# SvelteKit build / generate output
194194
.svelte-kit
195195

196+
# Default backup dir
197+
backup

.trivyignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
**/*.md
2+
**/*.min.js
3+
**/*.min.css
4+
**/*.svg
5+
**/*.png
6+
**/*.jpg
7+
**/*.jpeg
8+
**/*.gif
9+
**/*.woff
10+
**/*.woff2
11+
**/*.map
12+
**/*.webp
13+
**/*.ico
14+
**/*.ttf
15+
**/*.eot

README.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
<p align="center">
88
<a href="./README.md"><img alt="README in English" src="https://img.shields.io/badge/English-DBEDFA"></a>
9-
<a href="./README_tzh.md"><img alt="繁體中文文件" src="https://img.shields.io/badge/繁體中文-DFE0E5"></a>
109
<a href="./README_zh.md"><img alt="简体中文版自述文件" src="https://img.shields.io/badge/简体中文-DFE0E5"></a>
10+
<a href="./README_tzh.md"><img alt="繁體版中文自述文件" src="https://img.shields.io/badge/繁體中文-DFE0E5"></a>
1111
<a href="./README_ja.md"><img alt="日本語のREADME" src="https://img.shields.io/badge/日本語-DFE0E5"></a>
1212
<a href="./README_ko.md"><img alt="한국어" src="https://img.shields.io/badge/한국어-DFE0E5"></a>
1313
<a href="./README_id.md"><img alt="Bahasa Indonesia" src="https://img.shields.io/badge/Bahasa Indonesia-DFE0E5"></a>
@@ -22,7 +22,7 @@
2222
<img alt="Static Badge" src="https://img.shields.io/badge/Online-Demo-4e6b99">
2323
</a>
2424
<a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
25-
<img src="https://img.shields.io/docker/pulls/infiniflow/ragflow?label=Docker%20Pulls&color=0db7ed&logo=docker&logoColor=white&style=flat-square" alt="docker pull infiniflow/ragflow:v0.19.0">
25+
<img src="https://img.shields.io/docker/pulls/infiniflow/ragflow?label=Docker%20Pulls&color=0db7ed&logo=docker&logoColor=white&style=flat-square" alt="docker pull infiniflow/ragflow:v0.20.4">
2626
</a>
2727
<a href="https://github.com/infiniflow/ragflow/releases/latest">
2828
<img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Latest%20Release" alt="Latest Release">
@@ -71,22 +71,22 @@
7171

7272
## 💡 What is RAGFlow?
7373

74-
[RAGFlow](https://ragflow.io/) is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document
75-
understanding. It offers a streamlined RAG workflow for businesses of any scale, combining LLM (Large Language Models)
76-
to provide truthful question-answering capabilities, backed by well-founded citations from various complex formatted
77-
data.
74+
[RAGFlow](https://ragflow.io/) is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs. It offers a streamlined RAG workflow adaptable to enterprises of any scale. Powered by a converged context engine and pre-built agent templates, RAGFlow enables developers to transform complex data into high-fidelity, production-ready AI systems with exceptional efficiency and precision.
7875

7976
## 🎮 Demo
8077

8178
Try our demo at [https://demo.ragflow.io](https://demo.ragflow.io).
8279

8380
<div align="center" style="margin-top:20px;margin-bottom:20px;">
84-
<img src="https://github.com/infiniflow/ragflow/assets/7248/2f6baa3e-1092-4f11-866d-36f6a9d075e5" width="1200"/>
85-
<img src="https://github.com/user-attachments/assets/504bbbf1-c9f7-4d83-8cc5-e9cb63c26db6" width="1200"/>
81+
<img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/chunking.gif" width="1200"/>
82+
<img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200"/>
8683
</div>
8784

8885
## 🔥 Latest Updates
8986

87+
- 2025-08-08 Supports OpenAI's latest GPT-5 series models.
88+
- 2025-08-04 Supports new models, including Kimi K2 and Grok 4.
89+
- 2025-08-01 Supports agentic workflow and MCP.
9090
- 2025-05-23 Adds a Python/JavaScript code executor component to Agent.
9191
- 2025-05-05 Supports cross-language query.
9292
- 2025-03-19 Supports using a multi-modal model to make sense of images within PDF or DOCX files.
@@ -187,7 +187,7 @@ releases! 🌟
187187
> All Docker images are built for x86 platforms. We don't currently offer Docker images for ARM64.
188188
> If you are on an ARM64 platform, follow [this guide](https://ragflow.io/docs/dev/build_docker_image) to build a Docker image compatible with your system.
189189
190-
> The command below downloads the `v0.19.0-slim` edition of the RAGFlow Docker image. See the following table for descriptions of different RAGFlow editions. To download a RAGFlow edition different from `v0.19.0-slim`, update the `RAGFLOW_IMAGE` variable accordingly in **docker/.env** before using `docker compose` to start the server. For example: set `RAGFLOW_IMAGE=infiniflow/ragflow:v0.19.0` for the full edition `v0.19.0`.
190+
> The command below downloads the `v0.20.4-slim` edition of the RAGFlow Docker image. See the following table for descriptions of different RAGFlow editions. To download a RAGFlow edition different from `v0.20.4-slim`, update the `RAGFLOW_IMAGE` variable accordingly in **docker/.env** before using `docker compose` to start the server. For example: set `RAGFLOW_IMAGE=infiniflow/ragflow:v0.20.4` for the full edition `v0.20.4`.
191191
192192
```bash
193193
$ cd ragflow/docker
@@ -200,8 +200,8 @@ releases! 🌟
200200
201201
| RAGFlow image tag | Image size (GB) | Has embedding models? | Stable? |
202202
|-------------------|-----------------|-----------------------|--------------------------|
203-
| v0.19.0 | &approx;9 | :heavy_check_mark: | Stable release |
204-
| v0.19.0-slim | &approx;2 | ❌ | Stable release |
203+
| v0.20.4 | &approx;9 | :heavy_check_mark: | Stable release |
204+
| v0.20.4-slim | &approx;2 | ❌ | Stable release |
205205
| nightly | &approx;9 | :heavy_check_mark: | _Unstable_ nightly build |
206206
| nightly-slim | &approx;2 | ❌ | _Unstable_ nightly build |
207207
@@ -304,7 +304,7 @@ docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly
304304
305305
## 🔨 Launch service from source for development
306306
307-
1. Install uv, or skip this step if it is already installed:
307+
1. Install `uv` and `pre-commit`, or skip this step if they are already installed:
308308
309309
```bash
310310
pipx install uv pre-commit
@@ -345,8 +345,10 @@ docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly
345345
sudo apt-get install libjemalloc-dev
346346
# centos
347347
sudo yum install jemalloc
348+
# mac
349+
sudo brew install jemalloc
348350
```
349-
351+
350352
6. Launch backend service:
351353
352354
```bash

README_id.md

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
<p align="center">
88
<a href="./README.md"><img alt="README in English" src="https://img.shields.io/badge/English-DFE0E5"></a>
9-
<a href="./README_tzh.md"><img alt="繁體中文文件" src="https://img.shields.io/badge/繁體中文-DFE0E5"></a>
109
<a href="./README_zh.md"><img alt="简体中文版自述文件" src="https://img.shields.io/badge/简体中文-DFE0E5"></a>
10+
<a href="./README_tzh.md"><img alt="繁體中文版自述文件" src="https://img.shields.io/badge/繁體中文-DFE0E5"></a>
1111
<a href="./README_ja.md"><img alt="日本語のREADME" src="https://img.shields.io/badge/日本語-DFE0E5"></a>
1212
<a href="./README_ko.md"><img alt="한국어" src="https://img.shields.io/badge/한국어-DFE0E5"></a>
1313
<a href="./README_id.md"><img alt="Bahasa Indonesia" src="https://img.shields.io/badge/Bahasa Indonesia-DBEDFA"></a>
@@ -22,7 +22,7 @@
2222
<img alt="Lencana Daring" src="https://img.shields.io/badge/Online-Demo-4e6b99">
2323
</a>
2424
<a href="https://hub.docker.com/r/infiniflow/ragflow" target="_blank">
25-
<img src="https://img.shields.io/docker/pulls/infiniflow/ragflow?label=Docker%20Pulls&color=0db7ed&logo=docker&logoColor=white&style=flat-square" alt="docker pull infiniflow/ragflow:v0.19.0">
25+
<img src="https://img.shields.io/docker/pulls/infiniflow/ragflow?label=Docker%20Pulls&color=0db7ed&logo=docker&logoColor=white&style=flat-square" alt="docker pull infiniflow/ragflow:v0.20.4">
2626
</a>
2727
<a href="https://github.com/infiniflow/ragflow/releases/latest">
2828
<img src="https://img.shields.io/github/v/release/infiniflow/ragflow?color=blue&label=Rilis%20Terbaru" alt="Rilis Terbaru">
@@ -67,19 +67,22 @@
6767

6868
## 💡 Apa Itu RAGFlow?
6969

70-
[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.
70+
[RAGFlow](https://ragflow.io/) adalah mesin RAG (Retrieval-Augmented Generation) open-source terkemuka yang mengintegrasikan teknologi RAG mutakhir dengan kemampuan Agent untuk menciptakan lapisan kontekstual superior bagi LLM. Menyediakan alur kerja RAG yang efisien dan dapat diadaptasi untuk perusahaan segala skala. Didukung oleh mesin konteks terkonvergensi dan template Agent yang telah dipra-bangun, RAGFlow memungkinkan pengembang mengubah data kompleks menjadi sistem AI kesetiaan-tinggi dan siap-produksi dengan efisiensi dan presisi yang luar biasa.
7171

7272
## 🎮 Demo
7373

7474
Coba demo kami di [https://demo.ragflow.io](https://demo.ragflow.io).
7575

7676
<div align="center" style="margin-top:20px;margin-bottom:20px;">
77-
<img src="https://github.com/infiniflow/ragflow/assets/7248/2f6baa3e-1092-4f11-866d-36f6a9d075e5" width="1200"/>
78-
<img src="https://github.com/user-attachments/assets/504bbbf1-c9f7-4d83-8cc5-e9cb63c26db6" width="1200"/>
77+
<img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/chunking.gif" width="1200"/>
78+
<img src="https://raw.githubusercontent.com/infiniflow/ragflow-docs/refs/heads/image/image/agentic-dark.gif" width="1200"/>
7979
</div>
8080

8181
## 🔥 Pembaruan Terbaru
8282

83+
- 2025-08-08 Mendukung model seri GPT-5 terbaru dari OpenAI.
84+
- 2025-08-04 Mendukung model baru, termasuk Kimi K2 dan Grok 4.
85+
- 2025-08-01 Mendukung alur kerja agen dan MCP.
8386
- 2025-05-23 Menambahkan komponen pelaksana kode Python/JS ke Agen.
8487
- 2025-05-05 Mendukung kueri lintas bahasa.
8588
- 2025-03-19 Mendukung penggunaan model multi-modal untuk memahami gambar di dalam file PDF atau DOCX.
@@ -178,7 +181,7 @@ Coba demo kami di [https://demo.ragflow.io](https://demo.ragflow.io).
178181
> Semua gambar Docker dibangun untuk platform x86. Saat ini, kami tidak menawarkan gambar Docker untuk ARM64.
179182
> Jika Anda menggunakan platform ARM64, [silakan gunakan panduan ini untuk membangun gambar Docker yang kompatibel dengan sistem Anda](https://ragflow.io/docs/dev/build_docker_image).
180183
181-
> Perintah di bawah ini mengunduh edisi v0.19.0-slim dari gambar Docker RAGFlow. Silakan merujuk ke tabel berikut untuk deskripsi berbagai edisi RAGFlow. Untuk mengunduh edisi RAGFlow yang berbeda dari v0.19.0-slim, perbarui variabel RAGFLOW_IMAGE di docker/.env sebelum menggunakan docker compose untuk memulai server. Misalnya, atur RAGFLOW_IMAGE=infiniflow/ragflow:v0.19.0 untuk edisi lengkap v0.19.0.
184+
> Perintah di bawah ini mengunduh edisi v0.20.4-slim dari gambar Docker RAGFlow. Silakan merujuk ke tabel berikut untuk deskripsi berbagai edisi RAGFlow. Untuk mengunduh edisi RAGFlow yang berbeda dari v0.20.4-slim, perbarui variabel RAGFLOW_IMAGE di docker/.env sebelum menggunakan docker compose untuk memulai server. Misalnya, atur RAGFLOW_IMAGE=infiniflow/ragflow:v0.20.4 untuk edisi lengkap v0.20.4.
182185
183186
```bash
184187
$ cd ragflow/docker
@@ -191,8 +194,8 @@ $ docker compose -f docker-compose.yml up -d
191194

192195
| RAGFlow image tag | Image size (GB) | Has embedding models? | Stable? |
193196
| ----------------- | --------------- | --------------------- | ------------------------ |
194-
| v0.19.0 | &approx;9 | :heavy_check_mark: | Stable release |
195-
| v0.19.0-slim | &approx;2 || Stable release |
197+
| v0.20.4 | &approx;9 | :heavy_check_mark: | Stable release |
198+
| v0.20.4-slim | &approx;2 || Stable release |
196199
| nightly | &approx;9 | :heavy_check_mark: | _Unstable_ nightly build |
197200
| nightly-slim | &approx;2 || _Unstable_ nightly build |
198201

@@ -268,7 +271,7 @@ docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly
268271

269272
## 🔨 Menjalankan Aplikasi dari untuk Pengembangan
270273

271-
1. Instal uv, atau lewati langkah ini jika sudah terinstal:
274+
1. Instal `uv` dan `pre-commit`, atau lewati langkah ini jika sudah terinstal:
272275

273276
```bash
274277
pipx install uv pre-commit
@@ -309,6 +312,8 @@ docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly
309312
sudo apt-get install libjemalloc-dev
310313
# centos
311314
sudo yum install jemalloc
315+
# mac
316+
sudo brew install jemalloc
312317
```
313318

314319
6. Jalankan aplikasi backend:

0 commit comments

Comments
 (0)