Commit Graph

1159 Commits

Author SHA1 Message Date
Loong
c15241c3a9 fix(agent): reset execution path for new sessions (#18532) 2026-08-20 22:42:55 +08:00
Jack
99e1c2eaca fix(parser): allow text output_format for audio family (#18575) 2026-08-20 22:41:01 +08:00
euvre
c87aa3b168 fix: store source key only in pipeline_operation_log.source_from (#18239) 2026-08-20 20:17:52 +08:00
Jin Hai
fd74a98510 Go: fix error handle (#18573)
As title

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-08-20 20:13:39 +08:00
Jack
295dc12cc5 fix(deepdoc): preserve covered cells through span injection so span tables keep all TSR rows (#18574) 2026-08-20 19:59:17 +08:00
Jack
f793a44f99 fix(deepdoc): dedup OCR substring fragments regardless of whitespace divergence (#18568) 2026-08-20 19:59:05 +08:00
buua436
64d928e45f fix: align wiki graph and dataset logs (#18566) 2026-08-20 19:38:40 +08:00
Guofang.Tang
4304a3b7c6 feat(agent): support OpenAI-compatible responses (#18316)
### Summary

Complete the Go Agent OpenAI-compatible response path for `POST
/api/v1/agents/chat/completions` when `openai-compatible` is true. This
endpoint is already documented and routed, but the Go implementation
returned a placeholder response instead of executing the Agent.
2026-08-20 19:13:38 +08:00
Haruko386
2be70f34a9 feat[syncer]: implement data source Jira (#18558)
### Summary

As title
2026-08-20 19:11:41 +08:00
Haruko386
1e46cef2d5 refactor: simplify sync task service and harden scheduler recovery (#18550)
### Summary

As title
2026-08-20 19:11:23 +08:00
mkaaad
cab70fdac3 feat(syncer): add Moodle connector with checkpoint resume (#18554)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-08-20 19:05:16 +08:00
euvre
cc28035881 fix(ingestion): show data pipeline column for builtin pipeline ingestion logs (#18484) 2026-08-20 19:04:12 +08:00
Wang Qi
9357f79eb4 Fix: go switch user from superuser to normal user error (#18537) 2026-08-20 18:03:30 +08:00
euvre
f9120a0cff fix(compilation-template): emit wiki presets with the contracted "example" key (#18549) 2026-08-20 17:44:50 +08:00
buua436
a3df588951 feat: improve incremental Wiki compilation (#18557) 2026-08-20 16:45:34 +08:00
Jack
4eec5e4f35 feat(chunker): enforce a hard token cap in the TokenChunker merge (#18525) 2026-08-20 16:28:20 +08:00
mkaaad
0b7ec8a916 feat(syncer): add R2 connector with checkpoint resume (#18548)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Jin Hai <haijin.chn@gmail.com>
2026-08-20 16:26:49 +08:00
Haruko386
a88866f6b8 feat[syncer]: implement dingtalk AI table data source (#18539)
### Summary

As title
2026-08-20 16:10:08 +08:00
Jack
20ee2dad22 fix(deepdoc): drop nested OCR boxes before table cell fill + expose 13/14 parity gaps (#18524) 2026-08-20 15:57:58 +08:00
Jack
d76c15e2a5 feat(title-chunker): enforce chunk_token_cap on the Go title-family chunks (#18455) (#18551) 2026-08-20 15:41:48 +08:00
jay77721
2022efa9fc refactor(ingestion): unify auto-metadata on modular metadata and hard-delete legacy flats (BuiltInMetadata carried, not LLM) (#18511) 2026-08-20 15:35:51 +08:00
Brian Sparker
09a9b629ee feat(chat): add You.com web search provider (#18478)
### Summary

Adds You.com as a built-in Web Search provider for RAGFlow Chat,
alongside Tavily and Querit, using the provider-neutral dispatch #17813
put in place. No changes to existing Tavily or Querit behaviour.

You.com runs its own web index and returns several extracted passages
per result rather than a single meta description, so retrieved chunks
arrive with usable context.

---------

Co-authored-by: Brian Sparker <brainsparker@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-20 12:12:18 +08:00
Jack
84bed4dec5 refactor(chunker): replace QAChunker/PresentationChunker with PairChunker/PageChunker, drop TagChunker (#18523) 2026-08-20 11:53:00 +08:00
Haruko386
994148278d fix: ollama chat error (#18540) 2026-08-20 11:16:14 +08:00
krishna soni
17a55558b7 feat(cli): add --version flag to cli (#18534)
### Summary

This PR adds a `--version` (and `-V`) flag to the `ragflow-cli` tool.

### Usage

```bash
ragflow-cli --version
2026-08-20 10:33:03 +08:00
Loi Nguyen
f420e47f95 fix(ollama): preserve multimodal images (#17663)
### Summary

- Convert multimodal text blocks into Ollama message content.
- Attach image references through Ollama native images arrays for
synchronous and streaming chat requests.
- Strip data-URI headers while preserving raw base64 and URL image
values.
- Add regression coverage for both request paths.

Closes #17332

---------

Co-authored-by: Codex <codex@openai.com>
2026-08-20 10:15:15 +08:00
Jack
c90a0b7a87 feat(deepdoc): Python-intermediate replay parity harness + table cell-fill fixes (#18516) 2026-08-19 21:45:45 +08:00
euvre
e5a8b10120 fix(chat): drain deep-research goroutines before closing the async channel (#18504) 2026-08-19 21:23:51 +08:00
Linpeng cheng
a9323ca554 fix: pass Infinity vector similarity weight (#17453)
## Summary

- Pass `vector_similarity_weight` from Python and Go retrieval requests
into Infinity's weighted fusion expression.
- Keep fusion weights ordered as text first and vector second, with the
existing default vector weight of `0.3`.

---------

Co-authored-by: chenglinpeng <1042527908@qq.com>
2026-08-19 20:06:02 +08:00
mkaaad
a3170af846 Feat: connector go imap (#18513)
add imap connector to go

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-08-19 19:23:26 +08:00
Serply
371d83c2d8 feat(chat): add Serply web search provider (#18475)
### Summary

This PR adds [Serply](https://serply.io) as a third web search provider
for chat assistants, alongside the existing Tavily and Querit options.
2026-08-19 18:59:01 +08:00
Haruko386
86ecdd8588 fix: chat did not pass model config to provider (#18485)
### Summary

As title
2026-08-19 18:43:15 +08:00
Loong
86c520a336 fix(nlp): differentiate alphabetic OOV term weights (#18470)
### Summary

Closes #18414.

`rag/res/term.freq` is not shipped, and both term-weight implementations
therefore assigned the same `300` fallback frequency to every lowercase
Latin token. With no tokenizer frequency, NER, or POS signal, function
words and content words received identical lexical boosts.

This PR adds the same bounded out-of-vocabulary prior to Python and Go:

- Use it only when the explicit DF dictionary or tokenizer has no
frequency.
- Count Latin, Greek, and Cyrillic letters, including uppercase and
accented forms.
- Keep the existing frequency of `300` for words up to three letters,
halve it every two additional letters, and clamp it at `10`.
- Reject digits, underscores, and logographic terms so Chinese and other
existing fine-grained-tokenizer paths are unchanged.
- Treat an absent optional `term.freq` as the supported fallback path
without a startup warning, while still logging inaccessible or malformed
dictionaries.

A corpus-derived table was intentionally not added: that would require
provenance/licensing decisions, language detection, and handling
cross-language homographs. The bounded prior is deterministic,
dependency-free, and fixes the equal-weight degradation for
whitespace-delimited alphabetic languages without claiming
corpus-specific precision.

Python and Go consume one shared fixture covering ASCII, uppercase,
accented Latin, Greek, Cyrillic, separators, invalid mixed tokens, and a
CJK non-match. Both sides also verify the issue's ordering (`was <
largest < supplier < equipment`) and that an explicit dictionary entry
still takes precedence.


Co-authored-by: Loong <184861530+yzl0ng@users.noreply.github.com>
2026-08-19 18:37:04 +08:00
Haruko386
91ddbcf60f feat[syncer]: add data source Confluence (#18501)
### Summary

As title
2026-08-19 18:15:32 +08:00
Haruko386
49d0d95f71 fix[syncer]: github data source don't validate repo's accessible (#18477)
### Summary

As title
2026-08-19 18:10:34 +08:00
Lem0nTea2002
3791f27b38 fix(harness): enforce concurrency limits for retried Pregel tasks (#18496)
### Summary

`AsyncExecutor.Execute` acquires a worker-pool slot, while
`ExecuteWithRetry` duplicated the task lifecycle without acquiring one.
Pregel supplies a retry configuration for every node, so those
executions
bypassed `WithMaxConcurrency`.

This change:
- routes retry execution through the shared `Execute` path;
- waits on the task-owned context and rechecks cancellation after slot
acquisition;
- adds deterministic regression coverage for worker-pool occupancy and
queued-task cancellation.
2026-08-19 16:10:30 +08:00
Wangshu
e3def573d4 fix(deepdoc): collapse overlapping OCR boxes before Go table cell-fill (#18507) 2026-08-19 16:05:56 +08:00
Lynn
993e84106b Fix: not use connect check result as model verify result (#18492) 2026-08-19 15:15:04 +08:00
js
d82c48eaf1 fix: allow .bmp uploads in filename type whitelist (#17830)
## Summary
- Frontend `Images` already includes `bmp`
(`web/src/constants/common.ts`), and picture parsing already accepts
`.bmp` (`internal/parser/parser/picture_parser.go`, `rag/app/picture.py`
via Pillow).
- This PR adds `bmp` to both whitelist sites and a small Go unit test.


Co-authored-by: zhangjiangshan1 <zhangjiangshan1@kingsoft.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 15:04:33 +08:00
jay77721
2a1a93ed3a refactor(extractor): unify 5-in-1 modular schema across dataset and pipeline, drop legacy field_name and custom prompt (#18432)
Refactor the Extractor component into a pure, unified **5-in-1 modular extraction engine** across both Dataset (`knowledgebase.parser_config`) and Pipeline (Canvas DSL).
2026-08-19 15:02:46 +08:00
mkaaad
b46180fa2c Fix: connector validation error (#18489)
surface connector validation error detail so test connect can return
detail error
2026-08-19 14:20:18 +08:00
mkaaad
d648d19137 feat(syncer): add Bitbucket connector with checkpoint resume (#18487)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-08-19 14:20:02 +08:00
D819
c466ff3b1a fix(llm): disable DeepSeek V4 thinking by default via extra_body (#18241)
## Summary
- Disable DeepSeek V4 thinking (chain-of-thought) by default.
- litellm 1.82.x drops `thinking: disabled`; carry the toggle through
`extra_body.thinking.type` and strip `reasoning_effort` to avoid the
400.
- Use local timezone for agent `sys.date` instead of UTC.

Reference: https://api-docs.deepseek.com/guides/thinking_mode

---------

Co-authored-by: Claude <claude@example.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-08-19 13:47:36 +08:00
Wang Qi
5f92323ced Fix ingestion pipeline child delimiter extra newline (#18490) 2026-08-19 13:47:09 +08:00
Lem0nTea2002
9fc3e22f0f docs(harness): fix package documentation link (#18428) 2026-08-19 12:46:45 +08:00
Lem0nTea2002
5a0bcf7858 docs(harness): fix AgentCore import aliases in examples (#18434)
### Summary

Fix two Harness README examples by aliasing
`ragflow/internal/harness/core` as `agentcore`.
2026-08-19 12:45:43 +08:00
buua436
31812e1de5 feat: improve Go wiki compilation (#18479)
Improve Go Wiki compilation with chunk-level MAP caching, topic-aware planning, entity/topic page merging, and correct source chunk counting.
2026-08-19 11:41:20 +08:00
Jack
746fe4f0b3 fix(deepdoc): align table header detection with Python (follow-up to #18404) (#18454) 2026-08-19 10:57:30 +08:00
zloglevel
6c0d091cc9 fix: make ScheduledTask lifecycle concurrency-safe (#18469)
### Summary

Fixes https://github.com/infiniflow/ragflow/issues/18468

Signed-off-by: zloglevel <loglevel@outlook.com>
2026-08-19 10:50:46 +08:00
Jack
b6b6c4de97 fix(deepdoc): score table orientation by per-line detect+recognize (#18452) 2026-08-18 22:48:39 +08:00