v0.20.3

infiniflow/ragflowv0.20.3Aug 20, 2025by yuzhichang

AI Summary

Revamps UI for Datasets, Chat, and Search pages, introduces document-level metadata filtering, chat multi-model comparison, and Agent drag-and-drop creation.

Key Highlights

  • UI revamp for Datasets, Chat, and Search pages
  • Document-level metadata filtering for chats and searches
  • Chat multi-model comparison feature
  • Agent citation toggle and drag-and-drop creation

New Features

  • UI revamp for main pages
  • Document-level metadata filtering
  • Chat multi-model comparison
  • Agent drag-and-drop creation

Full Release Notes

# Summary

## Improvements
- Revamps the user interface for the Datasets, Chat, and Search pages.
- Search and Chat: Introduces document-level metadata filtering, allowing automatic or manual filtering during chats or searches.
- Search: Supports creating search apps tailored to various business scenarios
- Chat: Supports comparing answer performance of up to three chat model settings on a single Chat page.
- Agent: 
  - Implements a toggle in the Agent component to enable or disable citation. 
  - Introduces a drag-and-drop method for creating components. 
- Documentation: Corrects inaccuracies in the API reference.

## New Agent templates
- Report Agent: A template for generating summary reports in internal question-answering scenarios, supporting the display of tables and formulae. [#9427](https://github.com/infiniflow/ragflow/pull/9427) (The template is now in active use at a research institution.)

## Fixed issues
- The timeout mechanism introduced in v0.20.0 caused tasks like GraphRAG to halt.
- Predefined opening greeting in the Agent component was missing during conversations. 
- An automatic line break issue in the prompt editor. 
- A memory leak issue caused by PyPDF. [#9469](https://github.com/infiniflow/ragflow/pull/9469)

## What's Changed
* Doc: updated supported model name by @writinwaters in https://github.com/infiniflow/ragflow/pull/9343
* Feat: New search page components and features  by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9344
* Feat: Modify the agent list return field name #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9373
* Support Russian in UI by @rjohny55 in https://github.com/infiniflow/ragflow/pull/9362
* Support Russian in UI Update config.ts by @rjohny55 in https://github.com/infiniflow/ragflow/pull/9361
* Feat: Run eslint when the project is running to standardize everyone's code #9377 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9379
* Fix: Replace StrEnum with strenum in code_exec.py by @asiroliu in https://github.com/infiniflow/ragflow/pull/9376
* Agent plans tasks by referring to its own prompt. by @TeslaZY in https://github.com/infiniflow/ragflow/pull/9315
* Fix broken data stream when writing image file by @mustangxu in https://github.com/infiniflow/ragflow/pull/9354
* Fix "no `tc` element at grid_offset" by @mustangxu in https://github.com/infiniflow/ragflow/pull/9375
* Feat: add full list of supported AWS Bedrock regions by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9378
* Fix: Remove default dataset_ids from Chat class initialization by @asiroliu in https://github.com/infiniflow/ragflow/pull/9381
* Fix: Update test assertions and add GraphRAG config in dataset tests by @asiroliu in https://github.com/infiniflow/ragflow/pull/9386
* Fix: handle missing dataset_ids when creating chat assistant by @jiasu-hezhip in https://github.com/infiniflow/ragflow/pull/9324
* Support the case of one cell split by multiple columns. by @HaiyangPeng in https://github.com/infiniflow/ragflow/pull/9225
* docs(sandbox): update /etc/hosts entry to include required services by @BDanial in https://github.com/infiniflow/ragflow/pull/9144
* Feat: added functionality to choose all datasets if no id is provided by @Drasek in https://github.com/infiniflow/ragflow/pull/9184
* Feat:  Allow chat to use meta data #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9393
* Python SDK: add meta_fields to Document class by @shasha79 in https://github.com/infiniflow/ragflow/pull/9387
* Fix: Update test assertions and simplify test cases by @asiroliu in https://github.com/infiniflow/ragflow/pull/9400
* Refa: list canvas by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9341
* Refa: migrate chat models to LiteLLM by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9394
* Feat: add full list of supported AWS Bedrock regions by @rjohny55 in https://github.com/infiniflow/ragflow/pull/9395
* feat(next-search): Added AI summary functionality #3221 by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9402
* Fix:HTTP request component failed to retrieve the corresponding value by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9399
* Add fallback to use 'calamine' parse engine in excel_parser.py by @mustangxu in https://github.com/infiniflow/ragflow/pull/9374
* Fix: Before executing the SQL, remove tags in the format [ID: number] to avoid execution errors. by @goodboyasia in https://github.com/infiniflow/ragflow/pull/9326
* Feat: add meta data filter. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9405
* Fix:TypeError: OllamaCV.chat() got an unexpected keyword argument 'stop' by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9363
* Fix "File contains no valid workbook part" by @mustangxu in https://github.com/infiniflow/ragflow/pull/9360
* Fix: Patch LiteLLM by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9416
* Fix: remove doc error. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9413
* Feat: Added meta data to the chat configuration page #8531 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9417
* Fix:valueERROR when file is optional but not exist value by @Popmio in https://github.com/infiniflow/ragflow/pull/9414
* Refa: Update LLM stream response type to Generator by @asiroliu in https://github.com/infiniflow/ragflow/pull/9420
* Fix: citation issue. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9424
* Fix KeyError in session listing endpoint when accessing conversation reference by @Mckennasora in https://github.com/infiniflow/ragflow/pull/9419
* Feat: allows setting multiple types of default models in service config by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9404
* Feat: Fixed the issue where some fields in the chat configuration could not be displayed #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9430
* Refactor:Improve the float compare for LocalAIRerank by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9428
* Docs: Update HTTP API reference with new response fields by @asiroliu in https://github.com/infiniflow/ragflow/pull/9434
* Fix: no doc hits after meta data filter. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9435
* Add issue template for agent scenario feature request by @yingfeng in https://github.com/infiniflow/ragflow/pull/9437
* Fix typo in issue template by @yingfeng in https://github.com/infiniflow/ragflow/pull/9444
* Feat: Show multiple chat boxes #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9443
* Fix: update broken create agent session due to v0.20.0 changes by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9445
* Refa: split services about llm. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9450
* Docs: Update HTTP API reference with simplified response format and parameters by @asiroliu in https://github.com/infiniflow/ragflow/pull/9454
* Trival. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9460
* Feat: Display a separate chat multi-model comparison page #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9461
* Fix: KB folder may not there while creating virtual file by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9431
* Test: Update error message assertions for chunk update tests by @asiroliu in https://github.com/infiniflow/ragflow/pull/9468
* feat(next-search): Implements document preview functionality #3221 by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9465
* Docs: Deprecated 'Create session with agent' by @writinwaters in https://github.com/infiniflow/ragflow/pull/9464
* fix 'KeyError: "There is no item named 'word/NULL' in the archive"' by @mustangxu in https://github.com/infiniflow/ragflow/pull/9455
* Agent template: report agent using knowledge base by @TeslaZY in https://github.com/infiniflow/ragflow/pull/9427
* Fix: PyPDF's Manipulated FlateDecode streams can exhaust RAM by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9469
* Update cv_model.py by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9472
* Feat: Send data to compare the performance of different models' answers #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9477
* fix: preserve correct MIME & unify data URL handling for vision inputs (relates #9248) by @RuyXu in https://github.com/infiniflow/ragflow/pull/9474
* Feat:Can directly generate an agent node by dragging and dropping the connecting line (#9226) by @FatMii in https://github.com/infiniflow/ragflow/pull/9357
* Feat: Upload files in the chat box #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9483
* Feat: add citation option to agent and enlarge the timeouts. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9484
* Feat: Delete or filter conversations #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9491
* Fix:HTTPs component re.error: bad escape \u by @xiaoyu0701 in https://github.com/infiniflow/ragflow/pull/9480
* Refactor:Standardize image conf and add private registry support by @tcodehuber in https://github.com/infiniflow/ragflow/pull/9496
* Fix: unexpected truncated Excel files by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9500
* Feat: Add metadata configuration for new chats #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9502
* Feat: conversation completion can specify different model by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9485
* Docs: Miscellaneous updates. by @writinwaters in https://github.com/infiniflow/ragflow/pull/9506
* Feat: add SMTP support for user invitation emails by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9479
* feat(search): Added app embedding functionality and optimized search page #3221 by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9499
* Fix the bug in enablePrologue under agent task mode by @TeslaZY in https://github.com/infiniflow/ragflow/pull/9487
* Refactor: Use Input Length In DefaultRerank by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9516
* Feat: Fixed the chat model setting echo issue by @cike8899 in https://github.com/infiniflow/ragflow/pull/9521
* Env: Update dependencies for proxy support by @asiroliu in https://github.com/infiniflow/ragflow/pull/9519
* Feat: embedded search by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9501
* Fix: save team's canvas issue. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9518
* Fix (search): Optimize the search page functionality and UI #3221  by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9525
* Fix: Gemini parameters error by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9520
* Feat: Displays the embedded page of the chat module #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9532
* Feat: add dialog chatbots info by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9530
* Fix: search service reference by @asiroliu in https://github.com/infiniflow/ragflow/pull/9533
* Refa: refine search app by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9536
* feat(search): Optimized search functionality and user interface #3221 by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9535
* Feat: Allow agent operators to select speech-to-text models #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9534
* Fix: ensure update_progress loop always waits between iterations by @zxc11086 in https://github.com/infiniflow/ragflow/pull/9528
* Feature (agent): Allow Retrieval kb_ids param use kb_id,and allow list kb_name or kb_id by @huang-aoqin in https://github.com/infiniflow/ragflow/pull/9531
* Feat: Support metadata auto filer for Search. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9524
* Refactor:Improve VoyageRerank not texts handling by @Woody-Hu in https://github.com/infiniflow/ragflow/pull/9539
* Docs: Updated v0.20.2 release notes by @writinwaters in https://github.com/infiniflow/ragflow/pull/9553
* Refa: OpenAI whisper-1 by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9552
* Fix: Fixed the issue where clicking the SQL tool test button did not request the interface #9541 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9542
* Feat: add meta filter to search app. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9554
* Docs: Update version references to v0.20.2 in READMEs and docs by @asiroliu in https://github.com/infiniflow/ragflow/pull/9559
* Fix(search): Search application list supports renaming function #3221 by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9555
* Docs: Updated workarounds for uploading file to an agent by @writinwaters in https://github.com/infiniflow/ragflow/pull/9561
* Feat: Switch the root route to the new page #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9560
* Refa: create new name for duplicated dialog name by @yongtenglei in https://github.com/infiniflow/ragflow/pull/9558
* Fix: Fixed an issue where renaming a chat would create a new chat #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9563
* Fix: no effect on retrieval_test in term of metadata filter. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/9566
* Fix: Reset all data except the first one on the chat page shared with others #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9567
* Fix (next search): Optimize the search problem interface and related functions #3221 by @dcc123456 in https://github.com/infiniflow/ragflow/pull/9569
* Fix dataset card not responding to click events by @TeslaZY in https://github.com/infiniflow/ragflow/pull/9574
* Fix: Fixed the issue where the model configuration page could not be scrolled #9572 by @cike8899 in https://github.com/infiniflow/ragflow/pull/9579
* Docs: Update version references to v0.20.3 in READMEs and docs by @asiroliu in https://github.com/infiniflow/ragflow/pull/9581
* Docs: Updated v0.20.3 release notes by @asiroliu in https://github.com/infiniflow/ragflow/pull/9583

## New Contributors
* @rjohny55 made their first contribution in https://github.com/infiniflow/ragflow/pull/9362
* @jiasu-hezhip made their first contribution in https://github.com/infiniflow/ragflow/pull/9324
* @BDanial made their first contribution in https://github.com/infiniflow/ragflow/pull/9144
* @Drasek made their first contribution in https://github.com/infiniflow/ragflow/pull/9184
* @shasha79 made their first contribution in https://github.com/infiniflow/ragflow/pull/9387
* @goodboyasia made their first contribution in https://github.com/infiniflow/ragflow/pull/9326
* @Popmio made their first contribution in https://github.com/infiniflow/ragflow/pull/9414
* @Mckennasora made their first contribution in https://github.com/infiniflow/ragflow/pull/9419
* @RuyXu made their first contribution in https://github.com/infiniflow/ragflow/pull/9474
* @xiaoyu0701 made their first contribution in https://github.com/infiniflow/ragflow/pull/9480
* @tcodehuber made their first contribution in https://github.com/infiniflow/ragflow/pull/9496
* @zxc11086 made their first contribution in https://github.com/infiniflow/ragflow/pull/9528

**Full Changelog**: https://github.com/infiniflow/ragflow/compare/v0.20.1...v0.20.3