New Features
- Added
Mistral AI
model provider. #2594 - Added Vector Database migrate tool, see below. #2562
- Added
response format
(JSON/XML) forgoogle
,anthropic
,openai
,wenxin
,chatglm
,tongyi
LLMs. #2563 - Refactor RAG(knowledge) module, remove dependency on langchain to increase scalability and flexibility. #2528
- Agent App utilizing an LLM with ReACT mode (not support function calling), supports streaming output. #2498
- Added DuckDuckGo Search Tool for Enhanced Privacy-Focused Search Functionality by @Yash-1511 #2499
Vector Database Migrate Tool
When you want to switch to another vector database, you can deactivate or delete the original vector database after switching.
How to use
Step:
- If you are starting from local source code, modify the environment variable in the
.env
file to the vector database you want to migrate to.
For example:
VECTOR_STORE=qdrant
- If you are starting from
docker compose
, modify the environment variable in thedocker-compose.yaml
file to the vector database you want to migrate to, both api and worker are all needed.
For example:
# The type of vector store to use. Supported values are `weaviate`, `qdrant`, `milvus`.
VECTOR_STORE: qdrant
- run the below command in your terminal or docker container
flask vdb-migrarte
Update Guide
Deploying with Docker Compose:
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Go to the next step and update to the latest image:
cd docker docker-compose up -d
Deploying from Source Code:
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Then, let's run the migration script:
cd api flask db upgrade
Note: To use TTS,
ffmpeg
installation is required on servers running Dify API from source. More details can be found in our FAQ. -
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- Windows local deployment switch "tool“ interface failed by @kukuze in #2483
- fix: chat restart by @zxhlyh in #2488
- fix: code-based extension by @zxhlyh in #2490
- fix: incorrect tool name by @Yeuoly in #2489
- fix: audio to text by @zxhlyh in #2493
- del doc support by @JohnJyong in #2494
- Add default values for optional parameters in API tool and parser by @Yeuoly in #2491
- doc: typo in chat by @crazywoola in #2492
- feat: increase max tools by @Yeuoly in #2497
- Refactor agent history organization and initialization of agent scrat… by @Yeuoly in #2495
- Chore/delete chunk decode error alert by @guchenhe in #2500
- FEAT: Add DuckDuckGo Search Tool for Enhanced Privacy-Focused Search Functionality by @Yash-1511 in #2499
- Feat/stream react by @Yeuoly in #2498
- fix: api doc example error by @iamjoel in #2505
- update issue template by @crazywoola in #2507
- fix: config not exists by @crazywoola in #2513
- Fix #2512 by @crazywoola in #2515
- fix: bing search response filter by @Yeuoly in #2519
- Voice audition by @charli117 in #2504
- Fix/upload limit by @JohnJyong in #2521
- Feat/dify rag by @JohnJyong in #2528
- fix: update current tenant id of account when switching tenant by @bowenliang123 in #2530
- Fix/tool default value by @Yeuoly in #2536
- fix: tolerate exceptions in cleaning up index when vector db service unavailable by @bowenliang123 in #2533
- chore: add api key and value placeholder by @iamjoel in #2538
- Fix/langchain document schema by @JohnJyong in #2539
- Feat/i18n restructure by @crazywoola in #2529
- fix dev/reformat by @JohnJyong in #2542
- fix: webapp name by @zxhlyh in #2543
- Feat/openai llm trial paid config by @GarfieldDai in #2545
- feat: openai llm get trial or paid models from config. by @GarfieldDai in #2546
- Fix/new RAG bugs by @JohnJyong in #2547
- Update README_CN.md by @takatost in #2550
- feat: change max_question_num to 5 by @wststone in #2520
- Feat/use searchparams as state by @wststone in #2554
- Feat/vdb migrate command by @JohnJyong in #2562
- Feat/json mode by @Yeuoly in #2563
- fix typo in error message of supported keyword store by @bowenliang123 in #2560
- chore: remove redundant casting flask app config into dict by @bowenliang123 in #2564
- Add Dify Meetup Event on Mar 9 by @crazywoola in #2566
- fix weaviate delete_by_ids by @bowenliang123 in #2565
- Fix some RAG bugs by @JohnJyong in #2570
- fix: notion binding by @zxhlyh in #2572
- fix mivlus delete by ids error by @JohnJyong in #2573
- enhancement: improve client-side code by @wststone in #2568
- fix: parameter type handling in API tool and parser by @Yeuoly in #2574
- Fix/hit test tsne issue by @JohnJyong in #2581
- fix: correct the parent class of CacheEmbedding by @bowenliang123 in #2578
- fix: convert tool messages into user messages in react mode and fill … by @Yeuoly in #2584
- enhancement: skip fetching to improve user experience when switching … by @wststone in #2580
- Fix 500 error when creating from the template and the provider is None by @crazywoola in #2591
- feat:add mistral ai by @joshua20231026 in #2594
- fix: parameter
user
exceeded max length when invoking moonshot llm by @takatost in #2596 - Feat/provider mistralai by @joshua20231026 in #2598
- doc: props.appDetail.api_base_url by @crazywoola in #2597
- fix props.appDetail.api_base_url /v1 repeat error by @xiangpingjiang in #2601
- Fix/2559 upload powered by brand image not showing up by @crazywoola in #2602
- Fix: explore apps is not shown by @crazywoola in #2604
- fix: missing default user for APP service api by @takatost in #2606
- fix: AppParameterApi.get() got an unexpected keyword argument 'end_user' by @takatost in #2607
- fix: notion extractor raise 'NoneType' object has no attribute 'curre… by @takatost in #2608
- Fix: default button behavior by @crazywoola in #2609
- version to 0.5.7 by @takatost in #2610
New Contributors
- @kukuze made their first contribution in #2483
- @wststone made their first contribution in #2520
- @xiangpingjiang made their first contribution in #2601
Full Changelog: 0.5.6...0.5.7