Commit Graph

1996 Commits

Author SHA1 Message Date
Loong
1e147e0c0b fix(memory): normalize invalid extraction timestamps (#18463)
## Summary

- allow ISO 8601 normalization callers to provide an explicit fallback
while preserving the existing default behavior
- use the extraction conversation time when `valid_at` is missing or
invalid
- clear an invalid optional `invalid_at` instead of writing an
unparseable value
- include the rejected timestamp value in the error log

This addresses the timestamp write-through portion of #18415. It is
intentionally separate from #18462, which fixes the semantic output
prompt.

Co-authored-by: Loong <184861530+yzl0ng@users.noreply.github.com>
2026-08-19 18:31:51 +08:00
Loong
bf9f06c566 fix(memory): honor custom extraction prompts (#18461)
### Summary

- Forward each memory's stored system_prompt and user_prompt to
extract_by_llm.
- Cover both immediate save and queued extraction paths with focused
regression tests.
- Preserve the existing default-prompt fallback when stored prompts are
empty.

Fixes #18413.
2026-08-19 18:28:36 +08:00
Sevenzuo
dd1f335ba2 fix: preserve extensionless document suffix on GaussDB (#18483)
### Summary

RAGFlow's "Create empty document" flow accepts names without a file
extension. The `POST /datasets/<dataset_id>/documents?type=empty` route
calls `_upload_empty_document()`, where `Path(name).suffix.lstrip(".")`
returns `""`.

In GaussDB's A/ORA compatibility mode, that empty string is persisted as
SQL `NULL`. Because `document.suffix` was defined as `NOT NULL`, the
insert failed with a constraint violation.
2026-08-19 18:26:14 +08:00
Ali Farhan
ece9638f94 fix(api): report why provider model discovery failed instead of swallowing it (#18027)
### Summary

Providers whose static catalogue is empty discover their models by
calling the base URL the user typed. `verify_api_key` wrapped that call
in a bare `except Exception: pass` and then returned a flat `No models
found for provider 'X'`, so an unreachable host, a closed port, a wrong
scheme and a bad TLS setup all produced the same sentence, with the
actual error discarded and not even logged.
2026-08-19 18:24:10 +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
Wang Qi
ae9f1e7c5b Fix reasoning not working in multiple model chat (#18457) 2026-08-19 09:32:05 +08:00
Wang Qi
b5ad30ed43 Fix pdf cancel at task level not document level, multiple record logs (#18435) 2026-08-18 19:29:18 +08:00
qinling0210
486065d878 Fix: use Infinity connPool.get_conn() in metadata filter push-down (#18438) 2026-08-18 17:37:28 +08:00
Wang Qi
b75509c8a6 Fix multiple model chat always use the chat model, not using the passing model (#18439) 2026-08-18 17:30:47 +08:00
peewee92
89f3611248 fix(agent): make tag metadata searchable and sortable in agent list (#18313) 2026-08-18 17:17:03 +08:00
Wang Qi
86750bd24e Fix: some pdf with chinese name cannot preview (#18422) 2026-08-18 14:54:10 +08:00
Wang Qi
75f737de67 Refactor: make page number readable (#18409) 2026-08-18 13:27:04 +08:00
zws202606
d02723ca76 feat: Gaussdb adaptation (#17703) 2026-08-18 09:53:11 +08:00
天海蒼灆
b85b908bb6 Feat: data source test connection with unified connector validation (#14992) 2026-08-18 09:36:48 +08:00
Lynn
238b1aee7d Fix: get memory size cache rightly (#18370) 2026-08-17 16:54:01 +08:00
Wang Qi
57b907cd1e Refactor: do not include compliation chunks in retrieval testing (#18364)
Retrieval Testing: do not include compilation result.
Search: include compilation result.
2026-08-17 16:19:05 +08:00
S
c6ba54bc72 fix: stop three recurring errors on doc delete (#17685) (#17686)
Follow-up to #17526 ("Refactor: merge dataset scope graph"), which introduced two code paths that touch Infinity columns the deployed schema does not declare. This PR makes the runtime robust against the old schema while also adding the new column to the new schema so freshly created tables are correct.
2026-08-16 09:25:51 +08:00
qinling0210
554fb1133a Search in navigation tree & store graph content in nav_doc (#18303)
### Summary

Search in navigation tree & store graph content in nav_doc during parse
2026-08-14 22:26:57 +08:00
buua436
024c35f085 fix: track wiki chunk changes incrementally (#18285) 2026-08-14 20:11:55 +08:00
Lynn
471070c2c8 Fix: return error when no valid speech text in intranscription response (#18277) 2026-08-14 16:27:34 +08:00
euvre
0d198fccec Fix DateTimeTzField crashing on driver-native datetimes and unparseable values (#18264) 2026-08-14 15:56:05 +08:00
buua436
15a63bc15c fix: exclude disabled documents from wiki compilation (#18261) 2026-08-14 13:45:14 +08:00
Lynn
58abab50cc Fix: reject move to current location request (#18234) 2026-08-14 09:34:20 +08:00
buua436
a4e819504c feat: support entity and topic wiki modes (#18216) 2026-08-13 19:03:24 +08:00
buua436
c10371d945 fix: refine structure graph keyword search (#18181) 2026-08-13 17:49:20 +08:00
qinling0210
a6dcc0f665 Add dataset navigation search for agentic RAG (#18218)
### Summary

Add dataset navigation search for agentic RAG.

dataset_navigation_search() calls
dataset_api_service.search_dataset_layers with mode as "nav_doc"
2026-08-13 17:35:24 +08:00
buua436
827ec11525 fix: align shared search result total (#18200) 2026-08-13 14:25:02 +08:00
Lynn
7edce6810e Fix: reduce model verify cost (#18191)
### Summary

As title.
2026-08-13 12:11:56 +08:00
euvre
b1de7e8136 Fix: allow datasets sharing a base embedding model to be searched together (#18166) 2026-08-13 09:51:44 +08:00
buua436
649b631cac fix: improve incremental wiki compilation (#18164) 2026-08-12 19:12:39 +08:00
euvre
fdb6b5fdd2 fix: search files recursively within current folder subtree (#17779) 2026-08-12 14:43:06 +08:00
euvre
a530a3a170 fix: clean up wiki blueprint default instruction text (#17893) 2026-08-12 14:39:36 +08:00
qinling0210
b73aac38f4 Update infinity json_extract_string usage (#18139)
### Summary

Update infinity json_extract_string usage. 

Example: json_extract_string(chunk_data, '$.name') LIKE '%Alice%'
2026-08-12 10:59:22 +08:00
buua436
0cfd8f41e4 fix: improve incremental wiki compilation (#18130)
### What problem does this PR solve?

Incremental Wiki compilation could lose provenance for claim-light
entities, produce unstable page groups across embedding models, route
entities to unrelated pages, and assign topics without sufficient
page-level context. Document removals and page membership changes could
also leave stale Wiki state.

This PR:

- preserves source document and chunk provenance throughout entity
matching, reduction, page generation, and deletion;
- uses embeddings to retrieve candidates and the LLM to make final page
grouping and incremental routing decisions;
- batches embedding and LLM operations with bounded concurrency and
deterministic fallbacks;
- selects source-scoped topic candidates with embeddings before the page
LLM chooses the final topic;
- rebuilds Wiki state when the compilation mode or embedding model
changes;
- normalizes Wiki array fields returned by the API and retains entities
without relations in graph responses.

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
2026-08-11 20:13:04 +08:00
qinling0210
d49af7f218 Generate navigation, navigation search (#18096)
### Summary
2 API

POST /api/v1/datasets/{dataset_id}/navigation

GET
/api/v1/datasets/{dataset_id}/navigation/search?q={query}&mode={mode}&top_k={topk}


2 cli

uv run --no-sync python3 admin/client/ragflow_cli.py -h 127.0.0.1 -p
9380 -t user

ragflow> GENERATE NAVIGATION OF DATASET 'frames tree';

ragflow> NAVIGATION SEARCH 'Christie introduced blockchain-based digital
passports' IN DATASET 'frames tree' MODE 'all' topk 20;

(mode: chunk, nav_cluster, nav_doc, navigation_tree, all)
2026-08-11 17:48:24 +08:00
buua436
5fd66154f3 fix: improve structure keyword search (#18055) 2026-08-11 13:58:00 +08:00
Wang Qi
bd876c796e Fix: restrict xxx_ids to limit 100 (#18074) 2026-08-11 13:28:52 +08:00
Lynn
15ab2b3ee2 Fix: update tree when delete skill node (#18063) 2026-08-11 09:49:22 +08:00
Wang Qi
a0438517bc Fix add agent update validation check (#18056) 2026-08-10 20:12:51 +08:00
buua436
6f50e478e0 fix: exclude disabled documents from dataset structures (#18041) 2026-08-10 17:50:34 +08:00
buua436
c0582b8e18 fix: handle disabled documents in dataset structures (#18033) 2026-08-10 13:52:49 +08:00
Wang Qi
373050c7ca Fix agentic chat not working in chatbot (#18035) 2026-08-10 13:07:15 +08:00
Charles
42373a8229 fix(api): map internal RetCode values to valid HTTP statuses in build_error_result (#18009)
### Summary

Fixes #17980.
2026-08-10 11:30:11 +08:00
Lynn
7433fbb77b Fix: exclude unauthorized memory/dataset from list results (#18006) 2026-08-10 10:16:56 +08:00
Wang Qi
2fef38f955 Fix answer in think (#17998) 2026-08-07 17:30:14 +08:00
Wang Qi
993b41b7b1 Append attachments content to last message (#17993) 2026-08-07 16:04:19 +08:00
buua436
42329f140d feat: add agent filter counts (#17984) 2026-08-07 15:29:07 +08:00
buua436
d63ad40c65 fix: reject duplicate chat parameter keys (#17977) 2026-08-07 15:28:30 +08:00
Lynn
045ba3970a Fix: verification message (#17978) 2026-08-07 14:44:23 +08:00
buua436
48b2d3b914 fix: preserve page index chapter chunk provenance (#17963) 2026-08-07 13:47:04 +08:00