forked from infiniflow/ragflow
-
Notifications
You must be signed in to change notification settings - Fork 0
Upgrade to latest release tag v0.23.1 #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
JasleenKaurSethi
wants to merge
509
commits into
main
Choose a base branch
from
upgrade-0.23.1
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…t loop` when calling mindmap endpoint. (infiniflow#11880) ### What problem does this PR solve? Fix RuntimeError when calling mindmap endpoint by converting `gen_mindmap()` to async function and using `await` instead of `asyncio.run()`. ### Type of change - [ ] Bug Fix (non-breaking change which fixes an issue) --------- Co-authored-by: Kevin Hu <[email protected]>
### What problem does this PR solve? Add metadata condition in document list. Add metadata bulk update. Add metadata summary. ### Type of change - [x] New Feature (non-breaking change which adds functionality) - [x] Documentation Update
### What problem does this PR solve? MinerU new version supports for the new backend vlm-mlx-engine,https://github.com/opendatalab/MinerU . ### Type of change - [ x ] New Feature (non-breaking change which adds functionality)
…ow#11879) ### What problem does this PR solve? This PR fixes a startup crash in the data_sync_0 service caused by an incorrect asyncio.run call. The main coroutine was being passed as a function reference instead of being invoked, which raised: `ValueError: a coroutine was expected, got <function main ...> ` What I changed - Updated the entrypoint in sync_data_source.py to correctly invoke the coroutine with `asyncio.run(main())`. Testing - No tested. Related Issue Fixes infiniflow#11878 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Retrieval metadata filtering adds semi-automatic mode, and users can manually check the metadata key that participates in LLM to generate filter conditions. ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? change: async issue and sensitive logging ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…#11898) ### What problem does this PR solve? Add DeepseekV3.2 of Tongyi-Qianwen and remove unused code ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? Treat MinerU as an OCR model 2. infiniflow#11903 ### Type of change - [x] Refactoring
(infiniflow#11903) ### What problem does this PR solve? Feat: Add mineru as a model manufacturer to the system. infiniflow#10621 ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Co-authored-by: balibabu <[email protected]>
infiniflow#11786 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
## Overview This PR adds support for **Single Bucket Mode** in RAGFlow, allowing users to configure MinIO/S3 to use a single bucket with a directory structure instead of creating multiple buckets per Knowledge Base and user folder. ## Problem Statement The current implementation creates one bucket per Knowledge Base and one bucket per user folder, which can be problematic when: - Cloud providers charge per bucket - IAM policies restrict bucket creation - Organizations want centralized data management in a single bucket ## Solution Added a `prefix_path` configuration option to the MinIO connector that enables: - Using a single bucket with directory-based organization - Backward compatibility with existing multi-bucket deployments - Support for MinIO, AWS S3, and other S3-compatible storage backends ## Changes - **`rag/utils/minio_conn.py`**: Enhanced MinIO connector to support single bucket mode with prefix paths - **`conf/service_conf.yaml`**: Added new configuration options (`bucket` and `prefix_path`) - **`docker/service_conf.yaml.template`**: Updated template with single bucket configuration examples - **`docker/.env.single-bucket-example`**: Added example environment variables for single bucket setup - **`docs/single-bucket-mode.md`**: Comprehensive documentation covering usage, migration, and troubleshooting ## Configuration Example ```yaml minio: user: "access-key" password: "secret-key" host: "minio.example.com:443" bucket: "ragflow-bucket" # Single bucket name prefix_path: "ragflow" # Optional prefix path ``` ## Backward Compatibility ✅ Fully backward compatible - existing deployments continue to work without any changes - If `bucket` is not configured, uses default multi-bucket behavior - If `bucket` is configured without `prefix_path`, uses bucket root - If both are configured, uses `bucket/prefix_path/` structure ## Testing - Tested with MinIO (local and cloud) - Verified backward compatibility with existing multi-bucket mode - Validated IAM policy restrictions work correctly ## Documentation Included comprehensive documentation in `docs/single-bucket-mode.md` covering: - Configuration examples - Migration guide from multi-bucket to single-bucket mode - IAM policy examples - Troubleshooting guide --- **Related Issue**: Addresses use cases where bucket creation is restricted or costly
…iniflow#11917) ### What problem does this PR solve? Feat: Flatten the request schema of the webhook infiniflow#10427 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? Feat: Add box connector ### Type of change - [x] New Feature (non-breaking change which adds functionality)
…#11912) ### What problem does this PR solve? ### Type of change - [x] Documentation Update
### What problem does this PR solve? Correct metadata update behavior. infiniflow#11912 When update `value` is omitted, the corresponding keys are updated to `"value"` regardless of their current values. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### Type of change - [x] New Feature (non-breaking change which adds functionality) ### What problem does this PR solve? This PR introduces a new Docs Generator agent component for producing downloadable PDF, DOCX, or TXT files from Markdown content generated within a RAGFlow workflow. ### **Key Features** **Backend** - New component: DocsGenerator (agent/component/docs_generator.py) - - Markdown → PDF/DOCX/TXT conversion - - Supports tables, lists, code blocks, headings, and rich formatting - - Configurable document style (fonts, margins, colors, page size, orientation) - - Optional header logo and footer with page numbers/timestamps - **Frontend** - New configuration UI for the Docs Generator - - Download button integrated into the chat interface - - Output wired to the Message component - - Full i18n support **Documentation** Added component guide: docs/guides/agent/agent_component_reference/docs_generator.md **Usage** Add the Docs Generator to a workflow, connect Markdown output from an upstream component, configure metadata/style, and feed its output into the Message component. Users will see a document download button directly in the chat. **Contributor Note** We have been following RAGFlow since more than a year and half now and have worked extensively on personalizing the framework and integrating it into several of our internal systems. Over the past year and a half, we have built multiple platforms that rely on RAGFlow as a core component, which has given us a strong appreciation for how flexible and powerful the project is. We also previously contributed the full Italian translation, and we were glad to see it accepted. This new Docs Generator component was created for our own production needs, and we believe that it may be useful for many others in the community as well. We want to sincerely thank the entire RAGFlow team for the remarkable work you have done and continue to do. If there are opportunities to contribute further, we would be glad to help whenever we have time available. It would be a pleasure to support the project in any way we can. If appropriate, we would be glad to be listed among the project’s contributors, but in any case we look forward to continuing to support and contribute to the project. PentaFrame Development Team --------- Co-authored-by: PentaFrame <[email protected]> Co-authored-by: Kevin Hu <[email protected]>
### What problem does this PR solve? Fix: forget-reset password ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…flow#10427 (infiniflow#11928) ### What problem does this PR solve? Feat: Displaying the file option in the webhook's request body infiniflow#10427 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? Refactor metadata filter. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) - [x] Refactoring --------- Co-authored-by: Kevin Hu <[email protected]>
### What problem does this PR solve? Feat: Add GPT-5.2 & pro ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? Raptor don't have attribute chat. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Asure-OpenAI resource not found. infiniflow#11750 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…niflow#11933) ### What problem does this PR solve? Fix: presentation parsing infiniflow#11920 Fix: Embeddin encode exception handling ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
infiniflow#11838) ### What problem does this PR solve? Support uploading encrypted files to object storage. ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Co-authored-by: virgilwong <[email protected]>
… (infiniflow#11945) ### What problem does this PR solve? Feat: Set the return value of the webhook to a string. infiniflow#10427 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? Add documentation for infiniflow#11806. ### Type of change - [x] Documentation Update
…nfiniflow#11943) ### What problem does this PR solve? Improve the logic to calculate embedding total token count ### Type of change - [x] Refactoring
…infiniflow#11955) ### What problem does this PR solve? Fix pipeline ignore MinerU backend config and vllm module is missing. infiniflow#11944, infiniflow#11947. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…iniflow#11931) ### What problem does this PR solve? - Change the message format from 'key: value' to 'name: value' when user submits the fillup form in agent chat. - This resolves infiniflow#11865 - I think this change makes sense, better aligning the form and the replied message. ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? As title. ### Type of change - [x] Refactoring --------- Signed-off-by: Jin Hai <[email protected]>
### What problem does this PR solve? Feat: GitHub connector ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? Judge index exist before delete memory message. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…bases that use the same embedding model. infiniflow#12320 (infiniflow#12321) ### What problem does this PR solve? Feat: On the agent page and chat page, you can only select knowledge bases that use the same embedding model. infiniflow#12320 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
…pabilities (infiniflow#12316) ### What problem does this PR solve? issue: infiniflow#12217 [infiniflow#12313](infiniflow#12313) change: add IMAP data source integration with configuration and sync capabilities ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? As title. ### Type of change - [x] Refactoring Signed-off-by: Jin Hai <[email protected]>
### What problem does this PR solve? As title ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) Signed-off-by: Jin Hai <[email protected]>
…in permissions (infiniflow#12334) Potential fix for [https://github.com/infiniflow/ragflow/security/code-scanning/62](https://github.com/infiniflow/ragflow/security/code-scanning/62) In general, the fix is to explicitly declare a `permissions:` block so the GITHUB_TOKEN used by this workflow only has the scopes required: read access to repository contents and write access to contents/releases. Since this workflow creates or moves tags and creates/overwrites releases via `softprops/action-gh-release`, it needs `contents: write`. There is no evidence that it needs other elevated scopes (issues, pull-requests, actions, etc.), so these should remain at their default of `none` by omission. The best minimal fix without changing existing functionality is to add a workflow-level `permissions:` block near the top of `.github/workflows/release.yml`, after `name:` and before `on:` (or anywhere at the root level, but this is conventional). This will apply to all jobs (there is only `jobs.release`) and ensure that the GITHUB_TOKEN has only `contents: write`. No additional imports or methods are needed because this is a YAML configuration change only. Concretely: - Edit `.github/workflows/release.yml`. - Insert: ```yaml permissions: contents: write ``` between line 2 (empty line after `name: release`) and line 3 (`on:`). No other lines need to be changed. _Suggested fixes powered by Copilot Autofix. Review carefully before merging._ Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
### What problem does this PR solve? As title ### Type of change - [x] Refactoring Signed-off-by: Jin Hai <[email protected]>
…nfiniflow#12329) ### What problem does this PR solve? Back-end may returns empty array on `"doc_type_kwd"` property which causes translation key malformed. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…finiflow#12337) ### What problem does this PR solve? Feat: Adapt the theme of the documentation page. infiniflow#10427 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? Fix: Dataset logic of parser ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Feat: Display mode at the begin node infiniflow#10427 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? infiniflow#12303 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### Type of change - [x] Documentation Update
…ing data (infiniflow#12339) ### What problem does this PR solve? Admin user enabling/disabling a user will causing user list reset to first page ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…alignment (infiniflow#12343) ## Summary Fixes infiniflow#12311 Changes the `reference` field initialization from `[{}]` to `[]` in session creation. ### Problem When creating a session via the SDK API, the `reference` field was incorrectly initialized as `[{}]`. This caused: - First dialogue round: Empty reference - Second dialogue round: Reference pointing to first round's data - Overall misalignment between dialogue rounds and their references ### Solution Changed the initialization to `[]` (empty list), which: - Matches the `Conversation` model's expected default - Ensures references grow correctly one-to-one with assistant responses - Aligns with the service layer's expectations ### Testing After applying this fix: 1. Create a session via `POST /api/v1/chats/{conversation_id}/sessions` 2. Send multiple questions via `POST /api/v1/chats/{conversation_id}/completions` 3. View the conversation on web - references should now align correctly with each dialogue round
### What problem does this PR solve? Fix: Bug fixed - Memory type multilingual display - Name modification is prohibited in Data source - Jump directly to Metadata settings ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…yed "undefined". infiniflow#10427 (infiniflow#12348) ### What problem does this PR solve? Feat: Fixed the issue where the newly created agent begin node displayed "undefined". infiniflow#10427 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
### What problem does this PR solve? Sort the user list by user email address. ### Type of change - [x] New Feature (non-breaking change which adds functionality) Signed-off-by: Jin Hai <[email protected]>
### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
…rd (infiniflow#12355) ### What problem does this PR solve? Currently, all components in configs are displayed even they are not used. This PR is to fix it. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) Signed-off-by: Jin Hai <[email protected]>
### What problem does this PR solve? As title ### Type of change - [x] Documentation Update Signed-off-by: Jin Hai <[email protected]>
…iflow#12349) ### What problem does this PR solve? - Update version tags in README files (including translations) from v0.23.0 to v0.23.1 - Modify Docker image references and documentation to reflect new version - Update version badges and image descriptions - Maintain consistency across all language variants of README files ### Type of change - [x] Documentation Update
### What problem does this PR solve? System web page is disabled since v0.22.0, and the health check API is also described in API reference. This document is obsolete. ### Type of change - [x] Documentation Update Signed-off-by: Jin Hai <[email protected]>
…infiniflow#12360) ### What problem does this PR solve? - Simplified and consolidated extraction rules - Emphasized strict evidence-based extraction only - Strengthened enum handling and hallucination prevention - Clarified output requirements for empty results ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? Fix: Batch parsing problem ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
### What problem does this PR solve? As title. ### Type of change - [x] Documentation Update Signed-off-by: Jin Hai <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.