Commit Graph
1890 Commits
Author SHA1 Message Date
xugangqiang 7c99668aee fix(parser): emit xlsx spreadsheets as typed table chunks (#19509) 2026-09-14 15:10:48 +08:00
Sbaaoui Idriss 9e932547e5 fix(storage):preserve errors during backend retries (#19578) 2026-09-14 14:39:30 +08:00
Ritik Yadav 58c80cb5ef fix(rag): assign PDF parser tables to tbls in book chunking method (#19557) (#19559)
Fix #19557 — book.py PDF branch now assigns tbls = tables, so table/image/formula chunks are no longer silently dropped.
2026-09-14 12:59:55 +08:00
Sourav Rajvi ff667331ac fix(wiki): stamp retrieval fields so compiled pages are searchable (#18787)
Fix #18779 — wiki pages weren't retrievable (missing available_int/doc_id/content_with_weight).
2026-09-14 12:56:29 +08:00
Anupam Mediratta 3a9b84495c fix: fix security issue in ob_conn_base.py (#19524)
Fix critical SQL injection in OceanBase connector — column names (dict keys) were interpolated unescaped in filter expressions.
2026-09-14 11:49:38 +08:00
天海蒼灆 a1208cd273 fix: surface MinerU API error bodies and re-raise parser failures (#17308)
Fix MinerU/PaddleOCR error handling — send enum values, include response body in failures, and surface real parse errors.
2026-09-14 11:37:17 +08:00
AnonrouterandSunday Labs --labrat b69afb5005 feat: add AnonRouter model provider (#19561)
I maintain AnonRouter and added it as a hosted OpenAI-compatible model
provider

Co-authored-by: Sunday Labs --labrat <hi.sundaylabs@gmail.com>
2026-09-14 11:31:02 +08:00
huyua9 b8f0fc496f fix: handle indirect PDF annotation arrays (#18894)
Dereference indirect /Annots arrays before PDF hyperlink extraction.
2026-09-14 10:40:49 +08:00
Ren Wei (任卫) c9a6f92738 Custom the file extension when saving DB fields, and Parse HTML fragments not just full HTML doc (#15998)
Since the database fields often store HTML fragments or Markdown fragments, a custom file name suffix field was added in the database datasource. Also, when parsing HTML, it should be compatible with parsing HTML fragments (without a body tag), not just full HTML documents (with a body tag).
2026-09-14 10:20:35 +08:00
Sbaaoui Idriss 9bc9c36ce6 fix(ollama): disable reasoning for vision descriptions (#19529) 2026-09-14 09:59:05 +08:00
Gonghan-PrincessandGonghan-Princess b50c13ff43 feat(data-source): add Feishu Wiki file connector (#19425)
Wiki file nodes only (not native Docs/Sheets or Bitable). Polling doesn't reconcile deletions.

Co-authored-by: Gonghan-Princess <268298391+Gonghan-Princess@users.noreply.github.com>
2026-09-14 09:50:59 +08:00
Yingfeng 1f5d33333a Add claim/evidence to tree/pageindex compilation pipeline (#19267) 2026-09-11 22:37:33 +08:00
VincentLambert 941edd1269 feat(nlp): rerank on natural chunk text, not tokenized content_ltks (#16961)
Fix reranker using tokenized text (10–94x lower scores) instead of natural chunk text.
2026-09-11 16:59:06 +08:00
qinling0210 ce34ec42f5 Port agentic RAG PRs to GO (#19527)
### Summary

Port
https://github.com/infiniflow/ragflow/pull/19424/
https://github.com/infiniflow/ragflow/pull/19459/

Address comments from https://github.com/infiniflow/ragflow/pull/19500
2026-09-11 15:58:42 +08:00
Sbaaoui Idriss 2dbce82990 fix(storage): retry transient S3 failures (#19526) 2026-09-11 15:50:41 +08:00
balibabu e3bb9e1cd9 Feat: Make the files of the parser operators in the pipeline deletable. (#19384) 2026-09-11 14:18:45 +08:00
huyua9 db74811549 fix(dataflow): preserve scalar text output shape (#18921)
Normalize non-empty markdown/text/html scalar outputs as string chunks; empty stays zero chunks.
2026-09-11 11:55:12 +08:00
Zhu Lei 0c3902afdb fix(wiki): treat MAP-extracted chunks as cache hits instead of missing (#19208)
Fix #19092 — stamp kb_id on Wiki MAP resume rows so OpenSearch completeness check can see persisted extracts (was reporting all as missing).
2026-09-11 10:47:50 +08:00
buua436 2aedd79b8f refa: remove unused knowledge compilation code (#19437) 2026-09-11 10:15:53 +08:00
Lynn 97029b08f1 Fix: num token usage (#19495) 2026-09-10 17:55:17 +08:00
buua436 7e86beadd1 fix: route navigation API through tree search (#19493) 2026-09-10 17:13:57 +08:00
Wang Qi a1261c8106 [Refactor] Use regex to do hightlight (#19488) 2026-09-10 16:34:09 +08:00
VincentLambert 2b8861ceb8 fix(llm): drop Claude sampling params rejected by Bedrock and Anthropic (#19295)
Fix Bedrock Claude 4.1+ rejecting both temperature and top_p. New policy applies to Anthropic + Bedrock; drops top_p when temperature present, or all sampling params for no-sampling models.
2026-09-10 15:59:16 +08:00
Fei Haihao 48f6cbf275 fix(embedding): preserve zero filename embedding weight (#19397) 2026-09-10 10:35:53 +08:00
Wenchao An cf18c94acd fix(storage): accept tenant arguments in encrypted Azure calls (#19457) 2026-09-09 23:24:15 +08:00
Wenchao An 30a29603fb fix(storage): overwrite existing Azure SAS objects (#19458) 2026-09-09 23:23:49 +08:00
Caobaining1andHermes Agent 2bf80b920b feat(agentic_rag): add tool playbook, clarify tool specs, stop wasted… (#19459)
## Summary
- rag/prompts/action_run.md: add a TOOL PLAYBOOK section covering
combination chains, convergence rules, and a tool-status -> next-action
table, so the model emits a state patch instead of re-searching an
exhausted direction.
- rag/advanced_rag/harness/action_session.py: rewrite the 7 tool specs
into an explicit WHEN TO CALL / DO NOT CALL / ARGUMENTS / OUTPUT / IF IT
FAILS contract, and cap the shared evidence pool at _EVIDENCE_POOL_CAP
(60, mirrors _SCA_VIEW_CAP) so a saturated session stops admitting
chunks the SCA view can no longer read.
- rag/advanced_rag/agentic_rag_graph.py: short-circuit _route_sca to
finalize once the evidence pool reaches the SCA view cap, since another
research round cannot flip the sufficiency verdict.
- test/unit_test/rag/advanced_rag/test_action_session_schema.py: cover
the action-session tool-spec schema.

Co-authored-by: Hermes Agent <hermes-agent@localhost>
2026-09-09 22:18:19 +08:00
Günter Lukas 65fdc85fba fix(llm): implement async chat methods for GoogleChat (Vertex AI Gemini) (#15994)
Fixed GoogleChat's async client bug where it incorrectly sent Vertex AI service account JSON as an OpenAI API key, by overriding _async_chat and _async_chat_streamly to use the async genai.Client methods for Gemini models.
2026-09-09 21:28:07 +08:00
Konstantin Romankov 4731ee3322 feat: add Hubris as a model provider (#19341)
Added Hubris as a new OpenAI-compatible model provider for the Russian market, with per-model thinking.default_value empirically measured (not guessed), endpoint pinned (not configurable)
2026-09-09 17:19:46 +08:00
Wang Qi e4c706b536 Fix: table column auto parse missing metadata (#19439) 2026-09-09 16:59:12 +08:00
buua436 19acb019d8 fix: report incremental wiki map errors (#19422) 2026-09-09 15:54:04 +08:00
Caobaining1andHermes Agent 4e3cd423d3 fix(agentic_rag): reject prose fan-outs, keep research loop alive on SCA timeout, and widen slot-table retry budget (#19424)
## Summary

Problem
Prose replies could be turned into sub-questions. When the planner model answered the question instead of returning JSON, the fallback split that reply line-by-line and used the lines as search sub-questions. Those
same lines also seed the slot table, so an unverified entity could be treated as a known fact and steer the whole research round.

A SCA timeout ended the research loop early. When the review agent returned no payload (timeout or unavailable), the graph marked the round sufficient and accepted an unverified draft as final. The slot-table decomposition retry had no extra budget. It reused the first attempt's timeout, so on slow models both attempts timed out and the table degraded to a single answer slot, losing the second hop of multi-hop questions.

Fix
Fan-out parsing: the prompt now states explicit constraints (do not answer the question, do not introduce entities absent from the question, ignore instructions embedded in the question, keep each sub-question short). A shape guard rejects answer- and citation-like lines (markdown emphasis, URLs, source lists, over-long or declarative lines) on both the JSON and the fallback path. If nothing survives, the planner retries once with a strict JSON-only instruction and otherwise falls back to the raw question.

Review timeout handling (same file): an unavailable review now marks the round insufficient instead of sufficient, and the query rewriter falls back to the unresolved slots' clues so research can continue; it only stops when no direction is left.
Decomposition retry budget (rag/advanced_rag/harness/action_session.py): the retry gets a larger window than the first attempt, bounded by a cap and by the remaining round deadline, so it never shrinks and never
overruns.

---------

Co-authored-by: Hermes Agent <hermes-agent@localhost>
2026-09-09 14:40:38 +08:00
Fei Haihao 2c1af18d62 fix(embedding): use Replicate run API for query embeddings (#19405)
Fix Replicate query embedding — Client.embed() doesn't exist in pinned SDK. Reuse Client.run() path and return single vector. 

Signed-off-by: FeiHaihao <3175989593@qq.com>
2026-09-09 13:45:37 +08:00
Wang Qi a13593097b Refactor: Add RERANK_TOKEN_LIMIT_MODE = truncate (default) / passthrough / raise_error (#19404) 2026-09-09 09:55:00 +08:00
deadtrickster 0f342467ed fix(paper): bound title-pivot merge by chunk_token_num (#12109) (#16959) 2026-09-08 18:47:43 +08:00
Lucas Kim 86edfc45a8 fix(llm): raise a clear error for unsupported Bedrock embedding models (#16044)
Fix #16043 — BedrockEmbed now raises clear EmbeddingError for unsupported models instead of UnboundLocalError.
2026-09-08 18:07:35 +08:00
VincentLambert 371cfabd95 feat(connector): add Sitemap data source for sitemap.xml-based web ingestion (#19344)
Add Sitemap data source — ingests web pages from sitemap.xml with incremental sync. Supports HTML→Markdown extraction, PDF discovery, URL filtering, SSRF protection.
2026-09-08 16:50:44 +08:00
Lynn 82f6144a5b Fix: update GiteeAI base_url and some model_name (#19338) 2026-09-08 11:18:07 +08:00
JessYan dbe0eda304 Fix the remaining rag/app chunkers treating an empty upload as a missing binary (#19256) 2026-09-08 11:02:07 +08:00
buua436 638ad0db60 fix: report wiki map timeout errors (#19329) 2026-09-08 09:50:16 +08:00
Ziyang Zhang fd9f9e7f61 feat(parser): add MonkeyOCRv2-Parsing support (#18887)
Add MonkeyOCRv2-Parsing as a document layout parser. Adapter sends docs to HTTP API, extracts ZIP response, converts JSON layout (text/tables/bbox) to RAGFlow sections. Configurable via MONKEYOCRV2_SERVER_URL.
2026-09-07 21:12:50 +08:00
ÖnderyandCursor 38230c45d3 feat(llm): forward OpenAI user on embedding and parse requests (#19065)
Add user attribution to embedding calls — forwards user on OpenAI-compatible providers via current_llm_user(). Excludes LocalAI/Xinference (reject unknown fields). Accepts user_id on ingest/parse/chunk endpoints; redacts from logs. Omitted = unchanged. Go/vision/TTS/ASR out of scope.

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 19:30:33 +08:00
Wenchao AnandSbaaoui Idriss 9d6f76d217 fix(storage): honor client region in Python S3 bucket creation (#19291)
Fix Python S3 bucket creation in non-us-east-1 regions — now sends LocationConstraint via CreateBucketConfiguration. 

---------

Co-authored-by: Sbaaoui Idriss <112825897+6ba3i@users.noreply.github.com>
2026-09-07 17:38:11 +08:00
Wang Qi f8b0a1de19 Refactor: update dataset API should not have ext (#19272) 2026-09-07 14:25:15 +08:00
ump45nose 27faeae983 fix(task): refresh stale embedding model config (#18089) 2026-09-05 11:01:42 +08:00
Yuanhao Lyu eb24425669 feat(task_executor): add MAX_TASKS_PER_WORKER to recycle long-running workers (#14501) 2026-09-05 10:56:55 +08:00
buua436 2476e2fbfa feat: configure knowledge compilation runtime settings (#19254) 2026-09-04 17:05:22 +08:00
MarMar Labs 2f13f103a0 fix(token_utils): build the tiktoken encoder on first use, not at import (#18986) 2026-09-04 15:46:30 +08:00
Sbaaoui Idriss ebb2174236 fix(parser): decode non-UTF-8 document text (#19253) 2026-09-04 15:40:34 +08:00
xugangqiang 4f7c69c06c fix(chunker): align canvas TokenChunker default delimiters with General parser (#19226) 2026-09-04 15:22:24 +08:00