Skip to content

Releases: langgenius/dify

v0.6.0-fix1

08 Apr 16:12
a81c1ab
Compare
Choose a tag to compare

Important

EMERGENCY FIX: ADD FEATURE dialog of Agent application that incorrectly used the Text Generator App dialog content.

Introducing Dify Workflow! 🎉

The much-anticipated workflow feature is here: In a nutshell, workflow provides a visual canvas for defining complex tasks as smaller, manageable steps (nodes). This reduces reliance on prompt engineering and LLM agent capabilities, taking the stability and reproducibility of your LLM applications to the next level by letting you be in control.

There are two Workflow application types with this update:

  • Workflow App
    Targeting Automation and Batch Processing: This is ideal for translation, data analysis, content generation, email automation, and more.
    image

  • Chatflow App (A Sub-Type of Chatbot)
    For Conversational Applications: Suitable for customer service, semantic search, and more conversational apps requiring multi-step logic in crafting the response.
    Compared to the regular Workflow app type, Chatflow adds chat-specific features such as conversation history support (Memory), tagged replies, an Answer node type for streaming responses, and support for rich text and images.

    image

For more information, please visit: https://docs.dify.ai/features/workflow/introduce

Other Enhancements:

  • Optimized UI flow for app creation.

  • Conversion support from various basic application types to Workflow-based applications.

    • Basic / Expert mode Chatbot apps → Chatflow

    • Text Generator → Workflow

      image

  • Dify's official app templates are now available in self-hosted mode.

  • Support for adding descriptions to applications.

  • Support for porting applications in and out of Dify with DSL.

  • Under the hood, we also refactored the underlying execution logic of all app types for cleaner architecture and a tidier repo.

Update Guide

If you need to upgrade from 0.6.0-preview-workflow.1, you will need to connect to PostgreSQL and execute the following SQL (migration inserted in the main branch) to ensure data integrity.

ALTER TABLE dataset_keyword_tables ADD COLUMN data_source_type VARCHAR(255) NOT NULL DEFAULT 'database';
ALTER TABLE embeddings ADD COLUMN provider_name VARCHAR(40) NOT NULL DEFAULT '';
ALTER TABLE embeddings DROP CONSTRAINT embedding_hash_idx;
ALTER TABLE embeddings ADD CONSTRAINT embedding_hash_idx UNIQUE (model_name, hash, provider_name);

Docker compose deployments:

  1. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  2. Go to the next step and update to the latest image:

    cd docker
    docker compose up -d
  3. We also moved the agent data within the database, Execute the below script to complete the migrate: (NEW)

    docker compose exec api flask convert-to-agent-apps

Source Code deployments:

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    pip install -r requirements.txt
  4. Then, let's run the migration script:

    flask db upgrade
  5. We also moved the agent data within the database, Execute the below script to complete the migrate: (NEW)

    flask convert-to-agent-apps
  6. Finally, run API server, Worker and Web frontend Server again.

What's Changed

Full Changelog: 0.6.0...0.6.0-fix1

v0.6.0

08 Apr 10:55
7753ba2
Compare
Choose a tag to compare

Introducing Dify Workflow! 🎉

The much-anticipated workflow feature is here: In a nutshell, workflow provides a visual canvas for defining complex tasks as smaller, manageable steps (nodes). This reduces reliance on prompt engineering and LLM agent capabilities, taking the stability and reproducibility of your LLM applications to the next level by letting you be in control.

There are two Workflow application types with this update:

  • Workflow App
    Targeting Automation and Batch Processing: This is ideal for translation, data analysis, content generation, email automation, and more.
    image

  • Chatflow App (A Sub-Type of Chatbot)
    For Conversational Applications: Suitable for customer service, semantic search, and more conversational apps requiring multi-step logic in crafting the response.
    Compared to the regular Workflow app type, Chatflow adds chat-specific features such as conversation history support (Memory), tagged replies, an Answer node type for streaming responses, and support for rich text and images.

    image

For more information, please visit: https://docs.dify.ai/features/workflow/introduce

