diff --git a/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 3035736..c0228e3 100644
Binary files a/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png b/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png
index c0228e3..6e846ce 100644
Binary files a/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png b/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png
index 6e846ce..b10f2b7 100644
Binary files a/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png b/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png
index b10f2b7..8d93ac5 100644
Binary files a/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (1) (1) (1) (1) (1).png b/en/.gitbook/assets/image (1) (1) (1) (1) (1).png
index 8d93ac5..e87f63f 100644
Binary files a/en/.gitbook/assets/image (1) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (1) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (1) (1) (1) (1).png b/en/.gitbook/assets/image (1) (1) (1) (1).png
index e87f63f..0bde318 100644
Binary files a/en/.gitbook/assets/image (1) (1) (1) (1).png and b/en/.gitbook/assets/image (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (1) (1) (1).png b/en/.gitbook/assets/image (1) (1) (1).png
index 0bde318..87c9751 100644
Binary files a/en/.gitbook/assets/image (1) (1) (1).png and b/en/.gitbook/assets/image (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (1) (1).png b/en/.gitbook/assets/image (1) (1).png
index 87c9751..47b215f 100644
Binary files a/en/.gitbook/assets/image (1) (1).png and b/en/.gitbook/assets/image (1) (1).png differ
diff --git a/en/.gitbook/assets/image (1).png b/en/.gitbook/assets/image (1).png
index 47b215f..8fb1595 100644
Binary files a/en/.gitbook/assets/image (1).png and b/en/.gitbook/assets/image (1).png differ
diff --git a/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png b/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png
index 1fb04ec..d60d084 100644
Binary files a/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png b/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png
index d60d084..969a0df 100644
Binary files a/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png b/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png
index 969a0df..2e07e31 100644
Binary files a/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (2) (1) (1) (1) (1).png b/en/.gitbook/assets/image (2) (1) (1) (1) (1).png
index 2e07e31..df5452b 100644
Binary files a/en/.gitbook/assets/image (2) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (2) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (2) (1) (1) (1).png b/en/.gitbook/assets/image (2) (1) (1) (1).png
index df5452b..375a9d0 100644
Binary files a/en/.gitbook/assets/image (2) (1) (1) (1).png and b/en/.gitbook/assets/image (2) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (2) (1) (1).png b/en/.gitbook/assets/image (2) (1) (1).png
index 375a9d0..b0946e1 100644
Binary files a/en/.gitbook/assets/image (2) (1) (1).png and b/en/.gitbook/assets/image (2) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (2) (1).png b/en/.gitbook/assets/image (2) (1).png
index b0946e1..47b215f 100644
Binary files a/en/.gitbook/assets/image (2) (1).png and b/en/.gitbook/assets/image (2) (1).png differ
diff --git a/en/.gitbook/assets/image (2).png b/en/.gitbook/assets/image (2).png
index 47b215f..8fb1595 100644
Binary files a/en/.gitbook/assets/image (2).png and b/en/.gitbook/assets/image (2).png differ
diff --git a/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1).png b/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1).png
index a23ad8f..cfc2125 100644
Binary files a/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png b/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png
index cfc2125..f03320e 100644
Binary files a/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png b/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png
index f03320e..a8bb836 100644
Binary files a/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (3) (1) (1) (1) (1).png b/en/.gitbook/assets/image (3) (1) (1) (1) (1).png
index a8bb836..0129d8c 100644
Binary files a/en/.gitbook/assets/image (3) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (3) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (3) (1) (1) (1).png b/en/.gitbook/assets/image (3) (1) (1) (1).png
index 0129d8c..863e3b1 100644
Binary files a/en/.gitbook/assets/image (3) (1) (1) (1).png and b/en/.gitbook/assets/image (3) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (3) (1) (1).png b/en/.gitbook/assets/image (3) (1) (1).png
index 863e3b1..b0946e1 100644
Binary files a/en/.gitbook/assets/image (3) (1) (1).png and b/en/.gitbook/assets/image (3) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (3) (1).png b/en/.gitbook/assets/image (3) (1).png
index b0946e1..1bae2e5 100644
Binary files a/en/.gitbook/assets/image (3) (1).png and b/en/.gitbook/assets/image (3) (1).png differ
diff --git a/en/.gitbook/assets/image (3).png b/en/.gitbook/assets/image (3).png
index 1bae2e5..1ac3c4b 100644
Binary files a/en/.gitbook/assets/image (3).png and b/en/.gitbook/assets/image (3).png differ
diff --git a/en/.gitbook/assets/image (4) (1) (1) (1) (1).png b/en/.gitbook/assets/image (4) (1) (1) (1) (1).png
index c2fb745..aab0a24 100644
Binary files a/en/.gitbook/assets/image (4) (1) (1) (1) (1).png and b/en/.gitbook/assets/image (4) (1) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (4) (1) (1) (1).png b/en/.gitbook/assets/image (4) (1) (1) (1).png
index aab0a24..96ee571 100644
Binary files a/en/.gitbook/assets/image (4) (1) (1) (1).png and b/en/.gitbook/assets/image (4) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (4) (1) (1).png b/en/.gitbook/assets/image (4) (1) (1).png
index 96ee571..4716396 100644
Binary files a/en/.gitbook/assets/image (4) (1) (1).png and b/en/.gitbook/assets/image (4) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (4) (1).png b/en/.gitbook/assets/image (4) (1).png
index 4716396..67f8a56 100644
Binary files a/en/.gitbook/assets/image (4) (1).png and b/en/.gitbook/assets/image (4) (1).png differ
diff --git a/en/.gitbook/assets/image (4).png b/en/.gitbook/assets/image (4).png
index 67f8a56..02274fe 100644
Binary files a/en/.gitbook/assets/image (4).png and b/en/.gitbook/assets/image (4).png differ
diff --git a/en/.gitbook/assets/image (5) (1) (1) (1).png b/en/.gitbook/assets/image (5) (1) (1) (1).png
index ddfe5a6..96e141f 100644
Binary files a/en/.gitbook/assets/image (5) (1) (1) (1).png and b/en/.gitbook/assets/image (5) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (5) (1) (1).png b/en/.gitbook/assets/image (5) (1) (1).png
index 96e141f..9fea23f 100644
Binary files a/en/.gitbook/assets/image (5) (1) (1).png and b/en/.gitbook/assets/image (5) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (5) (1).png b/en/.gitbook/assets/image (5) (1).png
index 9fea23f..67f8a56 100644
Binary files a/en/.gitbook/assets/image (5) (1).png and b/en/.gitbook/assets/image (5) (1).png differ
diff --git a/en/.gitbook/assets/image (5).png b/en/.gitbook/assets/image (5).png
index 67f8a56..02274fe 100644
Binary files a/en/.gitbook/assets/image (5).png and b/en/.gitbook/assets/image (5).png differ
diff --git a/en/.gitbook/assets/image (6) (1) (1) (1).png b/en/.gitbook/assets/image (6) (1) (1) (1).png
index cc5d157..2de12b0 100644
Binary files a/en/.gitbook/assets/image (6) (1) (1) (1).png and b/en/.gitbook/assets/image (6) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (6) (1) (1).png b/en/.gitbook/assets/image (6) (1) (1).png
index 2de12b0..5f5ac87 100644
Binary files a/en/.gitbook/assets/image (6) (1) (1).png and b/en/.gitbook/assets/image (6) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (6) (1).png b/en/.gitbook/assets/image (6) (1).png
index 5f5ac87..67f8a56 100644
Binary files a/en/.gitbook/assets/image (6) (1).png and b/en/.gitbook/assets/image (6) (1).png differ
diff --git a/en/.gitbook/assets/image (6).png b/en/.gitbook/assets/image (6).png
index 67f8a56..5727f78 100644
Binary files a/en/.gitbook/assets/image (6).png and b/en/.gitbook/assets/image (6).png differ
diff --git a/en/.gitbook/assets/image (7) (1) (1) (1).png b/en/.gitbook/assets/image (7) (1) (1) (1).png
index 77f751d..cc5d157 100644
Binary files a/en/.gitbook/assets/image (7) (1) (1) (1).png and b/en/.gitbook/assets/image (7) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (7) (1) (1).png b/en/.gitbook/assets/image (7) (1) (1).png
index cc5d157..711c6d4 100644
Binary files a/en/.gitbook/assets/image (7) (1) (1).png and b/en/.gitbook/assets/image (7) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (7) (1).png b/en/.gitbook/assets/image (7) (1).png
index 711c6d4..7a19aef 100644
Binary files a/en/.gitbook/assets/image (7) (1).png and b/en/.gitbook/assets/image (7) (1).png differ
diff --git a/en/.gitbook/assets/image (7).png b/en/.gitbook/assets/image (7).png
index 7a19aef..439ab60 100644
Binary files a/en/.gitbook/assets/image (7).png and b/en/.gitbook/assets/image (7).png differ
diff --git a/en/.gitbook/assets/image (8) (1) (1) (1).png b/en/.gitbook/assets/image (8) (1) (1) (1).png
index b6aeea5..362f260 100644
Binary files a/en/.gitbook/assets/image (8) (1) (1) (1).png and b/en/.gitbook/assets/image (8) (1) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (8) (1) (1).png b/en/.gitbook/assets/image (8) (1) (1).png
index 362f260..fecf1d7 100644
Binary files a/en/.gitbook/assets/image (8) (1) (1).png and b/en/.gitbook/assets/image (8) (1) (1).png differ
diff --git a/en/.gitbook/assets/image (8) (1).png b/en/.gitbook/assets/image (8) (1).png
index fecf1d7..f59527d 100644
Binary files a/en/.gitbook/assets/image (8) (1).png and b/en/.gitbook/assets/image (8) (1).png differ
diff --git a/en/.gitbook/assets/image (8).png b/en/.gitbook/assets/image (8).png
index f59527d..311a8f0 100644
Binary files a/en/.gitbook/assets/image (8).png and b/en/.gitbook/assets/image (8).png differ
diff --git a/en/.gitbook/assets/image.png b/en/.gitbook/assets/image.png
index 311a8f0..4e9e49a 100644
Binary files a/en/.gitbook/assets/image.png and b/en/.gitbook/assets/image.png differ
diff --git a/en/README.md b/en/README.md
index 77af868..e34cdb4 100644
--- a/en/README.md
+++ b/en/README.md
@@ -1,4 +1,4 @@
-# Welcome to Dify!
+# Welcome to Dify
Dify is an open-source large language model (LLM) application development platform. It combines the concepts of Backend-as-a-Service and LLMOps to enable developers to quickly build production-grade generative AI applications. Even non-technical personnel can participate in the definition and data operations of AI applications.
@@ -10,7 +10,7 @@ You can think of libraries like LangChain as toolboxes with hammers, nails, etc.
Importantly, Dify is **open source**, co-created by a professional full-time team and community. You can self-deploy capabilities similar to Assistants API and GPTs based on any model, maintaining full control over your data with flexible security, all on an easy-to-use interface.
-> Our community users summarize their evaluation of Dify's products as simple, restrained, and rapid iteration.
+> Our community users summarize their evaluation of Dify's products as simple, restrained, and rapid iteration.
>
> \- Lu Yu, Dify.AI CEO
@@ -31,5 +31,5 @@ The name Dify comes from Define + Modify, referring to defining and continuously
* Read [**Quick Start**](https://docs.dify.ai/application/creating-an-application) for an overview of Dify’s application building workflow.
* Learn how to [**self-deploy Dify** ](https://docs.dify.ai/getting-started/install-self-hosted)to your servers and [**integrate open source models**](https://docs.dify.ai/advanced/model-configuration)**.**
-* Understand Dify’s [**specifications and roadmap**](getting-started/readme/specifications-and-technical-features.md)**.**
+* Understand Dify’s [**specifications and roadmap**](getting-started/readme/features-and-specifications.md)**.**
* [**Star us on GitHub**](https://github.com/langgenius/dify) and read our **Contributor Guidelines.**
diff --git a/en/getting-started/cloud.md b/en/getting-started/cloud.md
index cf042d7..326d6b7 100644
--- a/en/getting-started/cloud.md
+++ b/en/getting-started/cloud.md
@@ -1,33 +1,31 @@
-# Using Dify Cloud
+# Cloud Services
{% hint style="info" %}
Note: Dify is currently in the Beta testing phase. If there are inconsistencies between the documentation and the product, please refer to the actual product experience.
{% endhint %}
-Dify offers a [cloud service](http://cloud.dify.ai) for everyone, so you can use the full functionality of Dify without deploying it yourself. Explore the flexible [Plans and Pricing](https://dify.ai/pricing) and select the plan that best suits your needs and requirements.
+Dify offers a [cloud service](http://cloud.dify.ai) for everyone, so you can use the full functionality of Dify without deploying it yourself. Explore the flexible [Plans and Pricing](https://dify.ai/pricing) and select the plan that best suits your needs and requirements.
Get started now with the [Sandbox plan](http://cloud.dify.ai), which includes a free trial of 200 OpenAI calls, no credit card required. To use the Sandbox plan of the cloud version, you will need a GitHub or Google account, as well as an OpenAI API key. Here's how you can get started:
1. Sign up to [Dify Cloud](https://cloud.dify.ai) and create a new Workspace or join an existing one.
2. Configure your model provider or use our hosted model provider.
-3. You can [create an application](../user-guide/creating-dify-apps/creating-an-application.md) now!
-
-
+3. You can [create an application](../guides/application-orchestrate/creating-an-application.md) now!
### FAQs
-**Q: How is my data handled and stored when using Dify Cloud?**
+**Q: How is my data handled and stored when using Dify Cloud?**
A: When you use Dify Cloud, your user data is securely stored on AWS servers located in the US-East region. This includes both the data you actively input and any generated data from your applications. We prioritize your data's security and integrity, ensuring that it is managed with the highest standards of cloud storage solutions.
-**Q: What measures are in place to protect my API keys and other sensitive information?**
+**Q: What measures are in place to protect my API keys and other sensitive information?**
A: At Dify, we understand the importance of protecting your API keys and other secrets. These are encrypted at rest, which means Dify cannot view them and that only you, the rightful owner, have access to your secrets.
-**Q: Can you explain how application data is anonymized in Dify Cloud?**
+**Q: Can you explain how application data is anonymized in Dify Cloud?**
A: In Dify Cloud, we anonymize application data to ensure privacy and reduce encryption and decryption overheads. This means that the data used by applications is not directly associated with identifiable user accounts. By anonymizing the data, we enhance privacy while maintaining the performance of our cloud services.
-**Q: What is the process for deleting my account and all associated data from Dify Cloud?**
+**Q: What is the process for deleting my account and all associated data from Dify Cloud?**
A: If you decide to delete your account and remove all associated data from Dify Cloud, you can simply send a request to our support team at support@dify.ai. We are committed to respecting your privacy and data rights, and upon request, we will erase all your data from our systems, adhering to data protection regulations.
diff --git a/en/getting-started/readme/model-providers.md b/en/getting-started/readme/model-providers.md
index e0d6dec..0515b3a 100644
--- a/en/getting-started/readme/model-providers.md
+++ b/en/getting-started/readme/model-providers.md
@@ -1,11 +1,11 @@
-# Model Providers
+# List of Model Providers
Dify supports the below model providers out-of-box:
Provider
LLM
Embedding
Rerank
OpenAI
✔️(🛠️)(👓)
✔️
Anthropic
✔️
Azure OpenAI
✔️(🛠️)(👓)
✔️
Google
✔️(👓)
Cohere
✔️
✔️
✔️
Bedrock
✔️
together.ai
✔️
Ollama
✔️
✔️
Replicate
✔️
✔️
Hugging Face
✔️
✔️
Zhipu AI
✔️(🛠️)(👓)
✔️
Baichuan
✔️
✔️
Spark
✔️
Minimax
✔️(🛠️)
✔️
Tongyi
✔️
Wenxin
✔️
Moonshot AI
✔️(🛠️)
deepseek
✔️(🛠️)
Jina
✔️
✔️
ChatGLM
✔️(🛠️)
Xinference
✔️(🛠️)(👓)
✔️
✔️
OpenLLM
✔️
✔️
LocalAI
✔️
✔️
OpenAI API-Compatible
✔️
✔️
-where (🛠️) ︎ denotes Function Calling and (👓) denotes support for vision.
+where (🛠️) ︎ denotes Function Calling and (👓) denotes support for vision.
***
-This table is continuously updated. We also keep track of model providers requested by community members [here](https://github.com/langgenius/dify/discussions/categories/ideas). If you'd like to see a model provider not listed above, please consider contributing by making a PR. To learn more, check out our [contributing.md](../../community/contributing.md "mention") Guide.
+This table is continuously updated. We also keep track of model providers requested by community members [here](https://github.com/langgenius/dify/discussions/categories/ideas). If you'd like to see a model provider not listed above, please consider contributing by making a PR. To learn more, check out our [contribution.md](../../community/contribution.md "mention") Guide.
diff --git a/en/guides/application-orchestrate/agent.md b/en/guides/application-orchestrate/agent.md
index c539531..c75f5e0 100644
--- a/en/guides/application-orchestrate/agent.md
+++ b/en/guides/application-orchestrate/agent.md
@@ -1,4 +1,4 @@
-# Agent Assistant
+# Agent
## Definition
@@ -8,19 +8,19 @@ An Agent Assistant can leverage the reasoning abilities of large language models
To facilitate quick learning and use, application templates for the Agent Assistant are available in the 'Explore' section. You can integrate these templates into your workspace. The new Dify 'Studio' also allows the creation of a custom Agent Assistant to suit individual requirements. This assistant can assist in analyzing financial reports, composing reports, designing logos, and organizing travel plans.
-
Explore-Agent Assistant Application Template
+
Explore-Agent Assistant Application Template
After entering 'Studio-Assistant', you can begin orchestrating by choosing the Agent Assistant.
-
Studio-Create Agent Assistant
+
Studio-Create Agent Assistant
The task completion ability of the Agent Assistant depends on the inference capabilities of the model selected. We recommend using a more powerful model series like GPT-4 when employing Agent Assistant to achieve more stable task completion results.
-
Selecting the Reasoning Model for Agent Assistant
+
Selecting the Reasoning Model for Agent Assistant
You can write prompts for the Agent Assistant in 'Instructions'. To achieve optimal results, you can clearly define its task objectives, workflow, resources, and limitations in the instructions.
-
Orchestrating Prompts for Agent Assistant
+
Orchestrating Prompts for Agent Assistant
## Adding Tools for the Agent Assistant
@@ -30,7 +30,7 @@ In the "Tools" section, you are able to add tools that are required for use. The
You have the option to directly use built-in tools in Dify, or you can easily import custom API tools (currently supporting OpenAPI/Swagger and OpenAI Plugin standards).
-
Adding Tools for the Assistant
+
Adding Tools for the Assistant
The tool allows you to create more powerful AI applications on Dify. For example, you can orchestrate suitable tools for Agent Assistant, enabling it to complete complex tasks through reasoning, step decomposition, and tool invocation. Additionally, the tool facilitates the integration of your application with other systems or services, allowing interaction with the external environment, such as code execution and access to exclusive information sources.
@@ -40,22 +40,22 @@ On Dify, two inference modes are provided for Agent Assistant: Function Calling
In the Agent settings, you can modify the iteration limit of the Agent.
-
Function Calling Mode
+
Function Calling Mode
-
ReAct Mode
+
ReAct Mode
## Configuring the Conversation Opener
You can set up a conversation opener and initial questions for your Agent Assistant. The configured conversation opener will be displayed at the beginning of each user's first interaction, showcasing the types of tasks the Agent can perform, along with examples of questions that can be asked.
-
Configuring the Conversation Opener and Initial Questions
+
Configuring the Conversation Opener and Initial Questions
## Debugging and Preview
After orchestrating your Agent Assistant, you have the option to debug and preview it before publishing it as an application. This allows you to assess the effectiveness of the agent in completing tasks.
-
Debugging and Preview
+
Debugging and Preview
## Application Publish
-
Publishing the Application as a Webapp
+
Publishing the Application as a Webapp
diff --git a/en/guides/application-orchestrate/app-toolkits/moderation-tool.md b/en/guides/application-orchestrate/app-toolkits/moderation-tool.md
index f0504fa..4f10aca 100644
--- a/en/guides/application-orchestrate/app-toolkits/moderation-tool.md
+++ b/en/guides/application-orchestrate/app-toolkits/moderation-tool.md
@@ -1,8 +1,8 @@
-# Moderation
+# Moderation Tool
In our interactions with AI applications, we often have stringent requirements in terms of content security, user experience, and legal regulations. At this point, we need the "Sensitive Word Review" feature to create a better interactive environment for end-users. On the prompt orchestration page, click "Add Function" and locate the "Content Review" toolbox at the bottom:
-
Content moderation
+
Content moderation
## Call the OpenAI Moderation API
@@ -10,16 +10,16 @@ OpenAI, along with most companies providing LLMs, includes content moderation fe
Now you can also directly call the OpenAI Moderation API on Dify; you can review either input or output content simply by entering the corresponding "preset reply."
-
OpenAI Moderation
+
OpenAI Moderation
## Keywords
Developers can customize the sensitive words they need to review, such as using "kill" as a keyword to perform an audit action when users input. The preset reply content should be "The content is violating usage policies." It can be anticipated that when a user inputs a text snippet containing "kill" at the terminal, it will trigger the sensitive word review tool and return the preset reply content.
-
Keywords
+
Keywords
## Moderation Extension
-Different enterprises often have their own mechanisms for sensitive word moderation. When developing their own AI applications, such as an internal knowledge base ChatBot, enterprises need to moderate the query content input by employees for sensitive words. For this purpose, developers can write an API extension based on their enterprise's internal sensitive word moderation mechanisms, specifically referring to [moderation-extension.md](extension/api\_based\_extension/moderation-extension.md "mention"), which can then be called on Dify to achieve a high degree of customization and privacy protection for sensitive word review.
+Different enterprises often have their own mechanisms for sensitive word moderation. When developing their own AI applications, such as an internal knowledge base ChatBot, enterprises need to moderate the query content input by employees for sensitive words. For this purpose, developers can write an API extension based on their enterprise's internal sensitive word moderation mechanisms, specifically referring to [Broken link](broken-reference "mention"), which can then be called on Dify to achieve a high degree of customization and privacy protection for sensitive word review.
-
Moderation Extension
+
Moderation Extension
diff --git a/en/guides/application-orchestrate/conversation-application.md b/en/guides/application-orchestrate/conversation-application.md
index 01e3f00..03bb79a 100644
--- a/en/guides/application-orchestrate/conversation-application.md
+++ b/en/guides/application-orchestrate/conversation-application.md
@@ -1,4 +1,4 @@
-# Chat App
+# Conversation Assistant
Conversation applications use a one-question-one-answer mode to have a continuous conversation with the user.
@@ -16,13 +16,13 @@ Here, we use a interviewer application as an example to introduce the way to com
Click the "Create Application" button on the homepage to create an application. Fill in the application name, and select **"Chat App"** as the application type.
-
Create Application
+
Create Application
#### Step 2: Compose the Application
After the application is successfully created, it will automatically redirect to the application overview page. Click on the left-hand menu: “**Prompt Eng.**” to compose the application.
-
+
**2.1 Fill in Prompts**
@@ -34,33 +34,33 @@ The prompt we are filling in here is:
>
> When I am ready, you can start asking questions.
-.png>)
+.png>)
For a better experience, we will add an opening dialogue: `"Hello, {{name}}. I'm your interviewer, Bob. Are you ready?"`
To add the opening dialogue, click the "Add Feature" button in the upper left corner, and enable the "Conversation remarkers" feature:
-
+
And then edit the opening remarks:
- (1) (1).png>)
+ (1) (1).png>)
**2.2 Adding Context**
-If an application wants to generate content based on private contextual conversations, it can use our [knowledge](../../../features/datasets/) feature. Click the "Add" button in the context to add a knowledge base.
+If an application wants to generate content based on private contextual conversations, it can use our [knowledge](broken-reference) feature. Click the "Add" button in the context to add a knowledge base.
- (1) (1).png>)
+ (1) (1).png>)
**2.3 Debugging**
We fill in the user input on the right side and debug the input content.
- (1) (1).png>)
+ (1) (1).png>)
If the results are not satisfactory, you can adjust the prompts and model parameters. Click on the model name in the upper right corner to set the parameters of the model:
-.png>)
+.png>)
We support the GPT-4 model.
@@ -72,6 +72,6 @@ After debugging the application, click the **"Publish"** button in the upper rig
On the overview page, you can find the sharing address of the application. Click the "Preview" button to preview the shared application. Click the "Share" button to get the sharing link address. Click the "Settings" button to set the shared application information.
-
+
If you want to customize the application that you share, you can Fork our open source [WebApp template](https://github.com/langgenius/webapp-conversation). Based on the template, you can modify the application to meet your specific needs and style requirements.
diff --git a/en/guides/application-publishing/developing-with-apis.md b/en/guides/application-publishing/developing-with-apis.md
index 4f8d19b..d44273c 100644
--- a/en/guides/application-publishing/developing-with-apis.md
+++ b/en/guides/application-publishing/developing-with-apis.md
@@ -15,7 +15,7 @@ Dify offers a "Backend-as-a-Service" API, providing numerous benefits to AI appl
Choose an application, and find the API Access in the left-side navigation of the Apps section. On this page, you can view the API documentation provided by Dify and manage credentials for accessing the API.
-
API document
+
API document
You can create multiple access credentials for an application to deliver to different users or developers. This means that API users can use the AI capabilities provided by the application developer, but the underlying Prompt engineering, knowledge, and tool capabilities are encapsulated.
@@ -34,7 +34,7 @@ You can find the API documentation and example requests for this application in
For example, here is a sample call an API for text generation:
{% tabs %}
-{% tab title="cURL" %}
+{% tab title="cURL" %}
```
curl --location --request POST 'https://api.dify.ai/v1/completion-messages' \
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \
@@ -47,7 +47,7 @@ curl --location --request POST 'https://api.dify.ai/v1/completion-messages' \
```
{% endtab %}
-{% tab title="Python" %}
+{% tab title="Python" %}
```python
import requests
import json
@@ -81,7 +81,7 @@ You can find the API documentation and example requests for this application in
For example, here is a sample call an API for chat-messages:
{% tabs %}
-{% tab title="cURL" %}
+{% tab title="cURL" %}
```
curl --location --request POST 'https://api.dify.ai/v1/chat-messages' \
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \
@@ -97,7 +97,7 @@ curl --location --request POST 'https://api.dify.ai/v1/chat-messages' \
```
{% endtab %}
-{% tab title="Python" %}
+{% tab title="Python" %}
```python
import requests
import json
diff --git a/en/guides/application-publishing/launch-your-webapp-quickly/README.md b/en/guides/application-publishing/launch-your-webapp-quickly/README.md
index 7248116..34cad63 100644
--- a/en/guides/application-publishing/launch-your-webapp-quickly/README.md
+++ b/en/guides/application-publishing/launch-your-webapp-quickly/README.md
@@ -1,4 +1,4 @@
-# Quickstart
+# Launch Your Webapp Quickly
One of the benefits of creating AI applications with Dify is that you can launch a user-friendly Web application in just a few minutes, based on your Prompt orchestration.
@@ -9,7 +9,7 @@ One of the benefits of creating AI applications with Dify is that you can launch
In the application overview page, you can find a card for the AI site (WebApp). Simply enable WebApp access to get a shareable link for your users.
-
Share your WebApp
+
Share your WebApp
We provide a sleek WebApp interface for both of the following applications:
@@ -38,8 +38,8 @@ Dify supports embedding your AI application into your business website. With thi
Copy the script code and paste it into the `` or `` tags on your website.
-
+
For example, if you paste the script code into the section of your official website, you will get an AI chatbot on your website:
-
+
diff --git a/en/guides/application-publishing/launch-your-webapp-quickly/conversation-application.md b/en/guides/application-publishing/launch-your-webapp-quickly/conversation-application.md
index d73c42a..0b0dab6 100644
--- a/en/guides/application-publishing/launch-your-webapp-quickly/conversation-application.md
+++ b/en/guides/application-publishing/launch-your-webapp-quickly/conversation-application.md
@@ -1,4 +1,4 @@
-# Chat App
+# Conversation Application
Conversational applications use a question-and-answer model to maintain a dialogue with the user. Conversational applications support the following capabilities (please confirm that the following functions are enabled when the application is programmed):
@@ -12,33 +12,33 @@ Conversational applications use a question-and-answer model to maintain a dialog
If you have the requirement to fill in variables when you apply the layout, you need to fill in the information according to the prompts before entering the dialog window:
-
+
Fill in the necessary content and click the "Start Chat" button to start chatting.
-
+
Move to the AI's answer, you can copy the content of the conversation, and give the answer "like" and "dislike".
-
+
### Conversation creation, pinning and deletion
Click the "New Conversation" button to start a new conversation. Move to a session, and the session can be "pinned" and "deleted".
-
+
### Conversation remarks
If the "Conversation remarks" function is enabled when the application is programmed, the AI application will automatically initiate the first sentence of the dialogue when creating a new dialogue:
-
+
### Follow-up
If the "Follow-up" function is enabled during the application arrangement, the system will automatically generate 3 related question suggestions after the dialogue:
-
+
### Speech to text
@@ -46,10 +46,10 @@ If the "Speech to Text" function is enabled during application programming, you
_Please make sure that the device environment you are using is authorized to use the microphone._
-
+
### Citations and Attributions
If the "Quotations and Attribution" feature is enabled during the application arrangement, the dialogue returns will automatically show the quoted knowledge document sources.
-
+
diff --git a/en/guides/application-publishing/launch-your-webapp-quickly/text-generator.md b/en/guides/application-publishing/launch-your-webapp-quickly/text-generator.md
index 05cd205..64d3596 100644
--- a/en/guides/application-publishing/launch-your-webapp-quickly/text-generator.md
+++ b/en/guides/application-publishing/launch-your-webapp-quickly/text-generator.md
@@ -1,4 +1,4 @@
-# Text Generator
+# Text Generator Application
The text generation application is an application that automatically generates high-quality text according to the prompts provided by the user. It can generate various types of text, such as article summaries, translations, etc.
@@ -15,7 +15,7 @@ Let's introduce them separately.
Enter the query content, click the run button, and the result will be generated on the right, as shown in the following figure:
-
+
In the generated results section, click the "Copy" button to copy the content to the clipboard. Click the "Save" button to save the content. You can see the saved content in the "Saved" tab. You can also "like" and "dislike" the generated content.
@@ -29,17 +29,17 @@ In the above scenario, the batch operation function is used, which is convenient
Click the "Run Batch" tab to enter the batch run page.
-
+
#### Step 2 Download the template and fill in the content
Click the Download Template button to download the template. Edit the template, fill in the content, and save as a `.csv` file.
-
+
#### Step 3 Upload the file and run
-
+
If you need to export the generated content, you can click the download "button" in the upper right corner to export as a `csv` file.
@@ -49,10 +49,10 @@ If you need to export the generated content, you can click the download "button"
Click the "Save" button below the generated results to save the running results. In the "Saved" tab, you can see all saved content.
-
+
### Generate more similar results
If the "more similar" function is turned on when applying the arrangement. Clicking the "more similar" button in the web application generates content similar to the current result. As shown below:
-
+
diff --git a/en/guides/biao-zhu/annotation-reply.md b/en/guides/biao-zhu/annotation-reply.md
index 4d1acd7..388cbc8 100644
--- a/en/guides/biao-zhu/annotation-reply.md
+++ b/en/guides/biao-zhu/annotation-reply.md
@@ -19,13 +19,13 @@ The feature provides an alternative system for enhancing retrieval, skipping the
4. Without a match, the query follows the standard LLM or RAG process.
5. Deactivating Annotation Reply ceases matching replies from the annotations.
-
Annotation Reply Process
+
Annotation Reply Process
## Activation
Navigate to “Build Apps -> Add Feature” to enable the Annotation Reply feature.
-
+
Start by setting the parameters for Annotation Reply. These include the Score threshold and the Embedding model.
@@ -34,48 +34,48 @@ Start by setting the parameters for Annotation Reply. These include the Score th
Select 'Save' for immediate application of these settings. The system then creates and stores embeddings for all existing annotations.
-
+
## Adding Annotations in Debug Mode
Annotations can be added or modified directly on the model's replies within the debug and preview interface.
-
+
Edit and save these replies to ensure high quality.
-
+
When a user repeats a query, the system uses the relevant saved annotation for a direct reply.
-
+
## Enabling Annotations in System Logs
Turn on the Annotation Reply feature under “Build Apps -> Logs and Annotations -> Annotations.”
-
+
## Adjusting Backend Parameters for Annotations
**Parameter Settings:** These include the Score threshold and Embedding model, just as in the initial configuration.
-
+
## Bulk Importing Annotated Q\&As
**Import Process:** Use the provided template to format Q\&A pairs for annotations, then upload them in bulk.
-
+
## Bulk Exporting Annotated Q\&As
**Export Function:** This feature allows for a one-time export of all annotated Q\&A pairs stored in the system.
-
+
## Reviewing Annotation Hit History
View the history of each annotation's use, including edits, queries, replies, sources, similarity scores, and timestamps. This information is valuable for ongoing improvements to your annotations.
-
+
diff --git a/en/guides/extension/README.md b/en/guides/extension/README.md
index fd180df..69fcbb5 100644
--- a/en/guides/extension/README.md
+++ b/en/guides/extension/README.md
@@ -2,9 +2,6 @@
In the process of creating AI applications, developers face constantly changing business needs and complex technical challenges. Effectively leveraging extension capabilities can not only enhance the flexibility and functionality of applications but also ensure the security and compliance of enterprise data. Dify offers the following two methods of extension:
-[API Based Extension](api_based_extension/ "mention")
-
-[code-based-extension.md](code-based-extension.md "mention")
-
-
+[api-based-extension](api-based-extension/ "mention")
+[Broken link](broken-reference "mention")
diff --git a/en/guides/extension/api-based-extension/README.md b/en/guides/extension/api-based-extension/README.md
index 668b83e..98b983a 100644
--- a/en/guides/extension/api-based-extension/README.md
+++ b/en/guides/extension/api-based-extension/README.md
@@ -1,4 +1,4 @@
-# API Based Extension
+# API-Based Extension
Developers can extend module capabilities through the API extension module. Currently supported module extensions include:
@@ -263,4 +263,4 @@ Now, this API endpoint is accessible publicly. You can configure this endpoint i
We recommend that you use Cloudflare Workers to deploy your API extension, because Cloudflare Workers can easily provide a public address and can be used for free.
-[cloudflare\_workers.md](../../../tutorials/cloudflare\_workers.md "mention")
+[cloudflare-workers.md](cloudflare-workers.md "mention")
diff --git a/en/guides/extension/api-based-extension/cloudflare-workers.md b/en/guides/extension/api-based-extension/cloudflare-workers.md
index c61bef9..60666f4 100644
--- a/en/guides/extension/api-based-extension/cloudflare-workers.md
+++ b/en/guides/extension/api-based-extension/cloudflare-workers.md
@@ -1,4 +1,4 @@
-# Expose API Extension on public Internet using Cloudflare Workers
+# Deploy API Tools with Cloudflare Workers
## Getting Started
@@ -43,9 +43,9 @@ npm run deploy
After successful deployment, you will get a public internet address, which you can add in Dify as an API Endpoint. Please note not to miss the `endpoint` path.
-
Adding API Endpoint in Dify
+
Adding API Endpoint in Dify
-
Adding API Tool in the App edit page
+
Adding API Tool in the App edit page
## Other Logic TL;DR
diff --git a/en/guides/knowledge-base/knowledge-and-documents-maintenance.md b/en/guides/knowledge-base/knowledge-and-documents-maintenance.md
index 7f4a402..2b6a906 100644
--- a/en/guides/knowledge-base/knowledge-and-documents-maintenance.md
+++ b/en/guides/knowledge-base/knowledge-and-documents-maintenance.md
@@ -4,13 +4,13 @@
Each document uploaded to the knowledge base is stored in the form of text segments (Chunks). You can view the specific text content of each segment in the segment list.
-
Viewing uploaded document segments
+
Viewing uploaded document segments
***
### 2. Checking Segment Quality
-The quality of document segmentation significantly affects the Q&A performance of the knowledge base application. It is recommended to manually check the segment quality before associating the knowledge base with the application.
+The quality of document segmentation significantly affects the Q\&A performance of the knowledge base application. It is recommended to manually check the segment quality before associating the knowledge base with the application.
Although automated segmentation methods based on character length, identifiers, or NLP semantic segmentation can significantly reduce the workload of large-scale text segmentation, the quality of segmentation is related to the text structure of different document formats and the semantic context. Manual checking and correction can effectively compensate for the shortcomings of machine segmentation in semantic recognition.
@@ -18,15 +18,15 @@ When checking segment quality, pay attention to the following situations:
* **Overly short text segments**, leading to semantic loss;
-
Overly short text segments
+
Overly short text segments
* **Overly long text segments**, leading to semantic noise affecting matching accuracy;
-
Overly long text segments
+
Overly long text segments
* **Obvious semantic truncation**, which occurs when using maximum segment length limits, leading to forced semantic truncation and missing content during recall;
-
Obvious semantic truncation
+
Obvious semantic truncation
***
@@ -34,11 +34,11 @@ When checking segment quality, pay attention to the following situations:
In the segment list, click "Add Segment" to add one or multiple custom segments to the document.
-
+
When adding segments in bulk, you need to first download the CSV format segment upload template, edit all the segment content in Excel according to the template format, save the CSV file, and then upload it.
-
Bulk adding custom segments
+
Bulk adding custom segments
***
@@ -46,7 +46,7 @@ When adding segments in bulk, you need to first download the CSV format segment
In the segment list, you can directly edit the content of the added segments, including the text content and keywords of the segments.
-
Editing document segments
+
Editing document segments
***
@@ -58,7 +58,7 @@ In addition to marking metadata information from different source documents, suc
The metadata filtering and citation source functions are not yet supported in the current version.
{% endhint %}
-
Metadata management
+
Metadata management
***
@@ -68,7 +68,7 @@ In "Knowledge Base > Document List," click "Add File" to upload new documents or
A knowledge base (Knowledge) is a collection of documents (Documents). Documents can be uploaded by developers or operators, or synchronized from other data sources (usually corresponding to a file unit in the data source).
-
Uploading new documents to the knowledge base
+
Uploading new documents to the knowledge base
***
@@ -84,7 +84,7 @@ A knowledge base (Knowledge) is a collection of documents (Documents). Documents
Click **Settings** in the left navigation of the knowledge base to change the following settings:
-
Knowledge base settings
+
Knowledge base settings
**Knowledge Base Name**: Define a name to identify a knowledge base.
@@ -108,4 +108,4 @@ When the recall mode of the knowledge base is N-Choose-1, the knowledge base is
Dify Knowledge Base provides a complete set of standard APIs. Developers can use API calls to perform daily management and maintenance operations such as adding, deleting, modifying, and querying documents and segments in the knowledge base. Please refer to the [Knowledge Base API Documentation](maintain-dataset-via-api.md).
-
Knowledge base API management
\ No newline at end of file
+
Knowledge base API management
diff --git a/en/guides/knowledge-base/retrieval-test-and-citation.md b/en/guides/knowledge-base/retrieval-test-and-citation.md
index c841e7e..aed07f7 100644
--- a/en/guides/knowledge-base/retrieval-test-and-citation.md
+++ b/en/guides/knowledge-base/retrieval-test-and-citation.md
@@ -1,14 +1,14 @@
-# Recall Testing/Citation Attribution
+# Retrieval Test/Citation
### 1. Recall Testing
The Dify Knowledge Base provides a text recall testing feature to debug the recall effects under different retrieval methods and parameter configurations. You can enter common user questions in the **Source Text** input box, click **Test**, and view the recall results in the **Recalled Paragraph** section on the right. The **Recent Queries** section allows you to view the history of query records; if the knowledge base is linked to an application, queries triggered from within the application can also be viewed here.
-
Recall Testing
+
Recall Testing
Clicking the icon in the upper right corner of the source text input box allows you to change the retrieval method and specific parameters of the current knowledge base. **Changes will only take effect during the recall testing process.** After completing the recall test and confirming changes to the retrieval parameters of the knowledge base, you need to make changes in [Knowledge Base Settings > Retrieval Settings](retrieval\_test\_and\_citation.md#zhi-shi-ku-she-zhi).
-
Recall Testing - Retrieval Settings
+
Recall Testing - Retrieval Settings
**Suggested Steps for Recall Testing:**
@@ -27,8 +27,8 @@ Clicking the icon in the upper right corner of the source text input box allows
When testing the knowledge base effect within the application, you can go to **Workspace -- Add Function -- Citation Attribution** to enable the citation attribution feature.
-
Enable Citation and Attribution Feature
+
Enable Citation and Attribution Feature
After enabling the feature, when the large language model responds to a question by citing content from the knowledge base, you can view specific citation paragraph information below the response content, including **original segment text, segment number, matching degree**, etc. Clicking **Jump to Knowledge Base** above the cited segment allows quick access to the segment list in the knowledge base, facilitating developers in debugging and editing.
-
View Citation Information in Response Content
\ No newline at end of file
+
View Citation Information in Response Content
diff --git a/en/guides/knowledge-base/sync-from-website.md b/en/guides/knowledge-base/sync-from-website.md
index b476a61..3bf4279 100644
--- a/en/guides/knowledge-base/sync-from-website.md
+++ b/en/guides/knowledge-base/sync-from-website.md
@@ -1 +1,42 @@
-# Under Maintenance
+---
+description: >-
+ This document primarily introduces how to scrape data from a web page, parse
+ it into Markdown, and import it into the Dify knowledge base.
+---
+
+# Sync Data from Website
+
+Dify's knowledge base supports web scraping and parsing into Markdown for import through integration with Firecrawl.
+
+{% hint style="info" %}
+[Firecrawl](https://www.firecrawl.dev/) is an open-source web parsing tool that converts web pages into clean Markdown format text that LLMs easily recognize. It also provides an easy-to-use API service.
+{% endhint %}
+
+### How to Configure
+
+#### 1. Configure Firecrawl API credentials
+
+First, you need to configure Firecrawl credentials in the **Data Source** section of the **Settings** page.
+
+
Configuring Firecrawl Credentials
+
+Log in to the [Firecrawl website](https://www.firecrawl.dev/) to complete registration, get your API Key, and then enter and save it in Dify.
+
+
Get the API Key and save it in Dify
+
+#### 2. Scrape target webpage
+
+On the knowledge base creation page, select **Sync from website** and enter the URL to be scraped.
+
+
Web scraping configuration
+
+The configuration options include: Whether to crawl sub-pages, Page crawling limit, Page scraping max depth, Excluded paths, Include only paths, and Content extraction scope. After completing the configuration, click **Run** to preview the parsed pages.
+
+
Execute scraping
+
+#### 3. Review import results
+
+After importing the parsed text from the webpage, it is stored in the knowledge base documents. View the import results and click **Add URL** to continue importing new web pages.
+
+
Importing parsed web text into the knowledge base
+
diff --git a/en/guides/model-configuration/load-balancing.md b/en/guides/model-configuration/load-balancing.md
index b791b23..91ee7cf 100644
--- a/en/guides/model-configuration/load-balancing.md
+++ b/en/guides/model-configuration/load-balancing.md
@@ -6,7 +6,7 @@ In enterprise-level large-scale model API calls, high concurrent requests can ex
You can enable this feature in **Model Provider -- Model List -- Configure Model Load Balancing** and add multiple credentials (API keys) for the same model.
-
Model Load Balancing
+
Model Load Balancing
{% hint style="info" %}
Model load balancing is a paid feature. You can enable this feature by [subscribing to SaaS paid services](../../getting-started/cloud.md#subscription-plans) or purchasing the enterprise edition.
@@ -14,17 +14,17 @@ Model load balancing is a paid feature. You can enable this feature by [subscrib
The default API Key in the configuration is the credential added when the model provider was initially configured. You need to click **Add Configuration** to add different API keys for the same model to properly use the load balancing feature.
-
Configure Load Balancing
+
Configure Load Balancing
**You need to add at least one additional model credential** to save and enable load balancing.
You can also **temporarily disable** or **delete** configured credentials.
-
+
After configuration, all models with load balancing enabled will be displayed in the model list.
-
Enable Load Balancing
+
Enable Load Balancing
{% hint style="info" %}
By default, load balancing uses the Round-robin strategy. If a rate limit is triggered, a 1-minute cooldown period will be applied.
@@ -32,4 +32,4 @@ By default, load balancing uses the Round-robin strategy. If a rate limit is tri
You can also configure load balancing from **Add Model**, and the configuration process is the same as described above.
-
Configure Load Balancing from Add Model
\ No newline at end of file
+
Configure Load Balancing from Add Model
diff --git a/en/guides/model-configuration/xinference.md b/en/guides/model-configuration/xinference.md
index 19b894d..bb60fb0 100644
--- a/en/guides/model-configuration/xinference.md
+++ b/en/guides/model-configuration/xinference.md
@@ -1,4 +1,4 @@
-# Xinference
+# Integrate Local Models Deployed by Xinference
[Xorbits inference](https://github.com/xorbitsai/inference) is a powerful and versatile library designed to serve language, speech recognition, and multimodal models, and can even be used on laptops. It supports various models compatible with GGML, such as chatglm, baichuan, whisper, vicuna, orca, etc. And Dify supports connecting to Xinference deployed large language model inference and embedding capabilities locally.
@@ -33,7 +33,7 @@ There are two ways to deploy Xinference, namely [local deployment](https://githu
Visit `http://127.0.0.1:9997`, select the model and specification you need to deploy, as shown below:
-
+
As different models have different compatibility on different hardware platforms, please refer to [Xinference built-in models](https://inference.readthedocs.io/en/latest/models/builtin/index.html) to ensure the created model supports the current hardware platform.
4. Obtain the model UID
diff --git a/en/guides/monitoring/analysis.md b/en/guides/monitoring/analysis.md
index 7689744..c165663 100644
--- a/en/guides/monitoring/analysis.md
+++ b/en/guides/monitoring/analysis.md
@@ -2,7 +2,7 @@
The **Overview -- Data Analysis** section displays metrics such as usage, active users, and LLM (Language Learning Model) invocation costs. This allows you to continuously improve the effectiveness, engagement, and cost-efficiency of your application operations. We will gradually provide more useful visualization capabilities, so please let us know what you need.
-
Overview—Data Analysis
+
Overview—Data Analysis
***
@@ -16,7 +16,7 @@ The number of unique users who have had effective interactions with the AI, defi
**Average Session Interactions**
-Reflects the number of continuous interactions per session user. For example, if a user has a 10-round Q&A with the AI, it is counted as 10. This metric reflects user engagement. It is available only for conversational applications.
+Reflects the number of continuous interactions per session user. For example, if a user has a 10-round Q\&A with the AI, it is counted as 10. This metric reflects user engagement. It is available only for conversational applications.
**Token Output Speed**
@@ -28,4 +28,4 @@ The number of likes per 1,000 messages, reflecting the proportion of users who a
**Token Usage**
-Reflects the daily token expenditure for language model requests by the application, useful for cost control.
\ No newline at end of file
+Reflects the daily token expenditure for language model requests by the application, useful for cost control.
diff --git a/en/guides/monitoring/integrate-external-ops-tools/integrate-langfuse.md b/en/guides/monitoring/integrate-external-ops-tools/integrate-langfuse.md
index 770b41e..61bc492 100644
--- a/en/guides/monitoring/integrate-external-ops-tools/integrate-langfuse.md
+++ b/en/guides/monitoring/integrate-external-ops-tools/integrate-langfuse.md
@@ -1,4 +1,4 @@
-# Integrating Langfuse
+# Integrate LangFuse
### 1. What is Langfuse
@@ -55,4 +55,4 @@ After configuration, debugging or production data of the application in Dify can
Viewing application data in Langfuse
-
Viewing application data in Langfuse
\ No newline at end of file
+
Viewing application data in Langfuse
diff --git a/en/guides/monitoring/integrate-external-ops-tools/integrate-langsmith.md b/en/guides/monitoring/integrate-external-ops-tools/integrate-langsmith.md
index 8d691e6..7c6e631 100644
--- a/en/guides/monitoring/integrate-external-ops-tools/integrate-langsmith.md
+++ b/en/guides/monitoring/integrate-external-ops-tools/integrate-langsmith.md
@@ -1,4 +1,4 @@
-# Integrating LangSmith
+# Integrate LangSmith
### 1. What is LangSmith
@@ -15,23 +15,23 @@ Introduction to LangSmith: [https://www.langchain.com/langsmith](https://www.lan
1. Register and log in to LangSmith on the [official website](https://www.langchain.com/langsmith)
2. Create a project in LangSmith. After logging in, click **New Project** on the homepage to create your own project. The **project** will be used to associate with **applications** in Dify for data monitoring.
-
Create a project in LangSmith
+
Create a project in LangSmith
Once created, you can view all created projects in the Projects section.
-
View created projects in LangSmith
+
View created projects in LangSmith
3. Create project credentials. Find the project settings **Settings** in the left sidebar.
-
Project settings
+
Project settings
Click **Create API Key** to create project credentials.
-
Create a project API Key
+
Create a project API Key
Select **Personal Access Token** for subsequent API authentication.
-
Create an API Key
+
Create an API Key
Copy and save the created API key.
@@ -59,6 +59,6 @@ After configuration, debugging or production data of the application in Dify can
Debugging applications in Dify
-
Viewing application data in LangSmith
+
Viewing application data in LangSmith
-
Viewing application data in LangSmith
\ No newline at end of file
+
Viewing application data in LangSmith
diff --git a/en/guides/tools/quick-tool-integration.md b/en/guides/tools/quick-tool-integration.md
index 264146f..cb94e9e 100644
--- a/en/guides/tools/quick-tool-integration.md
+++ b/en/guides/tools/quick-tool-integration.md
@@ -243,4 +243,4 @@ After the above steps are completed, we can see this tool on the frontend, and i
Of course, because google\_search needs a credential, before using it, you also need to input your credentials on the frontend.
-
+
diff --git a/en/guides/tools/tool-configuration/README.md b/en/guides/tools/tool-configuration/README.md
index e2e897e..0fc2d1d 100644
--- a/en/guides/tools/tool-configuration/README.md
+++ b/en/guides/tools/tool-configuration/README.md
@@ -6,8 +6,7 @@ description: Learn about the Different Tools Supported by Dify.
Dify supports various tools to enhance your application's capabilities. Each tool has unique features and parameters, so select a tool that suits your application's needs. **Obtain the API key from the tool provider's official website before using it in Dify.**
-
## Tools Integration Guides
-- [StableDiffusion](./stable-diffusion.md): A tool for generating images based on text prompts.
-- [SearXNG](./searxng.md): A free internet metasearch engine which aggregates results from various search services and databases.
+* [StableDiffusion](stable-diffusion.md): A tool for generating images based on text prompts.
+* [SearXNG](../../../tutorials/tool-configuration/searxng.md): A free internet metasearch engine which aggregates results from various search services and databases.
diff --git a/en/guides/workflow/debug-and-preview/checklist.md b/en/guides/workflow/debug-and-preview/checklist.md
index 00768b0..bac932e 100644
--- a/en/guides/workflow/debug-and-preview/checklist.md
+++ b/en/guides/workflow/debug-and-preview/checklist.md
@@ -6,4 +6,4 @@ description: Checklist
Before entering debug mode, you can check the checklist to see if there are any nodes with incomplete configurations or that have not been connected.
-
+
diff --git a/en/guides/workflow/debug-and-preview/log.md b/en/guides/workflow/debug-and-preview/log.md
index e0a363c..c32d514 100644
--- a/en/guides/workflow/debug-and-preview/log.md
+++ b/en/guides/workflow/debug-and-preview/log.md
@@ -2,12 +2,12 @@
description: Log
---
-# Log
+# Conversation/Run Logs
Clicking "View Log—Details" allows you to see a comprehensive overview of the run, including information on input/output, metadata, and more, in the details section.
-
+
Clicking "View Log—Trace" enables you to review the input/output, token consumption, runtime duration, etc., of each node throughout the complete execution process of the workflow.
-
+
diff --git a/en/guides/workflow/debug-and-preview/step-run.md b/en/guides/workflow/debug-and-preview/step-run.md
index 806367f..1ab4dab 100644
--- a/en/guides/workflow/debug-and-preview/step-run.md
+++ b/en/guides/workflow/debug-and-preview/step-run.md
@@ -1,9 +1,9 @@
-# Step Test
+# Step Run
Workflow supports step-by-step debugging of nodes, where you can repetitively test whether the execution of the current node meets expectations.
-
+
After running a step test, you can review the execution status, input/output, and metadata information.
-
+
diff --git a/en/guides/workflow/debug-and-preview/yu-lan-yu-yun-hang.md b/en/guides/workflow/debug-and-preview/yu-lan-yu-yun-hang.md
index b859943..cdd2c64 100644
--- a/en/guides/workflow/debug-and-preview/yu-lan-yu-yun-hang.md
+++ b/en/guides/workflow/debug-and-preview/yu-lan-yu-yun-hang.md
@@ -1,13 +1,13 @@
-# Preview\&Run
+# Preview and Run
Dify Workflow offers a comprehensive set of execution and debugging features. In conversational applications, clicking "Preview" enters debugging mode.
-
+
In workflow applications, clicking "Run" enters debugging mode.
-
+
Once in debugging mode, you can debug the configured workflow using the interface on the right side of the screen.
-
+
diff --git a/en/guides/workflow/node/answer.md b/en/guides/workflow/node/answer.md
index ff31984..bc215fb 100644
--- a/en/guides/workflow/node/answer.md
+++ b/en/guides/workflow/node/answer.md
@@ -2,7 +2,7 @@
description: Answer
---
-# Answer
+# Direct Reply
Defining Reply Content in a Chatflow Process. In a text editor, you have the flexibility to determine the reply format. This includes crafting a fixed block of text, utilizing output variables from preceding steps as the reply content, or merging custom text with variables for the response.
@@ -14,10 +14,10 @@ Answer node can be seamlessly integrated at any point to dynamically deliver con
Example 1: Output plain text.
-
+
Example 2: Output image and LLM reply.
-
+
-
+
diff --git a/en/guides/workflow/node/end.md b/en/guides/workflow/node/end.md
index f497d04..798a4f6 100644
--- a/en/guides/workflow/node/end.md
+++ b/en/guides/workflow/node/end.md
@@ -6,8 +6,8 @@ The "End" node serves as the termination point of the process, beyond which no f
Single-Path Execution Example:
-
+
Multi-Path Execution Example:
-
+
diff --git a/en/guides/workflow/node/http-request.md b/en/guides/workflow/node/http-request.md
index 120dd66..f2c41a6 100644
--- a/en/guides/workflow/node/http-request.md
+++ b/en/guides/workflow/node/http-request.md
@@ -15,7 +15,7 @@ This node supports common HTTP request methods:
You can configure various aspects of the HTTP request, including URL, request headers, query parameters, request body content, and authentication information.
-
HTTP Request Configuration
+
HTTP Request Configuration
***
@@ -23,6 +23,6 @@ You can configure various aspects of the HTTP request, including URL, request he
One practical feature of this node is the ability to dynamically insert variables into different parts of the request based on the scenario. For example, when handling customer feedback requests, you can embed variables such as username or customer ID, feedback content, etc., into the request to customize automated reply messages or fetch specific customer information and send related resources to a designated server.
-
Customer Feedback Classification
+
Customer Feedback Classification
-The return values of an HTTP request include the response body, status code, response headers, and files. Notably, if the response contains a file (currently only image types are supported), this node can automatically save the file for use in subsequent steps of the workflow. This design not only improves processing efficiency but also makes handling responses with files straightforward and direct.
\ No newline at end of file
+The return values of an HTTP request include the response body, status code, response headers, and files. Notably, if the response contains a file (currently only image types are supported), this node can automatically save the file for use in subsequent steps of the workflow. This design not only improves processing efficiency but also makes handling responses with files straightforward and direct.
diff --git a/en/guides/workflow/node/iteration.md b/en/guides/workflow/node/iteration.md
index 6459617..0c6099f 100644
--- a/en/guides/workflow/node/iteration.md
+++ b/en/guides/workflow/node/iteration.md
@@ -12,7 +12,7 @@ The iteration step performs the same steps on each item in a list. To use iterat
#### **Example 1: Long Article Iteration Generator**
-
Long Story Generator
+
Long Story Generator
1. Enter the story title and outline in the **Start Node**.
2. Use a **Code Node** to extract the complete content from user input.
@@ -24,15 +24,15 @@ The iteration step performs the same steps on each item in a list. To use iterat
1. Configure the story title (title) and outline (outline) in the **Start Node**.
-
Start Node Configuration
+
Start Node Configuration
2. Use a **Jinja-2 Template Node** to convert the story title and outline into complete text.
-
Template Node
+
Template Node
3. Use a **Parameter Extraction Node** to convert the story text into an array (Array) structure. The parameter to extract is `sections`, and the parameter type is `Array[Object]`.
-
Parameter Extraction
+
Parameter Extraction
{% hint style="info" %}
The effectiveness of parameter extraction is influenced by the model's inference capability and the instructions given. Using a model with stronger inference capabilities and adding examples in the **instructions** can improve the parameter extraction results.
@@ -40,11 +40,11 @@ The effectiveness of parameter extraction is influenced by the model's inference
4. Use the array-formatted story outline as the input for the iteration node and process it within the iteration node using an **LLM Node**.
-
Configure Iteration Node
+
Configure Iteration Node
Configure the input variables `GenerateOverallOutline/output` and `Iteration/item` in the LLM Node.
-
Configure LLM Node
+
Configure LLM Node
{% hint style="info" %}
Built-in variables for iteration: `items[object]` and `index[number]`.
@@ -56,15 +56,15 @@ Built-in variables for iteration: `items[object]` and `index[number]`.
5. Configure a **Direct Reply Node** inside the iteration node to achieve streaming output after each iteration.
-
Configure Answer Node
+
Configure Answer Node
6. Complete debugging and preview.
-
Generate by Iterating Through Story Chapters
+
Generate by Iterating Through Story Chapters
#### **Example 2: Long Article Iteration Generator (Another Arrangement)**
-
+
* Enter the story title and outline in the **Start Node**.
* Use an **LLM Node** to generate subheadings and corresponding content for the article.
@@ -126,11 +126,11 @@ A list is a specific data type where elements are separated by commas and enclos
**Return Using the CODE Node**
-
CODE Node Outputting Array
+
CODE Node Outputting Array
**Return Using the Parameter Extraction Node**
-
Parameter Extraction Node Outputting Array
+
Parameter Extraction Node Outputting Array
### How to Convert an Array to Text
@@ -138,7 +138,7 @@ The output variable of the iteration node is in array format and cannot be direc
**Convert Using a Code Node**
-
Code Node Conversion
+
Code Node Conversion
```python
def main(articleSections: list):
@@ -150,8 +150,8 @@ def main(articleSections: list):
**Convert Using a Template Node**
-
Template Node Conversion
+
Template Node Conversion
```django
{{ articleSections | join("\n") }}
-```
\ No newline at end of file
+```
diff --git a/en/guides/workflow/node/parameter-extractor.md b/en/guides/workflow/node/parameter-extractor.md
index 14d8a0a..20bc025 100644
--- a/en/guides/workflow/node/parameter-extractor.md
+++ b/en/guides/workflow/node/parameter-extractor.md
@@ -16,19 +16,19 @@ Some nodes within the workflow require specific data formats as inputs, such as
In this example: The Arxiv paper retrieval tool requires **paper author** or **paper ID** as input parameters. The parameter extractor extracts the paper ID **2405.10739** from the query "What is the content of this paper: 2405.10739" and uses it as the tool parameter for precise querying.
-
Arxiv Paper Retrieval Tool
+
Arxiv Paper Retrieval Tool
2. **Converting text to structured data**, such as in the long story iteration generation application, where it serves as a pre-step for the [iteration node](iteration.md), converting chapter content in text format to an array format, facilitating multi-round generation processing by the iteration node.
-
+
-3. **Extracting structured data and using the [HTTP Request](http\_request.md)**, which can request any accessible URL, suitable for obtaining external retrieval results, webhooks, generating images, and other scenarios.
+3. **Extracting structured data and using the** [**HTTP Request**](http\_request.md), which can request any accessible URL, suitable for obtaining external retrieval results, webhooks, generating images, and other scenarios.
***
### 3 How to Configure
-
+
**Configuration Steps**
@@ -57,4 +57,4 @@ When memory is enabled, each input to the question classifier will include the c
`__is_success Number` Extraction success status, with a value of 1 for success and 0 for failure.
-`__reason String` Extraction error reason
\ No newline at end of file
+`__reason String` Extraction error reason
diff --git a/en/learn-more/use-cases/build-an-notion-ai-assistant.md b/en/learn-more/use-cases/build-an-notion-ai-assistant.md
index 9fb4581..3909436 100644
--- a/en/learn-more/use-cases/build-an-notion-ai-assistant.md
+++ b/en/learn-more/use-cases/build-an-notion-ai-assistant.md
@@ -1,4 +1,4 @@
-# Notion AI Assistant Based on Your Own Notes
+# Build a Notion AI Assistant
### Intro[](https://wsyfin.com/notion-dify#intro)
@@ -90,11 +90,11 @@ For example, if your Notion notes focus on problem-solving in software developme
_I want you to act as an IT Expert in my Notion workspace, using your knowledge of computer science, network infrastructure, Notion notes, and IT security to solve the problems_.
-
+
It's recommended to initially enable the AI to actively furnish the users with a starter sentence, providing a clue as to what they can ask. Furthermore, activating the 'Speech to Text' feature can allow users to interact with your AI assistant using their voice.
-
+
Finally, Click the "Publish" button on the top right of the page. Now you can click the public URL in the "Overview" section to converse with your personalized AI assistant!
diff --git a/en/learn-more/use-cases/create-a-midjourney-prompt-bot-with-dify.md b/en/learn-more/use-cases/create-a-midjourney-prompt-bot-with-dify.md
index 917ec11..ea30150 100644
--- a/en/learn-more/use-cases/create-a-midjourney-prompt-bot-with-dify.md
+++ b/en/learn-more/use-cases/create-a-midjourney-prompt-bot-with-dify.md
@@ -1,4 +1,4 @@
-# Midjourney Prompt Bot
+# Create a MidJourney Prompt Bot with Dify
via [@op7418](https://twitter.com/op7418) on Twitter
@@ -10,48 +10,48 @@ Dify offers two types of applications: conversational applications similar to Ch
You can access Dify here: https://dify.ai/
-
+
Once you've created your application, the dashboard page will display some data monitoring and application settings. Click on "Prompt Engineering" on the left, which is the main working page.
-
+
On this page, the left side is for prompt settings and other functions, while the right side provides real-time previews and usage of your created content. The prefix prompts are the triggers that the user inputs after each content, and they instruct the GPT model how to process the user's input information.
-
+
Take a look at my prefix prompt structure: the first part instructs GPT to output a description of a photo in the following structure. The second structure serves as the template for generating the prompt, mainly consisting of elements like 'Color photo of the theme,' 'Intricate patterns,' 'Stark contrasts,' 'Environmental description,' 'Camera model,' 'Lens focal length description related to the input content,' 'Composition description relative to the input content,' and 'The names of four master photographers.' This constitutes the main content of the prompt. In theory, you can now save this to the preview area on the right, input the theme you want to generate, and the corresponding prompt will be generated.
-
+
You may have noticed the "\{{proportion\}}" and "\{{version\}}" at the end. These are variables used to pass user-selected information. On the right side, users are required to choose image proportions and model versions, and these two variables help carry that information to the end of the prompt. Let's see how to set them up.
-
+
Our goal is to fill in the user's selected information at the end of the prompt, making it easy for users to copy without having to rewrite or memorize these commands. For this, we use the variable function.
Variables allow us to dynamically incorporate the user's form-filled or selected content into the prompt. For example, I've created two variables: one represents the image proportion, and the other represents the model version. Click the "Add" button to create the variables.
-
+
After creation, you'll need to fill in the variable key and field name. The variable key should be in English. The optional setting means the field will be non-mandatory when the user fills it. Next, click "Settings" in the action bar to set the variable content.
-
+
Variables can be of two types: text variables, where users manually input content, and select options where users select from given choices. Since we want to avoid manual commands, we'll choose the dropdown option and add the required choices.
-
+
Now, let's use the variables. We need to enclose the variable key within double curly brackets {} and add it to the prefix prompt. Since we want the GPT to output the user-selected content as is, we'll include the phrase "Producing the following English photo description based on user input" in the prompt.
-
+
However, there's still a chance that GPT might modify our variable content. To address this, we can lower the diversity in the model selection on the right, reducing the temperature and making it less likely to alter our variable content. You can check the tooltips for other parameters' meanings.
-
+
With these steps, your application is now complete. After testing and ensuring there are no issues with the output, click the "Publish" button in the upper right corner to release your application. You and users can access your application through the publicly available URL. You can also customize the application name, introduction, icon, and other details in the settings.
-
+
That's how you create a simple AI application using Dify. You can also deploy your application on other platforms or modify its UI using the generated API. Additionally, Dify supports uploading your own data, such as building a customer service bot to assist with product-related queries. This concludes the tutorial, and a special thanks to @goocarlos for creating such a fantastic product.
diff --git a/en/learn-more/use-cases/create-an-ai-chatbot-with-business-data-in-minutes.md b/en/learn-more/use-cases/create-an-ai-chatbot-with-business-data-in-minutes.md
index ff3ba13..d0bbcd7 100644
--- a/en/learn-more/use-cases/create-an-ai-chatbot-with-business-data-in-minutes.md
+++ b/en/learn-more/use-cases/create-an-ai-chatbot-with-business-data-in-minutes.md
@@ -1,4 +1,4 @@
-# AI ChatBot with Business Data
+# Create an AI Chatbot with Business Data in Minutes
AI-powered customer service may be a standard feature for every business website, and it is becoming easier to implement with higher levels of customization. The following content will guide you on how to create an AI-powered customer service for your website in just a few minutes using Dify.
@@ -21,7 +21,7 @@ If you want to build an AI Chatbot based on the company's existing knowledge bas
3. select the cleaning method
4. Click \[Save and Process], and it will take only a few seconds to complete the processing.
-
+
### Create an AI application and give it instructions
@@ -39,30 +39,30 @@ In this case, we assign a role to the AI:
> Opening remarks:Hey \{{username\}}, I'm Bob☀️, the first AI member of Dify. You can discuss with me any questions related to Dify products, team, and even LLMOps.
-
+
### Debug the performance of AI Chatbot and publish.
After completing the setup, you can send messages to it on the right side of the current page to debug whether its performance meets expectations. Then click "Publish". And then you get an AI chatbot.
-
+
### Embed AI Chatbot application into your front-end page.
This step is to embed the prepared AI chatbot into your official website . Click \[Overview] -> \[Embedded], select the script tag method, and copy the script code into the \ or \ tag of your website. If you are not a technical person, you can ask the developer responsible for the official website to paste and update the page.
-
+
1. Paste the copied code into the target location on your website.
-
+
1. Update your official website and you can get an AI intelligent customer service with your business data. Try it out to see the effect.
-
+
Above is an example of how to embed Dify into the official website through the AI chatbot Bob of Dify official website. Of course, you can also use more features provided by Dify to enhance the performance of the chatbot, such as adding some variable settings, so that users can fill in necessary judgment information before interaction, such as name, specific product used and so on.
Welcome to explore in Dify together!
-
+