v0.14.0

infiniflow/ragflowv0.14.0Nov 25, 2024by KevinHuSh

AI Summary

Released on November 25, 2024, this major release introduces Infinity as an alternative document engine to Elasticsearch. It adds Agent support for variables, Andrew Ng's translation Agent template, and an SEO blog generation template. The system also optimized term weight calculation and replaced Redis with Valkey.

Key Highlights

  • Supports Infinity as an alternative document engine to Elasticsearch.
  • Agent support for variables and optimized interaction like auto-saving.
  • Added Andrew Ng's 3-step translation Agent template and SEO optimized blog generation Agent template.
  • Added API for Agent.
  • English synonyms are supported during retrieval.

New Features

  • Optimized the calculation of term weight, reducing recall time by half.
  • More resilient task executor for document parsing and chunking.
  • Strengthened the monitoring of task Executor.
  • Replaced Redis with Valkey.
  • New supported languages: Indonesian, Spanish, Vietnamese.

Full Release Notes

## Summary
- Supports Infinity as the alternative doc engine to elasticsearch
- Add Agent support for variables and optimize interaction such as auto-saving
- Added Andrew Ng's 3-step translation Agent template and SEO optimized blog generation Agent template.
- Added API for Agent
- English synonyms are supported during retrieval
- Optimized the calculation of term weight, such that the recall time is reduced by half
- More resilient task executor for document parsing and chunking
- Strengthened the monitoring of task Executor
- Replacing Redis with Valkey
- New supported languages: Indonesian, Spanish, Vietnamese


