✨ What’s New in v0.6.16? ✨
Hey everyone, we’re back with another update, and this one’s packed with some exciting new features, model support, and enhancements. Let’s dive right in!
🚀 Phasing Out N-to-1: Upgrading Multi-path Knowledge Retrieval
Important
We're phasing out the N-to-1
retrieval strategy on September 1, 2024, and introducing a more flexible multi-path retrieval strategy. We recommend switching to this new approach to boost your application's retrieval efficiency.
Learn More: https://dify.ai/blog/dify-ai-blog-n-to-1-knowledge-retrieval-legacy
🧠 Models
Llama3.1 Support
- OpenRouter Provider: Added support for Llama3.1 series models by @sinomoe in #6595.
- GroqCloud: Llama3.1 series models are now supported by @takatost in #6596.
- Bedrock: Llama 3.1 support added by @longzhihun in #6645.
- NVIDIA: Llama3.1 model support by @sulgweb in #6844.
GPT-4o Mini Support
- Azure GPT-4o Mini: Added support for Azure GPT-4o Mini by @charli117 in #6862 and @leslie2046 in #6866.
Other Models
- DeepSeek-Coder-v2: Added in SiliconFlow by @senseb in #6149.
- Novita Model Provider: New model provider added by @jasonhp in #6717.
- Solar Model Provider: Added new provider Solar by @JuHyung-Son in #6884.
- Hunyuan-Embedding: New model support by @maybemaynot in #6657.
- Xinference TTS: Added support for text-to-speech by @Weaxs in #6746.
- Tool-Call for Hunyuan: Added support for tool-call by @maybemaynot in #6656.
🛠️ Tools
- AWS Built-in Tools: Added by @ybalbert001 in #6721.
- Serper for Google Search: New tool added for Google search by @hwzhuhao in #6790.
⚙️ Enhancements
- Python 3.12 Support: Added Python 3.12 support for API Service by @bowenliang123 in #6771.
- Milvus 2.4.x Support: Initial support for Milvus 2.4.x by @bowenliang123 in #6084.
- Docker-Compose Certbot Configurations: Added with backward compatibility by @k-brahma in #6702.
- Celery Auto-Scale: Added support for Celery auto-scaling by @ZuzooVn in #6249.
- User Session ID Search: Enhanced App Logs search capabilities by @ZhouhaoJiang in #6638.
🧹 Cleanups
For additional enhancements and updates, refer to the What's Changed section below.
Upgrade Guide
Docker compose deployments
Warning
The docker-compose.yaml
has been refactored. If you've made any changes to the file, make sure to check out the "Upgrade to new docker compose deployment" section above for usage and migration tips.
-
Back up your customized docker-compose YAML file (optional)
cd docker cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
-
Get the latest code from the main branch
git checkout main git pull origin main
-
Stop the service,Command, please execute in the docker directory
docker compose down
-
Back up data
tar -cvf volumes-$(date +%s).tgz volumes
-
Upgrade services
docker compose up -d
Source Code deployments
-
Stop API server, Worker and Web frontend Server.
-
Get the latest code from the main branch:
git checkout main git pull origin main
-
Update Python dependencies:
cd api poetry install
-
Then, let's run the migration script:
poetry shell flask db upgrade
-
Finally, run API server, Worker and Web frontend Server again.
What's Changed
- feat: support llama3.1 series models for openrouter provider by @sinomoe in #6595
- feat: add GroqCloud llama3.1 series models support by @takatost in #6596
- fix: downgraded sentry-sdk to 1.44.1 due to claude LLM token returning 0 by @takatost in #6597
- Feat/delete single dataset retrival by @JohnJyong in #6570
- feat: n to 1 retrieval legacy by @zxhlyh in #6554
- Fix: reset button in embedded chatbot by @JzoNgKVO in #6611
- Fix: DSL backup by @JzoNgKVO in #6616
- Fix/6615 40 varchar limit on model name by @crazywoola in #6623
- fix: qwen fc error by @Dofine-dufei in #6620
- feat: added ActionButton component by @YIXIAO0 in #6631
- chore: optimize asynchronous deletion performance of app related data by @takatost in #6634
- chore: optimize asynchronous workflow deletion performance of app related data by @takatost in #6639
- doc: fix about model features by @zhangzhiqiangcs in #6619
- fix: value is not an array by @crazywoola in #6632
- Feat/user session id search by @ZhouhaoJiang in #6638
- remove rerank model must be required when retrieval_model is multiple by @JohnJyong in #6640
- feat(api/core/app/segments/variables.py): Support description in Variable. by @laipz8200 in #6636
- refactor(api/core/workflow/workflow_engine_manager.py): Remove by @laipz8200 in #6630
- Chores: add missing profile for middleware docker compose cmd and fix ssrf-proxy doc link by @vicoooo26 in #6372
- fix(api/core/workflow/nodes/iteration/iteration_node.py): Extend output in iteration if output is a array. by @laipz8200 in #6647
- fix reranking model field error by @JohnJyong in #6654
- Resolve variable type parameter error by @majian159 in #6646
- fix tencent_cos_storage image-preview error is not a byte by @yanghx-git in #6652
- [seanguo] feat: add llama 3.1 support in bedrock by @longzhihun in #6645
- chore: fix type annotations by @hjlarry in #6600
- Add support of tool-call for model provider "hunyuan" by @maybemaynot in #6656
- fix(api/fields/workflow_fields.py): Add check in environment variables by @laipz8200 in #6621
- feat: support max_retries in jina requests by @xielong in #6585
- Enhance database URI security and add URL encoding by @Seayon in #6668
- refactor(api/core/app/segments): implement
to_object
in ObjectVariable and ArrayVariable. by @laipz8200 in #6671 - fix bugs(when using Oracle23ai as Vector DB) by @tmuife in #6658
- fix: code block segmentation problem of markdown document by @greycodee in #6465
- Add french and jp translation for new feature by @HanqingZ in #6675
- modify llama3-1 yaml filename to support Windows pull operations by @Sakura4036 in #6677
- Update bug_report.yml by @crazywoola in #6678
- [seanguo] fix: unsupported filename in windows & add Mistral Large 2 by @longzhihun in #6679
- security/SSRF vulns by @Yeuoly in #6682
- fix: doc link in knowledge base by @crazywoola in #6691
- chore: make prompt generator max tokens configurable by @gijigae in #6693
- Fix appId missing in annotations by @JzoNgKVO in #6699
- fix(log/list): Incorrect field 'app_id' causing annotations to fail t… by @Kevin9703 in #6697
- issues #6655 Open ai tts issues by @ic-xu in #6696
- refactor(api/core/app/segments): Support more kinds of Segments. by @laipz8200 in #6706
- fix(answer/operation): feedback status in the logs by @Kevin9703 in #6716
- Feat/model provider novita by @jasonhp in #6717
- fix: tongyi empty tool_calls is not supported in message by @ZhouhaoJiang in #6719
- feat(api/core/app/segments/parser.py): Remove blank segment in
convert_template
by @laipz8200 in #6709 - add xlsx support hyperlink extract by @JohnJyong in #6722
- fix(api/core/model_runtime/model_providers/azure_openai/llm/llm.py): Try to skip if
delta.delta
is None. by @laipz8200 in #6727 - Feat/6725 can not get image url from cogview tool by @crazywoola in #6728
- refactor(api/core/workflow/nodes/base_node.py): Update extract_variable_selector_to_variable_mapping method signature. by @laipz8200 in #6733
- feat(api/core/app/segments): Update segment types and variables by @laipz8200 in #6734
- chore: migrate to poetry in devcontainer commands by @perzeuss in #6724
- feat: enhance the firecrawl tool by @hjlarry in #6705
- Fix/6615 40 varchar limit on DatasetCollectionBinding and Embedding model name by @HiroshigeAoki in #6723
- switch to dify_config with Pydantic in files, moderation and app by @VickyGuo0907 in #6747
- Add jp translation for new features by @HanqingZ in #6749
- chore: improve position map conversion and tolerate empty position yaml file by @bowenliang123 in #6541
- Fix action button size by @YIXIAO0 in #6753
- chore: set logging level to debug when reading YAML files and falling back to default value in case of None by @bowenliang123 in #6758
- fix: n to 1 retrieval legacy text by @zxhlyh in #6760
- chore: n to 1 retrieval legacy text by @zxhlyh in #6767
- fix(api/core/moderation/output_moderation.py): Fix config call. by @laipz8200 in #6769
- Add model hunyuan-embedding by @maybemaynot in #6657
- upgrade deepseek params by @wayneg123 in #6744
- add deepseek-coder-v2 in siliconflow by @senseb in #6149
- feat: implement function dispatch table for trace processing by @ZhouhaoJiang in #6628
- dep: initial support for Milvus 2.4.x by @bowenliang123 in #6084
- chore: remove redundant version pinning for indirect dependencies by @bowenliang123 in #6772
- refactor(api): Switch to
dify_config
by @laipz8200 in #6750 - improve issue templates by @guchenhe in #6785
- fix: nonetype in webscraper validation by @Yeuoly in #6788
- chore: add shortcut keys and hints for the shortcuts by @hjlarry in #6779
- fix: eco knowledge retrieval method by @zxhlyh in #6798
- chore : option card by @iamjoel in #6800
- fix wrong charset when decoding Chinese content by @eric-0x72 in #6774
- feat: bedrock invoke enhancement by @longzhihun in #6808
- fix: workflow api by @crazywoola in #6810
- chore: Add processId field for metrics of threads/db-pool-stat/health by @zhangever in #6797
- Add docker-compose certbot configurations with backward compatibility by @k-brahma in #6702
- feat: tag filter adapte to scrolling by @kimjion in #6819
- feat: support Celery auto-scale by @ZuzooVn in #6249
- Add AWS builtin Tools by @ybalbert001 in #6721
- fix: edit segment missing space between buttons by @douxc in #6826
- fix: improved error handling for spider tool by @WilliamEspegren in #6835
- chore: fix ssrf doc url by @hjlarry in #6828
- fix notion internal setting by @JohnJyong in #6836
- chore: upgrade slider ui by @iamjoel in #6838
- fix: claude-3-5-sonnet-20240620 max token error by @ZhouhaoJiang in #6843
- add unstructured profiles by @JohnJyong in #6846
- Add model parameter enable_enhance for hunyuan llm model by @maybemaynot in #6847
- feat: nvidia add llama3.1 model by @sulgweb in #6844
- chore: update SQLAlchemy configuration with custom naming convention by @laipz8200 in #6854
- fix: model parameter selector by @zxhlyh in #6861
- fix: anthropic max token NoneType error by @ZhouhaoJiang in #6858
- support xinference tts by @Weaxs in #6746
- Fix keyboard shortcut conflict between workflow and browser by @douxc in #6863
- Add azure gpt4omini by @charli117 in #6862
- delete weight_type by @JohnJyong in #6865
- feat:Azure gpt4o mini by @leslie2046 in #6866
- fix: remote image not display in answer node by @hjlarry in #6867
- Revert "feat:Azure gpt4o mini" by @crazywoola in #6870
- chore: n to 1 retrieval by @zxhlyh in #6839
- Azure 4o mini options by @leslie2046 in #6873
- Remove tts (blocking call) by @ic-xu in #6869
- feat: Add support for i18n Turkish language (tr-TR) by @hursit in #6886
- fix: Change API key authentication failure response code from 404 to 401 by @supersaloon in #6885
- fix: xinference reranker return_documents by @Weaxs in #6888
- Modify/modify jp doc by @HanqingZ in #6889
- delete weight_type in knowledge retrieval node by @JohnJyong in #6892
- fix tongyi tool calls by @Dofine-dufei in #6896
- pref: change ollama embedded api request by @greycodee in #6876
- fix score threshold limit be None by @JohnJyong in #6900
- feat: update llama3.1 parameters for openrouter by @sinomoe in #6901
- fix: multiple retrieval default weighted score by @zxhlyh in #6897
- fix: knowledge save button visible by @zxhlyh in #6905
- Fix: webapp color theme by @JzoNgKVO in #6908
- fix: code execution node not display clear reasons when sandbox res error by @hjlarry in #6830
- fix: return code in service api by @crazywoola in #6911
- dep: bump pgvecto-rs client from 0.1.x to 0.2.x by @bowenliang123 in #6891
- fix: system model setting missing space between buttons by @douxc in #6912
- fix: reranking disable timer error by @ZhouhaoJiang in #6910
- fix: default rerank model check by @zxhlyh in #6917
- fix(nodes/knowledge-retrieval): workflow knowledge retrieval rerank model check by @Kevin9703 in #6918
- fix update dataset failed when embedding model is not exist by @JohnJyong in #6920
- feat: add the tool Serper for Google search. (#6786) by @hwzhuhao in #6790
- add new provider Solar by @JuHyung-Son in #6884
- dep: support for Python 3.12 by @bowenliang123 in #6771
- fix: sending app trace data to other app trace provider by @takatost in #6931
- fix: workflow trace user_id error by @ZhouhaoJiang in #6932
- compatible xinference reranker server by @Weaxs in #6927
- Workflow TTS playback node filtering issue. by @ic-xu in #6877
- fix: import workflow errors by @crazywoola in #6937
- Fix increase_usage of total_price in agent_runner by @PedroGomes02 in #6688
- fix: restore xinference secret field by @liuzhenghua in #6941
- chore: fix markdown format and one typo by @alwqx in #6939
- fix: ensure db migration in docker entry script running with
upgrade-db
command for proper locking by @bowenliang123 in #6946 - Fix: tag & settings modal in dataset card in Firefox by @JzoNgKVO in #6953
- fix: The permissions issue of the editor role accessing some backend … by @liuzhenghua in #6945
- Fixed a bug where permission was clearly displaye… by @ChenZixinn in #6934
- chore: exclude .txt extenstion in create_by_text API by @gijigae in #6956
- chore: optimize streaming tts of xinference by @takatost in #6966
- chore: MAX_TREE_DEPTH spelling mistake by @quicksandznzn in #6965
- Revise the wrong pricing of certain LLM models. by @PedroGomes02 in #6967
- security: fix api image security issues by @takatost in #6971
- version to 0.6.16 by @takatost in #6972
- fix doc by @ArtificialZeng in #6974
- chore: update duckduckgo tool by @hjlarry in #6983
- feat:nvidia add nemotron4-340b and microsoft/phi-3 by @sulgweb in #6973
New Contributors
- @YIXIAO0 made their first contribution in #6631
- @zhangzhiqiangcs made their first contribution in #6619
- @vicoooo26 made their first contribution in #6372
- @maybemaynot made their first contribution in #6656
- @Seayon made their first contribution in #6668
- @greycodee made their first contribution in #6465
- @Sakura4036 made their first contribution in #6677
- @Kevin9703 made their first contribution in #6697
- @HiroshigeAoki made their first contribution in #6723
- @VickyGuo0907 made their first contribution in #6747
- @wayneg123 made their first contribution in #6744
- @senseb made their first contribution in #6149
- @eric-0x72 made their first contribution in #6774
- @k-brahma made their first contribution in #6702
- @douxc made their first contribution in #6826
- @sulgweb made their first contribution in #6844
- @hursit made their first contribution in #6886
- @supersaloon made their first contribution in #6885
- @hwzhuhao made their first contribution in #6790
- @JuHyung-Son made their first contribution in #6884
- @PedroGomes02 made their first contribution in #6688
- @alwqx made their first contribution in #6939
- @ChenZixinn made their first contribution in #6934
- @ArtificialZeng made their first contribution in #6974
Full Changelog: 0.6.15...0.6.16