GITBOOK-96: No subject
|
After Width: | Height: | Size: 344 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 130 KiB |
|
After Width: | Height: | Size: 484 KiB |
|
|
@ -10,8 +10,8 @@ We adopt transparent policies around product specifications to ensure decisions
|
|||
|
||||
### Project Basics
|
||||
|
||||
<table data-header-hidden><thead><tr><th width="341"></th><th></th></tr></thead><tbody><tr><td>Established</td><td>March 2023</td></tr><tr><td>Open Source License</td><td><a href="../../policies/open-source.md">Apache License 2.0 with commercial licensing</a></td></tr><tr><td>Official R&D Team</td><td>Over 10 full-time employees</td></tr><tr><td>Community Contributors</td><td>Over <a href="https://ossinsight.io/analyze/langgenius/dify#overview">120</a> people</td></tr><tr><td>Backend Technology</td><td>Python/Flask/PostgreSQL</td></tr><tr><td>Frontend Technology</td><td>Next.js</td></tr><tr><td>Codebase Size</td><td>Over 130,000 lines</td></tr><tr><td>Release Frequency</td><td>Average once per week</td></tr></tbody></table>
|
||||
<table data-header-hidden><thead><tr><th width="341"></th><th></th></tr></thead><tbody><tr><td>Established</td><td>March 2023</td></tr><tr><td>Open Source License</td><td><a href="../../policies/open-source.md">Apache License 2.0 with commercial licensing</a></td></tr><tr><td>Official R&D Team</td><td>Over 10 full-time employees</td></tr><tr><td>Community Contributors</td><td>Over <a href="https://ossinsight.io/analyze/langgenius/dify#overview">290</a> people(As of Q2 2024)</td></tr><tr><td>Backend Technology</td><td>Python/Flask/PostgreSQL</td></tr><tr><td>Frontend Technology</td><td>Next.js</td></tr><tr><td>Codebase Size</td><td>Over 130,000 lines</td></tr><tr><td>Release Frequency</td><td>Average once per week</td></tr></tbody></table>
|
||||
|
||||
### Technical Features
|
||||
|
||||
<table data-header-hidden><thead><tr><th width="240"></th><th></th></tr></thead><tbody><tr><td>LLM Inference Engines</td><td>Dify Runtime (LangChain removed since v0.4)</td></tr><tr><td>Commercial Models Supported</td><td><strong>10+</strong>, including OpenAI and Anthropic<br>Onboard new mainstream models within 48 hours</td></tr><tr><td>MaaS Vendor Supported</td><td><strong>7</strong>, Hugging Face, Replicate, AWS Bedrock, NVIDIA, GroqCloud, together.ai,, OpenRouter</td></tr><tr><td>Local Model Inference Runtimes Supported</td><td><strong>6</strong>, Xoribits (recommended), OpenLLM, LocalAI, ChatGLM,Ollama, NVIDIA TIS </td></tr><tr><td>OpenAI Interface Standard Model Integration Supported</td><td><strong>∞</strong></td></tr><tr><td>Multimodal Capabilities</td><td><p>ASR Models</p><p>Rich-text models up to GPT-4V specs</p></td></tr><tr><td>Built-in App Types</td><td>Text generation, Conversational, Agent, Workflow, Group(Q2 2024)</td></tr><tr><td>Prompt-as-a-Service Orchestration</td><td><p>Visual orchestration interface widely praised, modify Prompts and preview effects in one place.<br></p><p><strong>Orchestration Modes</strong></p><ul><li>Simple orchestration</li><li>Assistant orchestration </li><li>Flow orchestration </li><li>Multi-Agent orchestration(Q2 2024)</li></ul><p><strong>Prompt Variable Types</strong></p><ul><li>String</li><li>Radio enum</li><li>External API</li><li>File (Q2 2024)</li></ul></td></tr><tr><td>Agentic Workflow Features</td><td><p>Industry-leading visual workflow orchestration interface, live-editing node debugging, modular DSL, and native code runtime, designed for building more complex, reliable, and stable LLM applications.</p><p><br>Supported Nodes</p><ul><li>LLM</li><li>Knowledge Retrieval</li><li>Question Classifier</li><li>IF/ELSE</li><li>CODE</li><li>Template</li><li>HTTP Request</li><li>Tool</li></ul></td></tr><tr><td>RAG Features</td><td><p>Industry-first visual knowledge base management interface, supporting snippet previews and recall testing.</p><p><strong>Indexing Methods</strong></p><ul><li>Keywords</li><li>Text vectors</li><li>LLM-assisted question-snippet model</li></ul><p><strong>Retrieval Methods</strong></p><ul><li>Keywords</li><li>Text similarity matching</li><li>Hybrid Search</li><li>N choose 1</li><li>Multi-path recall</li></ul><p><strong>Recall Optimization</strong></p><ul><li>Re-rank models</li></ul></td></tr><tr><td>ETL Capabilities</td><td><p>Automated cleaning for TXT, Markdown, PDF, HTML, DOC, CSV formats. Unstructured service enables maximum support.</p><p>Sync Notion docs as knowledge bases.</p></td></tr><tr><td>Vector Databases Supported</td><td>Qdrant (recommended), Weaviate,Zilliz/Milvus, Pgvector, Pgvector-rs,Chroma, OpenSearch, TiDB, Tencent Vector, Oracle, Relyt</td></tr><tr><td>Agent Technologies</td><td><p>ReAct, Function Call.<br></p><p><strong>Tooling Support</strong></p><ul><li>Invoke OpenAI Plugin standard tools </li><li>Directly load OpenAPI Specification APIs as tools</li></ul><p><strong>Built-in Tools</strong></p><ul><li>30+ tools(As of Q1 2024)</li></ul></td></tr><tr><td>Logging</td><td>Supported, annotations based on logs</td></tr><tr><td>Annotation Reply</td><td>Based on human-annotated Q&As, used for similarity-based replies. Exportable as data format for model fine-tuning.</td></tr><tr><td>Content Moderation</td><td>OpenAI Moderation or external APIs</td></tr><tr><td>Team Collaboration</td><td>Workspaces, multi-member management</td></tr><tr><td>API Specs</td><td>RESTful, most features covered</td></tr><tr><td>Deployment Methods</td><td>Docker, Helm</td></tr></tbody></table>
|
||||
<table data-header-hidden><thead><tr><th width="240"></th><th></th></tr></thead><tbody><tr><td>LLM Inference Engines</td><td>Dify Runtime (LangChain removed since v0.4)</td></tr><tr><td>Commercial Models Supported</td><td><strong>10+</strong>, including OpenAI and Anthropic<br>Onboard new mainstream models within 48 hours</td></tr><tr><td>MaaS Vendor Supported</td><td><strong>7</strong>, Hugging Face, Replicate, AWS Bedrock, NVIDIA, GroqCloud, together.ai,, OpenRouter</td></tr><tr><td>Local Model Inference Runtimes Supported</td><td><strong>6</strong>, Xoribits (recommended), OpenLLM, LocalAI, ChatGLM,Ollama, NVIDIA TIS </td></tr><tr><td>OpenAI Interface Standard Model Integration Supported</td><td><strong>∞</strong></td></tr><tr><td>Multimodal Capabilities</td><td><p>ASR Models</p><p>Rich-text models up to GPT-4o specs</p></td></tr><tr><td>Built-in App Types</td><td>Text generation, Chatbot, Agent, Workflow, Chatflow</td></tr><tr><td>Prompt-as-a-Service Orchestration</td><td><p>Visual orchestration interface widely praised, modify Prompts and preview effects in one place.<br></p><p><strong>Orchestration Modes</strong></p><ul><li>Simple orchestration</li><li>Assistant orchestration </li><li>Flow orchestration </li></ul><p><strong>Prompt Variable Types</strong></p><ul><li>String</li><li>Radio enum</li><li>External API</li><li>File (Q3 2024)</li></ul></td></tr><tr><td>Agentic Workflow Features</td><td><p>Industry-leading visual workflow orchestration interface, live-editing node debugging, modular DSL, and native code runtime, designed for building more complex, reliable, and stable LLM applications.</p><p><br>Supported Nodes</p><ul><li>LLM</li><li>Knowledge Retrieval</li><li>Question Classifier</li><li>IF/ELSE</li><li>CODE</li><li>Template</li><li>HTTP Request</li><li>Tool</li></ul></td></tr><tr><td>RAG Features</td><td><p>Industry-first visual knowledge base management interface, supporting snippet previews and recall testing.</p><p><strong>Indexing Methods</strong></p><ul><li>Keywords</li><li>Text vectors</li><li>LLM-assisted question-snippet model</li></ul><p><strong>Retrieval Methods</strong></p><ul><li>Keywords</li><li>Text similarity matching</li><li>Hybrid Search</li><li>N choose 1(Legacy)</li><li>Multi-path retrieval</li></ul><p><strong>Recall Optimization</strong></p><ul><li>Rerank models</li></ul></td></tr><tr><td>ETL Capabilities</td><td><p>Automated cleaning for TXT, Markdown, PDF, HTML, DOC, CSV formats. Unstructured service enables maximum support.</p><p>Sync Notion docs as knowledge bases.<br>Sync Webpages as knowledge bases.</p></td></tr><tr><td>Vector Databases Supported</td><td>Qdrant (recommended), Weaviate,Zilliz/Milvus, Pgvector, Pgvector-rs,Chroma, OpenSearch, TiDB, Tencent Vector, Oracle, Relyt</td></tr><tr><td>Agent Technologies</td><td><p>ReAct, Function Call.<br></p><p><strong>Tooling Support</strong></p><ul><li>Invoke OpenAI Plugin standard tools </li><li>Directly load OpenAPI Specification APIs as tools</li></ul><p><strong>Built-in Tools</strong></p><ul><li>40+ tools(As of Q2 2024)</li></ul></td></tr><tr><td>Logging</td><td>Supported, annotations based on logs</td></tr><tr><td>Annotation Reply</td><td>Based on human-annotated Q&As, used for similarity-based replies. Exportable as data format for model fine-tuning.</td></tr><tr><td>Content Moderation</td><td>OpenAI Moderation or external APIs</td></tr><tr><td>Team Collaboration</td><td>Workspaces, multi-member management</td></tr><tr><td>API Specs</td><td>RESTful, most features covered</td></tr><tr><td>Deployment Methods</td><td>Docker, Helm</td></tr></tbody></table>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Dify supports the below model providers out-of-box:
|
||||
|
||||
<table data-full-width="false"><thead><tr><th align="center">Provider</th><th align="center">LLM</th><th align="center">Embedding</th><th align="center">Rerank</th></tr></thead><tbody><tr><td align="center">OpenAI</td><td align="center">✔️(🛠️)(👓)</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Anthropic</td><td align="center">✔️</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Azure OpenAI</td><td align="center">✔️(🛠️)(👓)</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Google</td><td align="center">✔️(👓)</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Cohere</td><td align="center">✔️</td><td align="center">✔️</td><td align="center">✔️</td></tr><tr><td align="center">Bedrock</td><td align="center">✔️</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">together.ai</td><td align="center">✔️</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Ollama</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Replicate</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Hugging Face</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Zhipu AI</td><td align="center">✔️(🛠️)(👓)</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Baichuan</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Spark</td><td align="center">✔️</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Minimax</td><td align="center">✔️(🛠️)</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Tongyi</td><td align="center">✔️</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Wenxin</td><td align="center">✔️</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Moonshot AI</td><td align="center">✔️(🛠️)</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">deepseek</td><td align="center">✔️(🛠️)</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Jina</td><td align="center"></td><td align="center">✔️</td><td align="center">✔️</td></tr><tr><td align="center">ChatGLM</td><td align="center">✔️(🛠️)</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Xinference</td><td align="center">✔️(🛠️)(👓)</td><td align="center">✔️</td><td align="center">✔️</td></tr><tr><td align="center">OpenLLM</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">LocalAI</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">OpenAI API-Compatible</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr></tbody></table>
|
||||
<table data-full-width="false"><thead><tr><th align="center">Provider</th><th align="center">LLM</th><th align="center">Embedding</th><th align="center">Rerank</th></tr></thead><tbody><tr><td align="center">OpenAI</td><td align="center">✔️(🛠️)(👓)</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Anthropic</td><td align="center">✔️(🛠️)</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Azure OpenAI</td><td align="center">✔️(🛠️)(👓)</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Google</td><td align="center">✔️(👓)</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Cohere</td><td align="center">✔️</td><td align="center">✔️</td><td align="center">✔️</td></tr><tr><td align="center">Bedrock</td><td align="center">✔️</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">together.ai</td><td align="center">✔️</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Ollama</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Replicate</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Hugging Face</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Zhipu AI</td><td align="center">✔️(🛠️)(👓)</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Baichuan</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Spark</td><td align="center">✔️</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Minimax</td><td align="center">✔️(🛠️)</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">Tongyi</td><td align="center">✔️</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Wenxin</td><td align="center">✔️</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Moonshot AI</td><td align="center">✔️(🛠️)</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">deepseek</td><td align="center">✔️(🛠️)</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Jina</td><td align="center"></td><td align="center">✔️</td><td align="center">✔️</td></tr><tr><td align="center">ChatGLM</td><td align="center">✔️(🛠️)</td><td align="center"></td><td align="center"></td></tr><tr><td align="center">Xinference</td><td align="center">✔️(🛠️)(👓)</td><td align="center">✔️</td><td align="center">✔️</td></tr><tr><td align="center">OpenLLM</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">LocalAI</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr><tr><td align="center">OpenAI API-Compatible</td><td align="center">✔️</td><td align="center">✔️</td><td align="center"></td></tr></tbody></table>
|
||||
|
||||
where (🛠️) ︎ denotes Function Calling and (👓) denotes support for vision.
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ Developers can extend module capabilities through the API extension module. Curr
|
|||
|
||||
Before extending module capabilities, prepare an API and an API Key for authentication, which can also be automatically generated by Dify. In addition to developing the corresponding module capabilities, follow the specifications below so that Dify can invoke the API correctly.
|
||||
|
||||
<figure><img src="/en/.gitbook/assets/guides/extension/api_based_extension/screenshot-20231128-104353.png" alt=""><figcaption><p>Add API Extension</p></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/guides/extension/api_based_extension/screenshot-20231128-104353.png" alt=""><figcaption><p>Add API Extension</p></figcaption></figure>
|
||||
|
||||
## API Specifications
|
||||
|
||||
|
|
@ -194,11 +194,11 @@ The default port is 8000. The complete address of the API is: `http://127.0.0.1:
|
|||
|
||||
#### Configure this API in Dify.
|
||||
|
||||
<figure><img src="/en/.gitbook/assets/guides/extension/api_based_extension/screenshot-20231128-104353.png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/guides/extension/api_based_extension/screenshot-20231128-104353.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Select this API extension in the App.
|
||||
|
||||
<figure><img src="/en/.gitbook/assets/guides/extension/api_based_extension/screenshot-20231128-104353 (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/guides/extension/api_based_extension/screenshot-20231128-104353 (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
When debugging the App, Dify will request the configured API and send the following content (example):
|
||||
|
||||
|
|
@ -230,7 +230,7 @@ Since Dify's cloud version can't access internal network API services, you can u
|
|||
|
||||
1. Visit the Ngrok official website at [https://ngrok.com](https://ngrok.com/), register, and download the Ngrok file.
|
||||
|
||||
<figure><img src="/en/.gitbook/assets/guides/extension/api_based_extension/spaces_CdDIVDY6AtAz028MFT4d_uploads_kLpE7vN8jg1KrzeCWZtn_download.webp" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/guides/extension/api_based_extension/spaces_CdDIVDY6AtAz028MFT4d_uploads_kLpE7vN8jg1KrzeCWZtn_download.webp" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
2. After downloading, go to the download directory. Unzip the package and run the initialization script as instructed:
|
||||
|
||||
|
|
@ -241,7 +241,7 @@ $ ./ngrok config add-authtoken 你的Token
|
|||
|
||||
3. Check the port of your local API service.
|
||||
|
||||
<figure><img src="/en/.gitbook/assets/guides/extension/api_based_extension/spaces_CdDIVDY6AtAz028MFT4d_uploads_Z1SpULkGZ0xDBnSXOhC1_8000.webp" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/guides/extension/api_based_extension/spaces_CdDIVDY6AtAz028MFT4d_uploads_Z1SpULkGZ0xDBnSXOhC1_8000.webp" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Run the following command to start:
|
||||
|
||||
|
|
@ -251,7 +251,7 @@ $ ./ngrok http [port number]
|
|||
|
||||
Upon successful startup, you'll see something like the following:
|
||||
|
||||
<figure><img src="/en/.gitbook/assets/guides/extension/api_based_extension/spaces_CdDIVDY6AtAz028MFT4d_uploads_8EgAgdMcArHAaJJFEEWA_ngrock copy.jpg" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/guides/extension/api_based_extension/spaces_CdDIVDY6AtAz028MFT4d_uploads_8EgAgdMcArHAaJJFEEWA_ngrock copy.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
4. Find the 'Forwarding' address, like the sample domain `https://177e-159-223-41-52.ngrok-free.app`, and use it as your public domain.
|
||||
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 496 KiB |
|
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 479 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 525 KiB |
|
Before Width: | Height: | Size: 525 KiB After Width: | Height: | Size: 133 KiB |
|
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 265 KiB |
|
Before Width: | Height: | Size: 265 KiB After Width: | Height: | Size: 857 KiB |
|
Before Width: | Height: | Size: 857 KiB After Width: | Height: | Size: 506 KiB |
|
Before Width: | Height: | Size: 674 KiB After Width: | Height: | Size: 597 KiB |
|
Before Width: | Height: | Size: 597 KiB After Width: | Height: | Size: 172 KiB |
|
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 274 KiB |
|
Before Width: | Height: | Size: 274 KiB After Width: | Height: | Size: 361 KiB |
|
Before Width: | Height: | Size: 539 KiB After Width: | Height: | Size: 731 KiB |
|
Before Width: | Height: | Size: 731 KiB After Width: | Height: | Size: 403 KiB |
|
After Width: | Height: | Size: 403 KiB |
|
After Width: | Height: | Size: 158 KiB |
|
After Width: | Height: | Size: 9.8 KiB |