## What's Changed
* Updated screenshots for Starting an AI chat by @writinwaters in https://github.com/infiniflow/ragflow/pull/3139
* Changed version to 0.13.0 by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3140
* Updated obsolete screenshot. by @writinwaters in https://github.com/infiniflow/ragflow/pull/3141
* Update gif for readme and add input param to every components by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3145
* feat: Add DynamicInputVariable to RetrievalForm #1739 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3112
* Updated an obsolete response by @writinwaters in https://github.com/infiniflow/ragflow/pull/3152
* Updated descriptions for knowledge graph by @writinwaters in https://github.com/infiniflow/ragflow/pull/3154
* Add test for API by @Feiue in https://github.com/infiniflow/ragflow/pull/3134
* Replaced redis with Valkey by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3164
* Added jdk to happify tika by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3165
* Added tika jar into image to avoid downloading by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3167
* fix es search parameter error by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3169
* feat: Proxy the SDK address to the backend #3166 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3171
* Updated instructions on upgrading to RAGFlow dev by @writinwaters in https://github.com/infiniflow/ragflow/pull/3175
* set default LLM to new registered user by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3180
* feat: docs for api endpoints to generate openapi specification by @hornikmatej in https://github.com/infiniflow/ragflow/pull/3109
* feat: Add tooltip to clean_html item #2908 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3183
* feat: Add agent interface document link to agent page #3189 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3190
* add agent completion API by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3192
* update poetry.lock by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3197
* Docs update for upgrading DLA models by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3198
* fix bugs in test by @Feiue in https://github.com/infiniflow/ragflow/pull/3196
* raise exception if embedding model not found by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3199
* add assistant to canvas chat history by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3201
* Unified API response json schema by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3170
* rm unused file by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3205
* accelerate term weight calculation by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3206
* add keyword extraction time elapsed to the little lamp. by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3207
* feat: add qwen 2.5 models for silicon flow by @zhyg in https://github.com/infiniflow/ragflow/pull/3203
* Fix bugs in API by @Feiue in https://github.com/infiniflow/ragflow/pull/3204
* Remove dead code by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3210
* fix: Fixed the issue of api markdown document display being messy #2346 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3212
* Added a list of supported models by @writinwaters in https://github.com/infiniflow/ragflow/pull/3214
* doc updates by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3216
* Editorial updates to Docker README by @writinwaters in https://github.com/infiniflow/ragflow/pull/3223
* feat: Add next login page with shadcn/ui  #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3231
* fix: TypeError: only length-1 arrays can be converted to Python scalars by @ksztone-huanggonghao in https://github.com/infiniflow/ragflow/pull/3211
* Add sdk for Agent API by @Feiue in https://github.com/infiniflow/ragflow/pull/3220
* add inputs to display to every components by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3242
* feat: Display input parameters on operator nodes #3240 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3241
* accelerate tokenize by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3244
* fix ci issue by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3245
* fix: improve embedding model validation logic for dataset operations by @mktawileh in https://github.com/infiniflow/ragflow/pull/3235
* Fixed broken links by @writinwaters in https://github.com/infiniflow/ragflow/pull/3256
* New locale for Bahasa Indonesia support by @haddad9 in https://github.com/infiniflow/ragflow/pull/3255
* fix: The name of the copy operator is displayed the same as before ##3265 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3266
* Update authorization for team by @Feiue in https://github.com/infiniflow/ragflow/pull/3262
* Refactored Docker README by @writinwaters in https://github.com/infiniflow/ragflow/pull/3269
* Fix:#3230 When parsing a docx file using the Book parsing method, to_page is always -1, resulting in a block count of 0 even if parsing is successful by @kuschzzp in https://github.com/infiniflow/ragflow/pull/3249
* Updated Docker README by @writinwaters in https://github.com/infiniflow/ragflow/pull/3272
* fix index of range by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3279
* fix `switch` bug by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3280
* feat: Support shortcut keys to delete nodes #3283 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3284
* make language judgement robuster by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3287
* Archivo ts con la traducción para el idioma español by @wjimenez123 in https://github.com/infiniflow/ragflow/pull/3274
* feat: Modify the name of the answer operator #1739 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3288
* fix: term weight issue by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3294
* feat: Support shortcut keys to copy nodes #3283 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3293
* Updated .env and Docker README by @writinwaters in https://github.com/infiniflow/ragflow/pull/3295
* Added env. MACOS by @writinwaters in https://github.com/infiniflow/ragflow/pull/3297
* feat: Automatically save agent page data #3301 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3302
* fix term weight issue by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3306
* feat: Translate autosaved #3301 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3304
* Added configuration guideline by @writinwaters in https://github.com/infiniflow/ragflow/pull/3309
* feat: Switch the login page to the registration component by changing the routing parameters #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3307
* Fix typo by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3319
* fix benchmark issue by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3324
* trival by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3325
* fix: Anthropic param error by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3327
* fix: double brace issue by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3328
* Miscellaneous edits to RAGFlow's UI by @writinwaters in https://github.com/infiniflow/ragflow/pull/3337
* feat: Add custom background color #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3336
* feat: documentation updates to support Bahasa Indonesia by @haddad9 in https://github.com/infiniflow/ragflow/pull/3315
* feat: updates all readme to have a link to redirect to new locale by @haddad9 in https://github.com/infiniflow/ragflow/pull/3339
* add  new models for zhipu-ai by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3348
* feat: Add background colors such as inverse-strong #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3346
* feat: Disable automatic saving of agent during running agent #3349 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3350
* Integration with Infinity by @yuzhichang in https://github.com/infiniflow/ragflow/pull/2894
* add dependencies of chrome by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3352
* fix: Cannot copy and paste text on agent page #3356 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3357
* Change launch backend script to handle errors gracefully by @sananbintahir in https://github.com/infiniflow/ragflow/pull/3334
* Fix bugs in api and add examples by @Feiue in https://github.com/infiniflow/ragflow/pull/3353
* Rework logging by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3358
* Updated RAGFlow UI by @writinwaters in https://github.com/infiniflow/ragflow/pull/3362
* Dynamically create the service_conf.yaml file by replacing environment variables from .env by @gschmutz in https://github.com/infiniflow/ragflow/pull/3341
* Refine english synonym by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3371
* Turn the relative date in question to absolute date by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3372
* exstract model dir from model‘s full name by @lastboy1228 in https://github.com/infiniflow/ragflow/pull/3368
* Updated RAGFlow's dataset configuration UI by @writinwaters in https://github.com/infiniflow/ragflow/pull/3376
* feat: Add input parameter to begin operator #3355 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3375
* mv service_conf.yaml to conf/ and fix: add 'answer' as a parameter to 'generate' by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3379
* Fix the value issue of anthropic by @shijiefengjun in https://github.com/infiniflow/ragflow/pull/3351
* refine the error message by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3382
* set DLA active for KG by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3386
* Added doc for switching elasticsearch to infinity by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3370
* adapt to lower case cohere by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3392
* Add enviroment validation at server startup phase by @Ami11111 in https://github.com/infiniflow/ragflow/pull/3388
* fix bug about fetching knowledge graph by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3394
* Update llm_factories.json by @duraiyuva in https://github.com/infiniflow/ragflow/pull/3396
* resolve halt while starting up by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3397
* fix: standardize property name from 'chat' to 'chat_id' by @mktawileh in https://github.com/infiniflow/ragflow/pull/3383
* Print version when RAGFlow server startup by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3393
* Updates on parsing progress, including more detailed time cost inform… by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3402
* Use consistent log file names, introduced initLogger by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3403
* Update version display on web UI by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3405
* make variables access robuster by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3406
* Updated descriptions of agent APIs by @writinwaters in https://github.com/infiniflow/ragflow/pull/3407
* Print configs when startup RAGFlow server by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3414
* fix: synonym bug by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3423
* Move clk100k_base tokenizer to docker image by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3411
* fix: empty token bug by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3424
* Remove unused settings by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3427
* rm es query escape chars by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3428
* Rework task executor heartbeat by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3430
* feat: Add RunDrawer #3355 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3434
* Updated retrieval testing UI by @writinwaters in https://github.com/infiniflow/ragflow/pull/3433
* Enlarge the term weight difference by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3435
* refine the message of queuing a task by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3437
* fix tika-server issue by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3439
* Move settings initialization after module init phase by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3438
* handle_task catch all exception by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3441
* feat: Add banner #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3442
* Added current task into task executor's hearbeat by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3444
* Minor: Fixed a broken link by @writinwaters in https://github.com/infiniflow/ragflow/pull/3451
* enlarge the default token length of RAPTOR summarization by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3454
* build(deps): bump cross-spawn from 7.0.3 to 7.0.5 in /web by @dependabot in https://github.com/infiniflow/ragflow/pull/3455
* Adjusted heartbeat format by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3459
* Remove unused code by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3448
* Added LocalAI support for rerank models by @shizzgar in https://github.com/infiniflow/ragflow/pull/3446
* feat: Show task_executor heartbeat #3409 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3461
* Introduced beartype by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3460
* feat: Display task executor  tooltip with json-view #3409 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3467
* feat: Capture task executor null value exception #3409 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3468
* Updated upgrade guide to avoid confusion by @writinwaters in https://github.com/infiniflow/ragflow/pull/3469
* minor format updates by @writinwaters in https://github.com/infiniflow/ragflow/pull/3471
* feat: Disable clicking the Next button while uploading files in RunDrawer  #3355 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3477
* Fix document error by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3456
* feat:  "Open link in new tab" doesn't work for profile image #3018 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3480
* Refactor ragflow server by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3482
* Fix logs. Use dict.pop instead of del. Close #3473 by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3484
* feat: Let the top navigation bar open in a tab when you right click on it #3018 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3486
* fix(rag): fix error in viewing document chunk and cannot start task_executor server by @jiyegege in https://github.com/infiniflow/ragflow/pull/3481
* Fix elasticsearch status display by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3487
* Add api for sessions and add max_tokens for tenant_llm by @Feiue in https://github.com/infiniflow/ragflow/pull/3472
* minor by @writinwaters in https://github.com/infiniflow/ragflow/pull/3483
* feat: Stream the greetings of the agent dialogue #3355 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3490
* Changed requirement to python 3.10 by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3496
* add input variables to begin component by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3498
* [bug]import typing.cast for leiden.py by @lastboy1228 in https://github.com/infiniflow/ragflow/pull/3493
* Ensure LIGHTEN work by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3542
* Fix: Inaccurate description by @cyhasuka in https://github.com/infiniflow/ragflow/pull/3540
* Fix: search issue for graphrag by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3546
* Cut down the attempt times of ES by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3550
* Add test for document by @Feiue in https://github.com/infiniflow/ragflow/pull/3548
* Fix a bug in agent api by @Feiue in https://github.com/infiniflow/ragflow/pull/3551
* Add tests for frontend API by @Feiue in https://github.com/infiniflow/ragflow/pull/3552
* Updated obsolete faqs by @writinwaters in https://github.com/infiniflow/ragflow/pull/3554
* Feat: When saving the canvas, other dls parameters passed from the backend are spliced ​​into the dsl parameters #3355 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3558
* Fixs for translation agent by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3557
* Feat: Add Template operator #3556 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3559
* Fix: Limit node version #3547 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3563
* Add component 'Template' by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3562
* Vietnamese language support on web by @isthaison in https://github.com/infiniflow/ragflow/pull/3549
* Revert "Updated obsolete faqs (#3554)" by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3573
* Added RAGFlow image version into bug report template by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3561
* Check tika.parser return result by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3564
* Updated obsolete faqs by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3575
* Added TRACE_MALLOC_DELTA and TRACE_MALLOC_FULL by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3555
* Update Docker .env by @yingfeng in https://github.com/infiniflow/ragflow/pull/3576
* Fix chunk enable/disable issue by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3579
* Fix agent api invokation issue by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3581
* Add an agent template: SEO bloger by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3582
* Feat: Add ProfileSetting page  #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3588
* Fix agent session API by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3589
* Feat: remove useSetLlmSetting from GenerateForm #3591 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3592
* Updates for readme by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3595
* Feat: Capitalize the first letter of the team's role #2834 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3597
* Feat: Modify the prompt text for deleting team members #2834 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3599
* Improved image build instructions by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3580
* Fix: Solve the problem of model files in the image being soft links pointing to a non-existent address. #3584 by @YANGBoSunning in https://github.com/infiniflow/ragflow/pull/3586
* when qwen rerank model not return ok, raise exception to notice user by @liwenju0 in https://github.com/infiniflow/ragflow/pull/3593
* Update quickstart.mdx by @RomanMazyrin in https://github.com/infiniflow/ragflow/pull/3603
* Restore version info to v0.13.0 by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3605
* Let 'One' applicable for tables in docx by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3619
* Update docs for v0.14.0 by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3625
* Bump infinity to v0.5.0-dev5 by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3520
* doc:rewrite some confusing statement  by @Archkon in https://github.com/infiniflow/ragflow/pull/3607
* Feat: Add TeamManagement component #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3626
* Handle infinity empty response by @yuzhichang in https://github.com/infiniflow/ragflow/pull/3627
* DOC: Added health check and team management by @writinwaters in https://github.com/infiniflow/ragflow/pull/3630
* Fix bugs in api by @Feiue in https://github.com/infiniflow/ragflow/pull/3624
* Fix missing info in README and config error by @JinHai-CN in https://github.com/infiniflow/ragflow/pull/3633
* Fix a bug in completions by @Feiue in https://github.com/infiniflow/ragflow/pull/3632
* Feat: Add PricingCard component #3221 by @cike8899 in https://github.com/infiniflow/ragflow/pull/3634
* Add support for folder deletion by @Feiue in https://github.com/infiniflow/ragflow/pull/3635
* Updated FAQ and Upgrade guide by @writinwaters in https://github.com/infiniflow/ragflow/pull/3636
* Update version number for poetry by @KevinHuSh in https://github.com/infiniflow/ragflow/pull/3637