Other Enhancements:

  • Optimized UI flow for app creation.

  • Conversion support from various basic application types to Workflow-based applications.

    • Basic / Expert mode Chatbot apps → Chatflow

    • Text Generator → Workflow

      image

  • Dify's official app templates are now available in self-hosted mode.

  • Support for adding descriptions to applications.

  • Support for porting applications in and out of Dify with DSL.

  • Under the hood, we also refactored the underlying execution logic of all app types for cleaner architecture and a tidier repo.

Update Guide

If you need to upgrade from 0.6.0-preview-workflow.1, you will need to connect to PostgreSQL and execute the following SQL (migration inserted in the main branch) to ensure data integrity.

ALTER TABLE dataset_keyword_tables ADD COLUMN data_source_type VARCHAR(255) NOT NULL DEFAULT 'database';
ALTER TABLE embeddings ADD COLUMN provider_name VARCHAR(40) NOT NULL DEFAULT '';
ALTER TABLE embeddings DROP CONSTRAINT embedding_hash_idx;
ALTER TABLE embeddings ADD CONSTRAINT embedding_hash_idx UNIQUE (model_name, hash, provider_name);

Docker compose deployments:

  1. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  2. Go to the next step and update to the latest image:

    cd docker
    docker compose up -d
  3. We also moved the agent data within the database, Execute the below script to complete the migrate: (NEW)

    docker compose exec api flask convert-to-agent-apps

Source Code deployments:

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    pip install -r requirements.txt
  4. Then, let's run the migration script:

    flask db upgrade
  5. We also moved the agent data within the database, Execute the below script to complete the migrate: (NEW)

    flask convert-to-agent-apps
  6. Finally, run API server, Worker and Web frontend Server again.

What's Changed

New Contributors

Full Changelog: 0.5.11-fix1...0.6.0

v0.6.0-preview-workflow.2

03 Apr 11:12
Compare
Choose a tag to compare
Pre-release

Important Notice

This version is a preview release intended for feature workflow internal testing only. It is not a formal release. Please proceed with caution before upgrading. Please do not use it in a production environment.

What's Changed

  • Refactored the variable reference logic for LLM, Answer, Tool, and Http Request nodes. Now you can simply input "/" in the text box to directly select variables without having to declare variable relationships and import them separately.

    Due to changes in the data structure, the previous workflow configurations will no longer be available. Please create a new App to experience it and avoid running into any error issues caused by inconsistent data structures.

    image
  • Optimized the user experience of app creation.

  • A lot of details to optimize for user experience.

  • Fixed few issues.

Update Guide

If you need to upgrade from 0.6.0-preview-workflow.1, you will need to connect to PostgreSQL and execute the following SQL (migration inserted in the main branch) to ensure data integrity.

ALTER TABLE dataset_keyword_tables ADD COLUMN data_source_type VARCHAR(255) NOT NULL DEFAULT 'database';
ALTER TABLE embeddings ADD COLUMN provider_name VARCHAR(40) NOT NULL DEFAULT '';
ALTER TABLE embeddings DROP CONSTRAINT embedding_hash_idx;
ALTER TABLE embeddings ADD CONSTRAINT embedding_hash_idx UNIQUE (model_name, hash, provider_name);

Deploying with Docker Compose:

  1. Get the latest code from the feat/workflow branch:

    git fetch --tags
    git checkout 0.6.0-preview-workflow.2
  2. Go to the next step and update to the latest image:

    cd docker
    docker-compose up -d

Deploying from Source Code:

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the feat/workflow branch:

    git fetch --tags
    git checkout 0.6.0-preview-workflow.2
  3. Update Python dependencies:

    cd api
    pip install -r requirements.txt
  4. Then, let's run the migration script:

    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.

v0.5.11-fix1

02 Apr 04:59
d14ea2e
Compare
Choose a tag to compare

Fixed critical issue

Fixed the error issue caused by batch embedding and creating collections simultaneously of vector db on knowledge base processing. #3054

New Features

  • Add xinference audio model support by @leslie2046 in #3045
  • Add Brave Search and Trello(12 Tools) Included by @Yash-1511 in #3040
  • feat: add Feishu(飞书) tool for sending message to chat group bot via webhook by @arkii in #3059

Update Guide

Deploying with Docker Compose:

  1. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  2. Go to the next step and update to the latest image:

    cd docker
    docker-compose up -d

Deploying from Source Code:

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    pip install -r requirements.txt
  4. Then, let's run the migration script:

    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.

