bf9297a343
Docs: Added a guide on integrating Discord. ( #15156 )
...
### What problem does this PR solve?
How to ingest messages from your Discord server.
### Type of change
- [x] Documentation Update
2026-05-22 17:49:18 +08:00
57ddd79183
Docs: Fixed a deployment issue ( #15114 )
...
### What problem does this PR solve?
Fixed a docusaurus deployment issue.
### Type of change
- [x] Documentation Update
2026-05-21 22:43:49 +08:00
8995662ee6
Docs: Updated v0.25.5 release notes ( #15109 )
...
### What problem does this PR solve?
Updated v0.25.5 release notes.
### Type of change
- [x] Documentation Update
2026-05-21 22:04:44 +08:00
775ea55679
Docs: update python version to 3.13 ( #15103 )
...
### What problem does this PR solve?
1. update python version to 3.13
2. upgrade ormsgpack to 1.6.0
### Type of change
- [x] Refactoring
---------
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-05-21 19:09:19 +08:00
90c76e73d0
Docs: Update version references to v0.25.5 in READMEs and docs ( #15059 )
...
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-05-20 20:05:45 +08:00
31bf29bc38
Docs: Initial draft of v0.25.5 release notes. ( #15058 )
...
### What problem does this PR solve?
Intial draft of v0.25.5 release notes.
### Type of change
- [x] Documentation Update
2026-05-20 19:44:40 +08:00
b28e134944
Feat: add local & ssh provider in admin panel ( #15039 )
...
### What problem does this PR solve?
Feat: add local & ssh provider in admin panel
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
2026-05-20 16:56:20 +08:00
93d3deb5e4
Fix admin CLI system variable commands ( #14956 )
...
## What
Fixes #12409 .
Implements admin CLI support for:
- `list vars;`
- `show var <name-or-prefix>;`
- `set var <name> <value>;`
## Changes
- Wire Go CLI variable commands to the admin API.
- Support integer and quoted string values in `SET VAR`.
- Return variable rows as `data_type`, `name`, `setting_type`, and
`value`.
- Add exact-name lookup with prefix fallback for `SHOW VAR`.
- Validate values by stored data type: `string`, `integer`, `bool`, and
`json`.
- Keep the legacy Python admin CLI/server behavior aligned.
- Update admin CLI docs and add focused tests.
## Verification
- `go test -count=1 ./internal/cli`
- `python3.12 -m py_compile admin/server/services.py
admin/server/routes.py api/db/services/system_settings_service.py
admin/client/parser.py admin/client/ragflow_client.py`
- Python admin CLI parser smoke test for `SET VAR`, quoted values, `SHOW
VAR`, and `LIST VARS`.
- Attempted `./run_go_tests.sh`; local environment is missing native
tokenizer/linker artifacts:
- `internal/cpp/cmake-build-release/librag_tokenizer_c_api.a`
- `-lstdc++`
Co-authored-by: Jin Hai <haijin.chn@gmail.com >
2026-05-18 19:08:45 +08:00
1a25191b13
docs: add FAQ entry for using Ollama with RAGFlow ( #14557 )
...
### What problem does this PR solve?
Users frequently ask how to use Ollama for local LLM inference with
RAGFlow. This FAQ entry provides step-by-step instructions for setting
up Ollama as a local model provider.
### Type of change
- [x] Documentation update
### Description
Adds a new FAQ entry: "How do I use Ollama with RAGFlow for local LLM
inference?"
Covers:
1. Starting Ollama and pulling a model
2. Configuring Ollama as a model provider in RAGFlow Settings
3. Using the Ollama model in an assistant
2026-05-15 13:54:09 +08:00
3a5df08c76
Go: add file parse command ( #14892 )
...
### What problem does this PR solve?
```
RAGFlow(user)> ocr with 'hunyuanocr@test@gitee' file './picture.png'
+----------------------------------------------------------+
| text |
+----------------------------------------------------------+
| 生活不是等待风暴过去,而是学会在雨中翩翩起舞。
——佚名 |
+----------------------------------------------------------+
RAGFlow(user)> list 'test@gitee' tasks;
+---------+----------------------------------+
| status | task_id |
+---------+----------------------------------+
| success | C3FX4MQNKY5MGC6ZFMIXIAMJKHCEBQB5 |
+---------+----------------------------------+
RAGFlow(user)> show 'test@gitee' task 'C3FX4MQNKY5MGC6ZFMIXIAMJKHCEBQB5';
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+
| content | index |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+
| # PDF 1: Purpose of RAGFlow
RAGFlow is an open source Retrieval-Augmented Generation (RAG) engine designed to turn raw documents into reliable context for large language models.Its purpose is to make it practical to build an Al assistant that can ans... | 1 |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------+
```
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
---------
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-05-15 12:29:52 +08:00
5a5bbee948
Doc: Finalized v0.25.4 release notes ( #14929 )
...
### What problem does this PR solve?
v0.25.4 release notes. Final.
### Type of change
- [x] Documentation Update
2026-05-14 21:08:39 +08:00
82e06db8c3
Doc: code component output section ( #14915 )
...
### What problem does this PR solve?
code component output section
### Type of change
- [x] Documentation Update
2026-05-14 13:42:40 +08:00
851b16b913
Docs: Added v0.25.4 release notes draft. ( #14914 )
...
### What problem does this PR solve?
v0.25.4 release notes draft.
### Type of change
- [x] Documentation Update
2026-05-14 11:24:20 +08:00
f038a34154
Docs: Update version references to v0.25.4 in READMEs and docs ( #14912 )
...
### What problem does this PR solve?
- Update version tags in README files (including translations) from
v0.25.3 to v0.25.4
- Modify Docker image references and documentation to reflect new
version
- Update version badges and image descriptions
- Maintain consistency across all language variants of README files
### Type of change
- [x] Documentation Update
2026-05-14 11:07:08 +08:00
1c0eaa504b
Docs: Finalized v0.25.3 release notes ( #14913 )
...
### What problem does this PR solve?
0.25.3 release notes, final.
### Type of change
- [x] Documentation Update
2026-05-14 10:57:43 +08:00
e577901388
Fix doc format ( #14909 )
...
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
2026-05-14 09:49:45 +08:00
cb49f47c38
Docs: Editorial updates to the v0.25.3 release notes draft. ( #14903 )
...
### What problem does this PR solve?
v0.25.3 release notes. To be continued.
### Type of change
- [x] Documentation Update
2026-05-13 21:36:34 +08:00
bb1a6259d3
Docs: Updated v0.25.3 release notes draft ( #14899 )
...
### What problem does this PR solve?
Draft v0.25.3 release notes
### Type of change
- [x] Documentation Update
2026-05-13 19:49:07 +08:00
9ed4da74b8
Docs: Draft 0.25.3 release notes ( #14898 )
...
### What problem does this PR solve?
A draft 0.25.3 release note.
### Type of change
- [x] Documentation Update
Co-authored-by: Jin Hai <haijin.chn@gmail.com >
2026-05-13 19:35:55 +08:00
3182fd0789
Docs: Update version references to v0.25.3 in READMEs and docs ( #14896 )
...
### What problem does this PR solve?
- Update version tags in README files (including translations) from
v0.25.2 to v0.25.3
- Modify Docker image references and documentation to reflect new
version
- Update version badges and image descriptions
- Maintain consistency across all language variants of README files
### Type of change
- [x] Documentation Update
2026-05-13 18:42:42 +08:00
64bd0130d3
Add REST API backward compatibility ( #14872 )
...
### What problem does this PR solve?
Add REST API backward compatibility
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
2026-05-13 11:44:40 +08:00
5e46457c28
Docs: How to add Bitbucket as data source. ( #14846 )
...
### What problem does this PR solve?
Added a guide on integrating Bitbucket as an external data source.
### Type of change
- [x] Documentation Update
2026-05-12 20:48:30 +08:00
f85e18afbc
Refact: sandbox quickstart.md & add tutorial for code exec component ( #14786 )
...
### What problem does this PR solve?
Refact: sandbox quickstart.md && add tutorial for code exec component
### Type of change
- [x] Refactoring
<img width="700" alt="img_v3_0211j_dcff835b-e3bb-4c77-9bc5-3b31a983229g"
src="https://github.com/user-attachments/assets/7842fc0f-639a-458f-b164-bc81a99ce4a5 "
/>
---------
Co-authored-by: writinwaters <93570324+writinwaters@users.noreply.github.com >
2026-05-12 14:42:20 +08:00
57b24be6d6
Docs: Update version references to v0.25.2 in READMEs and docs ( #14731 )
...
### What problem does this PR solve?
- Update version tags in README files (including translations) from
v0.25.1 to v0.25.2
- Modify Docker image references and documentation to reflect new
version
- Update version badges and image descriptions
- Maintain consistency across all language variants of README files
### Type of change
- [x] Documentation Update
2026-05-09 19:06:05 +08:00
a3de873617
Docs: Updated release date ( #14740 )
...
### What problem does this PR solve?
Updated v0.25.2 release date.
### Type of change
- [x] Documentation Update
2026-05-09 18:49:33 +08:00
6465753968
Docs: Added v0.25.2 release notes ( #14727 )
...
### What problem does this PR solve?
Added v0.25.2 release notes.
### Type of change
- [x] Documentation Update
2026-05-09 15:13:01 +08:00
d487a7f190
Docs: Added a guide on configuring SSL certificates ( #14696 )
...
### What problem does this PR solve?
### Type of change
- [x] Documentation Update
2026-05-09 10:08:14 +08:00
d843035c8b
Fix: add compatibility route for document download under /v1 ( #14663 )
...
### What problem does this PR solve?
add compatibility route for document download under /v1
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
2026-05-08 14:44:02 +08:00
f703169117
Refa: migrate document preview/download to RESTful API ( #14633 )
...
### What problem does this PR solve?
migrate document preview/download to RESTful API
### Type of change
- [x] Refactoring
2026-05-08 13:26:13 +08:00
f32034e83e
Refactor: completion -> completions ( #14584 )
...
### What problem does this PR solve?
Keep only /completions, deprecated /completion
### Type of change
- [x] Refactoring
2026-05-06 17:19:22 +08:00
a190a6d67f
Fix: add file convert backward compatibility ( #14583 )
...
### What problem does this PR solve?
add file convert backward compatibility
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
2026-05-06 15:19:38 +08:00
e4aee25b4b
Fix: add legacy agent completion API compatibility ( #14582 )
...
### What problem does this PR solve?
add legacy agent completion API compatibility
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
2026-05-06 14:22:48 +08:00
f14abf858e
Doc: Minor editorial updates ( #14543 )
...
### What problem does this PR solve?
Minor editorial updates.
### Type of change
- [x] Documentation Update
2026-04-30 20:06:28 +08:00
8aaf0942b1
Doc: Updated v0.25.1 release notes ( #14519 )
...
### What problem does this PR solve?
Updated v0.25.1 release notes.
### Type of change
- [x] Documentation Update
2026-04-30 11:59:53 +08:00
47129fdd08
Fix: optimize file batch delete ( #14473 )
...
### What problem does this PR solve?
optimize file batch delete
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
2026-04-30 11:00:39 +08:00
2548c28d65
feat: add FuturMix as model provider ( #14419 )
...
## Summary
Add [FuturMix](https://futurmix.ai ) as a new model provider. FuturMix is
an OpenAI-compatible unified AI gateway that provides access to 22+
models (GPT, Claude, Gemini, DeepSeek, and more) through a single API
endpoint and key.
- **API Base**: `https://futurmix.ai/v1 ` (OpenAI-compatible)
- **Supported capabilities**: Chat, Embedding, Image2Text, TTS,
Speech2Text, Rerank
### Changes
| File | Change |
|------|--------|
| `rag/llm/__init__.py` | Add `FuturMix` to `SupportedLiteLLMProvider`
enum, `FACTORY_DEFAULT_BASE_URL`, and `LITELLM_PROVIDER_PREFIX` |
| `rag/llm/chat_model.py` | Add `FuturMixChat(Base)` — follows
Astraflow/Avian pattern |
| `rag/llm/embedding_model.py` | Add `FuturMixEmbed(OpenAIEmbed)` —
follows Astraflow pattern |
| `rag/llm/cv_model.py` | Add `FuturMixCV(GptV4)` — follows
SILICONFLOW/OpenRouter pattern |
| `rag/llm/tts_model.py` | Add `FuturMixTTS(OpenAITTS)` — follows
CometAPI/DeerAPI pattern |
| `rag/llm/sequence2txt_model.py` | Add `FuturMixSeq2txt(GPTSeq2txt)` —
follows StepFun pattern |
| `rag/llm/rerank_model.py` | Add `FuturMixRerank(OpenAI_APIRerank)` |
| `conf/llm_factories.json` | Add factory config with 8 chat, 2
embedding, 1 image2text, 2 TTS, 1 speech2text models |
| `docs/guides/models/supported_models.mdx` | Add FuturMix to supported
models table |
### Models included
- **Chat**: claude-sonnet-4-20250514, claude-3.5-haiku, gpt-4o,
gpt-4o-mini, gemini-2.5-flash, gemini-2.0-flash, deepseek-chat,
deepseek-reasoner
- **Embedding**: text-embedding-3-small, text-embedding-3-large
- **Image2Text**: gpt-4o
- **TTS**: tts-1, tts-1-hd
- **Speech2Text**: whisper-1
## Test plan
- [ ] Verify FuturMix appears in the model provider list in RAGFlow UI
- [ ] Configure FuturMix with API key and test chat completion
- [ ] Test embedding model with document indexing
- [ ] Test image2text with a sample image
🤖 Generated with [Claude Code](https://claude.com/claude-code )
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-30 10:59:37 +08:00
ce4c782fd7
Docs: Update version references to v0.25.1 in READMEs and docs ( #14488 )
...
### What problem does this PR solve?
- Update version tags in README files (including translations) from
v0.25.0 to v0.25.1
- Modify Docker image references and documentation to reflect new
version
- Update version badges and image descriptions
- Maintain consistency across all language variants of README files
### Type of change
- [x] Documentation Update
2026-04-30 10:49:26 +08:00
d4147efc66
Docs: ( #14492 )
...
### What problem does this PR solve?
Added v0.25.1 release notes
### Type of change
- [x] Documentation Update
2026-04-29 20:29:58 +08:00
9280c64518
Docs: Updated Title chunker references ( #14483 )
...
### What problem does this PR solve?
Updated Title chunker references
### Type of change
- [x] Documentation Update
2026-04-29 19:37:24 +08:00
b684c89950
Add backward compat APIs ( #14427 )
...
### What problem does this PR solve?
Add backward compat APIs:
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
2026-04-29 15:15:49 +08:00
0cf105da8d
Doc: Added a database schema and migration guide. ( #14404 )
...
### What problem does this PR solve?
Added a database schema and migration guide.
### Type of change
- [x] Documentation Update
2026-04-28 09:54:33 +08:00
0b46ab07c5
Refa: restore openai-compatible chat completions api ( #14380 )
...
### What problem does this PR solve?
restore openai-compatible chat completions api
### Type of change
- [x] Refactoring
2026-04-27 14:02:19 +08:00
a9e5724b46
Refa: unify document create flows under REST documents API ( #14345 )
...
### What problem does this PR solve?
unify document create flows under REST documents API
### Type of change
- [x] Refactoring
2026-04-27 10:18:16 +08:00
78188ce9e9
Feat: add OpenDataLoader PDF parser backend ( #14058 ) ( #14097 )
...
### What problem does this PR solve?
Closes #14058 .
RAGFlow supports multiple PDF parsing backends (DeepDOC, MinerU,
Docling, TCADP, PaddleOCR). This PR adds **OpenDataLoader**
([opendataloader-project/opendataloader-pdf](https://github.com/opendataloader-project/opendataloader-pdf ))
as a new optional backend, giving users a deterministic, local-first
alternative with competitive table extraction accuracy.
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
- [x] Documentation Update
---
### Changes
#### Backend
- `deepdoc/parser/opendataloader_parser.py` — new `OpenDataLoaderParser`
class inheriting `RAGFlowPdfParser`. Implements `check_installation()`
(guards Python package + Java 11+ runtime), `parse_pdf()` with
JSON-first extraction (heading/paragraph/table/list/image/formula) and
Markdown fallback, position-tag generation compatible with the shared
`@@page\tx0\tx1\ty0\ty1##` format, and temp-dir lifecycle with cleanup.
- `rag/app/naive.py` — new `by_opendataloader()` wrapper, registered in
`PARSERS` dict, added to `chunk_token_num=0` override list.
- `rag/flow/parser/parser.py` — `"opendataloader"` branch in the
pipeline PDF handler + check validation list.
#### Infrastructure
- `docker/entrypoint.sh` — `ensure_opendataloader()` function: opt-in
via `USE_OPENDATALOADER=true`, skips gracefully if Java is not on PATH.
#### Frontend
- `web/src/components/layout-recognize-form-field.tsx` —
`OpenDataLoader` added to `ParseDocumentType` enum and parser dropdown.
Cascades automatically to the pipeline editor's Parser component.
#### Docs
- `docs/guides/dataset/select_pdf_parser.md` — added OpenDataLoader
entry and full env-var reference.
---
### Environment variables
| Variable | Default | Description |
|---|---|---|
| `USE_OPENDATALOADER` | `false` | Set `true` to install
`opendataloader-pdf` on container startup |
| `OPENDATALOADER_VERSION` | latest | Pin the PyPI release (e.g.
`==2.2.1`) |
| `OPENDATALOADER_HYBRID` | _(unset)_ | Enable hybrid AI mode (e.g.
`docling-fast`) |
| `OPENDATALOADER_IMAGE_OUTPUT` | _(unset)_ | `off` / `embedded` /
`external` |
| `OPENDATALOADER_OUTPUT_DIR` | _(tmp)_ | Persistent output dir; temp
dir used + cleaned if unset |
| `OPENDATALOADER_DELETE_OUTPUT` | `1` | `0` to retain intermediate
files for debugging |
| `OPENDATALOADER_SANITIZE` | _(unset)_ | `1` to filter prompt-injection
patterns from output |
---
### Dependencies
- **Runtime**: `opendataloader-pdf` (PyPI, Apache 2.0) — opt-in, not
added to `pyproject.toml` core deps. Installed by
`ensure_opendataloader()` at container startup when
`USE_OPENDATALOADER=true`.
- **System**: Java 11+ on PATH (JVM is the underlying engine). The
installer skips with a warning if `java` is not found.
---
### How to test
**Standalone parser:**
```bash
source .venv/bin/activate
uv pip install opendataloader-pdf
python3 -c "
import sys; sys.path.insert(0, '.')
from deepdoc.parser.opendataloader_parser import OpenDataLoaderParser
p = OpenDataLoaderParser()
print('available:', p.check_installation())
s, t = p.parse_pdf('path/to/test.pdf', parse_method='pipeline')
print(f'sections={len(s)} tables={len(t)}')
"
```
### Benchmark vs Docling
```
file parser secs sections tables
----------------------------------------------------------------------
text-heavy.pdf docling 45.29 148 10
text-heavy.pdf opendataloader 3.14 559 0
table-heavy.pdf docling 7.05 76 3
table-heavy.pdf opendataloader 3.71 90 0
complex.pdf docling 42.67 114 8
complex.pdf opendataloader 3.51 180 0
```
2026-04-25 00:33:02 +08:00
e5cfe7fb8f
Doc: Updated a 0.25-specific faq ( #14365 )
...
### What problem does this PR solve?
Updated a 0.25 faq.
### Type of change
- [x] Documentation Update
2026-04-24 20:57:32 +08:00
7fb6a12067
Update API document ( #14364 )
...
### What problem does this PR solve?
Update API document
### Type of change
- [ ] Documentation Update
2026-04-24 20:36:47 +08:00
8a2f63e77d
docs: fix API key guide typo ( #14352 )
...
Fixes a small typo in the RAGFlow API key guide: `This documents
provides` -> `This document provides`.
2026-04-24 16:59:25 +08:00
c74aece63c
Feat: Agent api ( #14157 )
...
### What problem does this PR solve?
1. **List agents**
**Prev API**:
- `/v1/canvas/list GET`
- `/api/v1/agents GET`
**Current API**: `/api/v2/agents GET`
2. **Get canvas template**
**Prev API**: `/v1/canvas/templates GET`
**Current API**: `/api/v2/agents/templates GET`
3. **Delete an agent**
**Prev API**:
- `/v1/canvas/rm POST`
- `/api/v1/agents/<agent_id> DELETE`
**Current API**: `/api/v2/agents/<agent_id> DELETE`
4. **Update an agent**
**Prev API**:
- `/api/v1/agents/<agent_id> PUT`
- `/v1/canvas/setting POST `
**Current API**: `/api/v2/agents/<agent_id> PATCH`
5. **Create an agent**
**Prev API**:
- `/v1/canvas/set POST`
- `/api/v1/agents POST`
**Current API**: `/api/v2/agents POST`
6. **Get an agent**
**Prev API**:
- `/v1/canvas/get/<canvas_id> GET `
**Current API**: `/api/v2/agents/<agent_id> GET`
7. **Reset an agent**
**Prev API**:
- `/v1/canvas/reset POST`
**Current API**: `/api/v2/agents/<agent_id>/reset POST`
8. **Upload a file to an agent**
**Prev API**:
- `/v1/canvas/upload/<canvas_id> POST`
**Current API**: `/api/v2/agents/<agent_id>/upload POST`
9. **Input form**
**Prev API**:
- `/v1/canvas/input_form GET`
**Current API**:
`/api/v2/agents/<agent_id>/components/<component_id>/input-form GET`
10. **Debug an agent**
**Prev API**:
- `/v1/canvas/debug POST`
**Current API**:
`/api/v2/agents/<agent_id>/components/<component_id>/debug POST`
11. **Trace an agent**
**Prev API**:
- `/v1/canvas/trace GET`
**Current API**: `/api/v2/agents/<agent_id>/logs/<message_id> GET`
12. **Get an agent version list**
**Prev API**:
- `/v1/canvas/getlistversion/<canvas_id>`
**Current API**: `/api/v2/agents/<agent_id>/versions GET`
13. **Get a version of agent**
**Prev API**:
- `/v1/canvas/getversion/<version_id>`
**Current API**: `/api/v2/agents/<agent_id>/versions/<version_id> GET`
14. **Test db connection**
**Prev API**:
- `/v1/canvas/test_db_connect POST`
**Current API**: `/api/v2/agents/test_db_connection`
15. **Rerun the agent**
**Prev API**:
- `/v1/canvas/rerun POST`
**Current API**: `/api/v2/agents/rerun POST`
16. **Get prompts**
**Prev API**:
- `/v1/canvas/prompts GET`
**Current API**: `/api/v2/agents/prompts GET`
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
---------
Co-authored-by: chanx <1243304602@qq.com >
2026-04-24 10:02:22 +08:00
7817b0d779
Refa: migrate chunk APIs to RESTful routes ( #14291 )
...
### What problem does this PR solve?
migrate chunk APIs to RESTful routes
### Type of change
- [x] Refactoring
2026-04-23 14:17:23 +08:00
01753b8f31
Refactor: API connectors ( #14228 )
...
### What problem does this PR solve?
Refactor /api/v1/connectors to be more RESTful.
### Type of change
- [x] Refactoring
2026-04-22 20:42:41 +08:00