Sbaaoui Idriss
e9637c9f94
fix: list model function for nvidia on python/go not returning current models ( #17501 )
...
### Summary
fix the list model logic for nvidia models
2026-07-29 13:15:34 +08:00
Jin Hai
7f21a7ba18
Go: add context, part14 ( #17446 )
...
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-07-28 19:05:59 +08:00
Lynn
15f8ef7409
Fix: code review ( #17442 )
2026-07-28 09:47:22 +08:00
Jin Hai
1436fcaca5
Go: add context, part13 ( #17445 )
...
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-07-27 21:19:39 +08:00
Jin Hai
f73f4cb720
Go: add context, part12 ( #17435 )
...
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-07-27 19:30:41 +08:00
Jin Hai
3065a29935
Go: add context, part9 ( #17412 )
...
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-07-27 15:06:48 +08:00
Lynn
9bec8d12bb
Fix: simplify verify go ( #17397 )
2026-07-27 13:54:36 +08:00
Jin Hai
f53518c110
Go: add context, part5 ( #17392 )
...
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-07-27 10:20:16 +08:00
Lynn
c3e03f5c06
Fix: update base_url and model list for provider tencent Hunyuan ( #17304 )
2026-07-23 19:24:54 +08:00
Lynn
4a2564c7da
Feat: OpenAI-API-Compatible ( #17276 )
2026-07-23 13:39:57 +08:00
Jin Hai
d19a036cda
Go: add context to lots of interface ( #17253 )
...
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-07-22 22:30:57 +08:00
Lynn
340d30eb12
Fix: verify model api ( #17183 )
2026-07-21 19:09:46 +08:00
Jin Hai
b8d06d02e6
Go: add stats ( #17061 )
...
### Summary
Add LLM token stats framework
---------
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-07-18 21:02:07 +08:00
Lynn
7336c27814
Fix: set Builtin models as default model ( #17029 )
2026-07-17 15:53:45 +08:00
qinling0210
995e405e8c
Support pipeline DSL modification through dataset configuration (backend) ( #16991 )
...
…end)
### Summary
Support pipeline DSL modification through dataset configuration
(backend)
Key modification: knowledgebase.parser_config
---------
Co-authored-by: yzc <yuzhichang@gmail.com >
2026-07-17 14:40:09 +08:00
euvre
d0ac79dc96
fix: ASR/VLM/TTS models not selectable in default model settings ( #17024 )
2026-07-17 13:05:22 +08:00
Jin Hai
8bb2cd0fb7
Go: fix db alignment ( #16964 )
...
### Summary
Align go db schema with python
---------
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-07-16 16:00:56 +08:00
Lynn
63c010cd04
Fix: code-rabbit review comment ( #16940 )
2026-07-15 15:44:08 +08:00
Lynn
bd7a3bb878
Fix: align go provider apis with python apis ( #16867 )
...
### Summary
As title.
---------
Co-authored-by: Jin Hai <haijin.chn@gmail.com >
Co-authored-by: Wang Qi <wangq8@outlook.com >
2026-07-14 21:06:11 +08:00
euvre
22dd1ad401
fix: resolve provider name case mismatch and 301 redirect in Go mode ( #16889 )
2026-07-14 17:05:21 +08:00
Lynn
b0cac0ac9d
Fix: Align part of Go provider APIs with Python APIs ( #16823 )
2026-07-13 11:20:02 +08:00
buua436
28340f6218
GO: improve model info parsing and add model_id/tenant context to list response ( #16804 )
2026-07-10 13:29:01 +08:00
Jin Hai
add7b9486f
Go: merge duplicate codes ( #16783 )
...
### Summary
1. merge heartbeat function.
2. introduce all environments
---------
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-07-10 11:58:32 +08:00
Jack
8ac80284c4
Feat: add embedding support ( #16769 )
...
### Summary
Feat: add embedding support
2026-07-09 16:24:39 +08:00
Lynn
1430d0e431
Fix: provider name ( #16733 )
2026-07-09 10:19:10 +08:00
Lynn
330033d7c2
Fix(go): adapt to new db columns ( #16745 )
2026-07-08 18:02:11 +08:00
S
f477d3329d
Fix: ValueError: too many values to unpack in list_tenant_added_models for model IDs containing '@' ( #16467 ) ( #16468 )
2026-07-07 09:40:27 +08:00
Wang Qi
7abc69434f
[Go] Fix to allow duplicate key for provider ( #16543 )
2026-07-02 10:34:36 +08:00
Jin Hai
3202ec6abf
Go CLI: refactor commands ( #16447 )
...
### Summary
1. Move debug commands to dev file.
2. Refactor some commands syntax
---------
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-06-29 17:03:26 +08:00
Zhichang Yu
f58fae5fb7
feat(go-agent): Ported retrieval node, added Keenable web search tool ( #16396 )
...
Ported retrieval node, added Keenable web search tool
- [x] New Feature (non-breaking change which adds functionality)
2026-06-29 09:45:16 +08:00
Jin Hai
dec2ce4a60
Go CLI: admin model framework ( #16252 )
2026-06-23 16:57:05 +08:00
qinling0210
563d855780
Implement OpenAI chat completions in GO ( #16177 )
...
### What problem does this PR solve?
Implement OpenAI chat completions in GO
POST /api/v1/openai/<chat_id>/chat/completions
OpenAI chat cli: internal/development.md
### Type of change
- [x] Refactoring
2026-06-18 18:07:27 +08:00
Haruko386
6beae949d8
feat[Go]: add modelID for delete_model and update_status ( #16025 )
...
### What problem does this PR solve?
1. add modelID for delete_model and update_status
2. fix the bug when update-status delete model
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
- [x] New Feature (non-breaking change which adds functionality)
2026-06-18 17:56:51 +08:00
Haruko386
27d723e13a
fix: fix some bugs in check_conn and drop_inst ( #16180 )
...
### What problem does this PR solve?
As title:
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
2026-06-18 14:19:46 +08:00
Haruko386
efdd58df66
feat[Go] add max_dimension and dimensions for ModelRequest ( #16019 )
...
### What problem does this PR solve?
As title
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
2026-06-16 10:31:27 +08:00
Haruko386
0480dee83f
fix: output 2 lines when list-supported models ( #16015 )
...
### What problem does this PR solve?
```
RAGFlow(api/default)> list supported models from 'longcat' 'test'
+-----------+------------+---------------+------------+-------------+-----------------------------+----------+
| dimension | dimensions | max_dimension | max_tokens | model_types | name | thinking |
+-----------+------------+---------------+------------+-------------+-----------------------------+----------+
| | | | | | LongCat-2.0-Preview@LongCat | |
| | | | | | LongCat-2.0-Preview@LongCat | |
+-----------+------------+---------------+------------+-------------+-----------------------------+----------+
# Fixed:
RAGFlow(api/default)> list supported models from 'longcat' 'test'
+------------+---------------+------------+-------------+-----------------------------+----------+
| dimensions | max_dimension | max_tokens | model_types | name | thinking |
+------------+---------------+------------+-------------+-----------------------------+----------+
| | | | | LongCat-2.0-Preview@LongCat | |
+------------+---------------+------------+-------------+-----------------------------+----------+
```
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
2026-06-15 15:26:35 +08:00
Hz_
bc963f8cf2
refactor(go): replace GenerateUUID1 with GenerateToken for entity IDs ( #16010 )
...
### Description
- **Refactor**: Replaced `utility.GenerateUUID1` (UUID v1) with
`utility.GenerateToken` (UUID v4) for generating entity IDs (`userID`,
`kbID`, `modelID`, etc.).
- **Cleanup**: Removed the unused `GenerateUUID1` function from
`utility` package.
- **Improvement**: Simplified ID generation logic and eliminated
unnecessary error handling boilerplate since `GenerateToken` cannot
fail.
2026-06-15 14:06:07 +08:00
Jin Hai
32d5c0039b
Go: refactor model API to accept model id ( #15999 )
...
### What problem does this PR solve?
Not not only model_name@instance_name@provider_name is acceptable, but
also model_id is acceptable.
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
---------
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-06-15 10:10:14 +08:00
Zhichang Yu
3fa15c0e2f
feat(agent): Go port — canvas engine, 22 components, DSL v2, 13 endpoints ( #15952 )
...
Ports the agent canvas subsystem from Python to Go.
## What's included
### Canvas Engine (Phase 0/1)
- State engine, scheduler, variable resolver, Redis checkpoint store,
cancel protocol
- **209 tests** across canvas / component / io packages
### 22 Components (P0–P4)
| Tier | Components |
|---|---|
| P0 T1+T2+T3 | LLM, Agent, ExitLoop, Switch, Categorize, Begin,
Message, Invoke |
| P1 T3 | VariableAggregator, VariableAssigner, StringTransform,
ListOperations, DataOperations |
| P2 T3 | Iteration, IterationItem, Loop, LoopItem |
| P3 T3 | UserFillUp, Fillup |
| P4 T5 | Browser, ExcelProcessor, DocsGenerator |
### DSL v2 Schema (Phase 2.5)
- Typed v2 in-memory model with v1-to-v2 auto-detect converter
- v1 legacy field stripping per plan §2.11.7
### HTTP Endpoints & Bug Fixes (Plans PR1–PR3)
- **DELETE SQL bug fix**: gorm v2 `Where("id = ?", id).Delete(...)`
pattern
- **CreateAgent validation**: title/DSL required, duplicate check, 103
envelope
- **13 new endpoints**: templates, prompts, tags, sessions CRUD,
chat/completions (SSE + non-stream stubs), rerun, test_db_connection,
logs, webhook/logs
- **756 Go unit tests** (745 → 756, +18)
- **17 → 0 Python integration test failures** (test_agents.py +
test_session_management/)
### Tools
21 eino tools: HTTPHelper, search tools, financial/data tools, mandatory
stubs
### Infrastructure
OTel observability, NATS message queue, DeepDoc gRPC client, SSRF
guards, IDOR mitigation
2026-06-12 22:58:28 +08:00
Haruko386
9c30557ef7
Go: add dimensions for list models and fix some embed-bug in providers ( #15940 )
...
### What problem does this PR solve?
As title
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
- [x] New Feature (non-breaking change which adds functionality)
- [x] Refactoring
2026-06-11 19:18:49 +08:00
Hz_
312514c032
feat(go): Add embedding dimension metadata and validation ( #15939 )
...
### What problem does this PR solve?
- Replace embedding model `dimension` metadata with `max_dimension`.
- Add optional `dimensions` metadata for models with fixed selectable
output dimensions.
- Include `max_dimension` and `dimensions` in model list responses.
- Validate requested embedding dimensions before calling provider
embedding APIs.
- Forward SiliconFlow embedding dimensions with the correct `dimensions`
request field.
- Add unit coverage for embedding dimension validation rules.
2026-06-11 17:55:13 +08:00
oktofeesh
bbc1f2ecec
feat(go-api): add RAG retrieval to chat completions ( #15739 )
...
## Summary
- Add knowledge-base retrieval support to Go chat completions.
## What changed
- Routes KB-backed chat sessions through the Go retrieval service
instead of falling back to solo chat.
- Resolves embedding and rerank models, validates accessible knowledge
bases, and preserves tenant-aware retrieval.
- Rejects mixed embedding models across selected knowledge bases before
retrieval to avoid incompatible vector dimensions.
- Threads the HTTP request context into streaming retrieval so cancelled
requests can stop downstream retrieval work.
- Applies metadata filters and message-level `doc_ids` before retrieval.
- Expands parent/child chunks before building references and prompt
context.
- Injects retrieved knowledge through a copied dialog prompt config so
the caller's original dialog is not mutated.
- Honors configured empty responses when no chunks are found.
- Names the metadata no-match sentinel and reuses it across
retrieval/handler paths.
- Adds a defensive content cast while appending streamed answers.
- Adds focused unit coverage for retrieval, metadata filtering,
authorization, multimodal messages, references, empty-response behavior,
prompt immutability, and mixed embedding models.
---------
Co-authored-by: Yingfeng <yingfeng.zhang@gmail.com >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-10 11:07:45 +08:00
Jin Hai
719ce15c95
Go CLI: update list supported models ( #15845 )
...
### What problem does this PR solve?
Now list supported models will show more info.
```
RAGFlow(api/default)> list supported models from 'gitee' 'test';
+-----------+------------+-------------+----------------------------------------------------------+---------------------------------------------+
| dimension | max_tokens | model_types | name | thinking |
+-----------+------------+-------------+----------------------------------------------------------+---------------------------------------------+
| | | | Wan2.7 | |
| | | | HappyHorse-1.0 | |
| | | | Qwen3.6-27B@Qwen | |
| | | | Qwen3.6-35B-A3B@Qwen | |
| | 1048576 | [chat] | DeepSeek-V4-Flash@deepseek-ai | map[clear_thinking:true default_value:true] |
| | 1048576 | [chat] | DeepSeek-V4-Pro@deepseek-ai | map[clear_thinking:true default_value:true] |
+-----------+------------+-------------+----------------------------------------------------------+---------------------------------------------+
```
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-06-09 19:01:00 +08:00
Jin Hai
55abf4f565
Go: new CLI command, list all models and show model ( #15786 )
...
### What problem does this PR solve?
```
RAGFlow(user)> list models;
+---------------------------+------------+-------------+--------------------+---------------------------------------------+
| alias | max_tokens | model_types | name | thinking |
+---------------------------+------------+-------------+--------------------+---------------------------------------------+
| | 1048576 | [chat] | deepseek-v4-flash | map[clear_thinking:true default_value:true] |
| | 1048576 | [chat] | deepseek-v4-pro | map[clear_thinking:true default_value:true] |
| | 1024000 | [chat] | minimax-m3 | map[clear_thinking:true default_value:true] |
| | 64000 | [vision] | glm-4.5v | map[clear_thinking:true default_value:true] |
| [baai/bge-m3] | 8192 | [embedding] | bge-m3 | |
| [baai/bge-reranker-v2-m3] | 1024 | [rerank] | bge-reranker-v2-m3 | |
| | | [tts] | step-audio-tts-3b | |
| [qwen/qwen3-asr-1.7b] | | [asr] | qwen3-asr-1.7b | |
| [paddleocr-vl-1.5] | | [ocr] | paddleocr-vl-0.9b | |
+---------------------------+------------+-------------+--------------------+---------------------------------------------+
RAGFlow(user)> show model 'minimax-m3';
+--------------+---------------------------------------------+
| field | value |
+--------------+---------------------------------------------+
| name | minimax-m3 |
| max_tokens | 1024000 |
| model_types | [chat] |
| thinking | map[clear_thinking:true default_value:true] |
| class | |
| alias | |
| ModelTypeMap | |
+--------------+---------------------------------------------+
RAGFlow(user)> show model 'baai/bge-m3';
+--------------+---------------+
| field | value |
+--------------+---------------+
| model_types | [embedding] |
| thinking | |
| class | |
| alias | [baai/bge-m3] |
| ModelTypeMap | |
| name | bge-m3 |
| max_tokens | 8192 |
+--------------+---------------+
```
---------
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-06-08 21:38:15 +08:00
qinling0210
c960dc2a4c
Refine handling of POST /api/v1/datasets/search in GO ( #15583 )
...
### What problem does this PR solve?
Refine handling of POST /api/v1/datasets/search in GO
### Type of change
- [x] Refactoring
2026-06-08 11:49:37 +08:00
Jin Hai
2061edd308
Remove unused codes ( #15579 )
...
### What problem does this PR solve?
Remove unused code.
### Type of change
- [x] Refactoring
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-06-03 17:35:36 +08:00
Haruko386
473d06d1ad
feat[Go]: implement add multi_models ( #15563 )
2026-06-03 15:26:46 +08:00
Jin Hai
e1f19f6679
Go: fix gitee balance api ( #15554 )
...
```
RAGFlow(user)> create provider 'gitee' instance 'intl' key 'api-token' url 'https://ai.gitee.com/v1 ' region 'intl';
SUCCESS
```
---------
Signed-off-by: Jin Hai <haijin.chn@gmail.com >
2026-06-03 13:23:20 +08:00
Haruko386
9f969feb89
feat[Go] implement check connection by using apikey and region ( #15475 )
...
### What problem does this PR solve?
**Verified from PostMan**
GET http://127.0.0.1:9384/api/v1/providers/gitee/connection
```json
body:
{
"api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"region": "default"
}
resp:
{
"code": 0,
"message": "success"
}
```
GET http://127.0.0.1:9384/api/v1/providers/gitee/connection
```json
body:
{
"api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"region": "deprecated"
}
resp:
{
"code": 0,
"message": "success"
}
```
GET http://127.0.0.1:9384/api/v1/providers/gitee/connection
```json
body:
{
"api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"region": "china"
}
resp:
{
"code": 0,
"message": "success"
}
```
GET http://127.0.0.1:9384/api/v1/providers/lmstudio/connection
```json
body:
{
"api_key": "",
"region": "test"
}
resp:
{
"code": 0,
"message": "success"
}
```
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
2026-06-02 19:32:41 +08:00
bitloi
2d229dd8aa
fix(go): resolve custom base_url for empty default region ( #15043 )
...
### What problem does this PR solve?
Fixes custom `base_url` resolution when a model instance has no
configured region.
Some drivers read custom base URLs from `BaseURL[""]` when
`apiConfig.Region` is empty, while others normalize empty region to
`"default"` and read `BaseURL["default"]`. This PR adds the `"default"`
alias only for empty-region custom base URLs while preserving the
existing empty-region key.
Closes #15042
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
2026-05-29 19:33:09 +08:00