What's Changed

New Contributors

Full Changelog: 0.5.11...0.5.11-fix1

v0.5.11

29 Mar 13:15
1387f9b
Compare
Choose a tag to compare

New Features

Update Guide

Deploying with Docker Compose:

  1. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  2. Go to the next step and update to the latest image:

    cd docker
    docker-compose up -d

Deploying from Source Code:

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    pip install -r requirements.txt
  4. Then, let's run the migration script:

    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.

What's Changed

New Contributors

Full Changelog: 0.5.10...0.5.11

v0.6.0-preview-workflow.1

23 Mar 15:30
Compare
Choose a tag to compare
Pre-release

Important Notice

This version is a preview release intended for feature workflow internal testing only. It is not a formal release. Please proceed with caution before upgrading.

TL;DR

image
  • Introduced two new App types: Chatflow and Workflow.
  • The creation entry for the Chatbot Expert Mode has been removed, with support provided for migration to Chatflow apps.
  • Chatbots can now be migrated to Chatflow apps, and Text Generation apps can be migrated to Workflow apps.

Update Guide

Deploying with Docker Compose:

  1. Get the latest code from the feat/workflow branch:

    git fetch --tags
    git checkout 0.6.0-preview-workflow.1
  2. Go to the next step and update to the latest image:

    cd docker
    docker-compose up -d

Deploying from Source Code:

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the feat/workflow branch:

    git fetch --tags
    git checkout 0.6.0-preview-workflow.1
  3. Update Python dependencies:

    cd api
    pip install -r requirements.txt
  4. Then, let's run the migration script:

    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.

v0.5.10

19 Mar 13:42
11636bc
Compare
Choose a tag to compare

New Features

Update Guide

Deploying with Docker Compose:

  1. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  2. Go to the next step and update to the latest image:

    cd docker
    docker-compose up -d

Deploying from Source Code:

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    pip install -r requirements.txt
  4. Then, let's run the migration script:

    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.

What's Changed

New Contributors

Full Changelog: 0.5.9...0.5.10

v0.5.9

12 Mar 06:10
ce5b19d
Compare
Choose a tag to compare

New Features

Update Guide

Deploying with Docker Compose:

  1. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  2. Go to the next step and update to the latest image:

    cd docker
    docker-compose up -d

Deploying from Source Code:

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. Update Python dependencies:

    cd api
    pip install -r requirements.txt
  4. Then, let's run the migration script:

    flask db upgrade
  5. Finally, run API server, Worker and Web frontend Server again.

What's Changed

New Contributors

Full Changelog: 0.5.8...0.5.9

v0.5.8

04 Mar 17:41
534802b
Compare
Choose a tag to compare

New Features

  • Added Anthropic claude-3 LLM with Vision #2684
  • Added jina-reranker-v1-base-en rerank model #2676
  • Added Wecom(企业微信) tool for sending message to chat group bot via webhook by @bowenliang123 #2638
  • Added PubMed to tools #2652
  • Added arxiv tool for searching scientific papers and articles from Arxiv by @Yash-1511 #2632

Update Guide

Deploying with Docker Compose:

  1. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  2. Go to the next step and update to the latest image:

    cd docker
    docker-compose up -d

Deploying from Source Code:

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. 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.

  4. Finally, run API server, Worker and Web frontend Server again.

What's Changed

New Contributors

Full Changelog: 0.5.7...0.5.8

v0.5.7

28 Feb 10:09
5bd3b02
Compare
Choose a tag to compare

New Features

  • Added Mistral AI model provider. #2594
  • Added Vector Database migrate tool, see below. #2562
  • Added response format(JSON/XML) for google, 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:

  1. 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
  1. If you are starting from docker compose, modify the environment variable in the docker-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
  1. run the below command in your terminal or docker container
flask vdb-migrarte

Update Guide

Deploying with Docker Compose:

  1. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  2. Go to the next step and update to the latest image:

    cd docker
    docker-compose up -d

Deploying from Source Code:

  1. Stop API server, Worker and Web frontend Server.

  2. Get the latest code from the main branch:

    git checkout main
    git pull origin main
  3. 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.

  4. Finally, run API server, Worker and Web frontend Server again.

What's Changed

New Contributors

Full Changelog: 0.5.6...0.5.7