## New Contributors
* @hornikmatej made their first contribution in https://github.com/infiniflow/ragflow/pull/3109
* @ksztone-huanggonghao made their first contribution in https://github.com/infiniflow/ragflow/pull/3211
* @mktawileh made their first contribution in https://github.com/infiniflow/ragflow/pull/3235
* @haddad9 made their first contribution in https://github.com/infiniflow/ragflow/pull/3255
* @kuschzzp made their first contribution in https://github.com/infiniflow/ragflow/pull/3249
* @wjimenez123 made their first contribution in https://github.com/infiniflow/ragflow/pull/3274
* @sananbintahir made their first contribution in https://github.com/infiniflow/ragflow/pull/3334
* @gschmutz made their first contribution in https://github.com/infiniflow/ragflow/pull/3341
* @lastboy1228 made their first contribution in https://github.com/infiniflow/ragflow/pull/3368
* @shijiefengjun made their first contribution in https://github.com/infiniflow/ragflow/pull/3351
* @Ami11111 made their first contribution in https://github.com/infiniflow/ragflow/pull/3388
* @duraiyuva made their first contribution in https://github.com/infiniflow/ragflow/pull/3396
* @shizzgar made their first contribution in https://github.com/infiniflow/ragflow/pull/3446
* @isthaison made their first contribution in https://github.com/infiniflow/ragflow/pull/3549
* @YANGBoSunning made their first contribution in https://github.com/infiniflow/ragflow/pull/3586
* @liwenju0 made their first contribution in https://github.com/infiniflow/ragflow/pull/3593
* @RomanMazyrin made their first contribution in https://github.com/infiniflow/ragflow/pull/3603
* @Archkon made their first contribution in https://github.com/infiniflow/ragflow/pull/3607

**Full Changelog**: https://github.com/infiniflow/ragflow/compare/v0.13.0...v0.14.0