1.1 什么是Dify?

Dify是一款開源的大語言模型(LLM) 應用開發(fā)平臺。項目設立于2023年3月,開源協(xié)議是基于?Apache License 2.0?有限商業(yè)許可,后端技術為Python/Flask/PostgreSQL,前端技術Next.js,發(fā)版周期平均每周一次。它融合了后端即服務(Backend as Service)和LLMOps?的理念,使開發(fā)者可以快速搭建生產級的生成式 AI 應用。即使你是非技術人員,也能參與到 AI 應用的定義和數(shù)據(jù)運營過程中。

由于 Dify 內置了構建 LLM 應用所需要的關鍵技術棧,包括對數(shù)百個模型的支持、直觀的Prompt 編排界面、高質量的 RAG 引擎、穩(wěn)健的 Agent 框架、靈活的流程編排,并同時提供了一套易用的界面和 API。這為開發(fā)者節(jié)省了許多重復造輪子的時間,使其可以專注在創(chuàng)新和業(yè)務需求上。

Github上的項目地址:https://github.com/langgenius/dify

1.2 為什么使用Dify?

若我們把 LangChain 這類的開發(fā)庫(Library)想象為有著錘子、釘子的工具箱。那么Dify 提供了更接近生產需要的完整方案,Dify 好比是一套腳手架,并且經過了精良的工程設計和軟件測試。

重要的是,Dify 是開源的,它由一個專業(yè)的全職團隊和社區(qū)共同打造。你可以基于任何模型自部署類似 Assistants API 和 GPTs 的能力,在靈活和安全的基礎上,同時保持對數(shù)據(jù)的完全控制。

??:Dify 一詞源自 Define + Modify,意指定義并且持續(xù)的改進你的 AI 應用,它是為你而做的(Do it for you)。

1.3 Dify 能做什么?

1.4 Dify內支持的模型

在 Dify 中,可按模型的使用場景將模型分為以下 4 類:系統(tǒng)推理模型:如在智聊、對話生成、下一步問題建議等場景用的是系統(tǒng)推理模型。目前已支持的系統(tǒng)推理模型供應商:OpenAI、Azure OpenAI Service、Anthropic、Hugging Face Hub、Replicate、Xinference、OpenLLM、訊飛星火、文心一言、通義千問、Minimax、ZHIPU(ChatGLM);Embedding 模型:在數(shù)據(jù)集中,將分段過的文檔做?Embedding?以及將用戶的提問做?Embedding?處理用的是該類型的模型。目前已支持的 Embedding 模型供應商:OpenAI、ZHIPU(ChatGLM)、Jina AI(Jina Embedding);Rerank 模型:Rerank?模型主要用于增強檢索能力,改善?LLM?的搜索結果。目前已支持的 Rerank 模型供應商:Cohere、Jina AI(Jina Reranker);

語音轉文字模型:在對話型應用中,將語音轉文字用的是該類型的模型。目前已支持的語音轉文字模型供應商:OpenAI。

1.5 Dify內提供的四種應用類型

聊天助手:基于 LLM 構建對話式交互的助手;

文本生成:構建面向文本生成類任務的助手,例如撰寫故事、文本分類、翻譯等;

Agent:能夠分解任務、推理思考、調用工具的對話式智能助手;

工作流:基于流程編排的方式定義更加靈活的 LLM 工作流。


二、在筆記本上本地化部署Dify實戰(zhàn)


2.1 系統(tǒng)要求

在安裝 Dify 之前,請確保您的機器滿足以下最低系統(tǒng)要求:

2.2 安裝Docker(已安裝可忽略)

首先,從官方網站下載docker安裝包:https://www.docker.com/get-started/

下載完成后,找到安裝包,雙擊后通過拖拽完成安裝。

在docker桌面版本安裝完成后,需要在damen.json文件中配置國內的鏡像代理,否則拉取會失敗。具體操作如下:

1)點擊桌面上的docker圖標后,點擊Settings,如下圖所示:

2)在Settings頁面點擊Docker Engine,編輯如下灰色框框內容,由于一個鏡像不一定能夠成功,這里我們添加了如下2個:

 "registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1panel.live"
]

添加完成后,點擊保存即完成配置。

2.3 安裝Docker Compose

brew install docker-compose
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

記得,安裝之后,需要重啟終端或者運行以下命令才可以生效:

source /Users/xxx/.zprofile

2.4 克隆Dify倉庫

git clone https://github.com/langgenius/dify.git

2.5 部署并啟動Dify

#進入 Dify 源代碼的 Docker 目錄
cd docker

然后,復制環(huán)境配置文件

#復制環(huán)境配置文件
cp .env.example .env
docker compose up -d

如果版本是?Docker?Compose?V1,使用以下命令:

docker-compose up -d

當終端界面出現(xiàn)以下信息時,則表示Dify服務啟動成功,即顯示所有容器的狀態(tài)和端口映射:

docker-compose up -d

錯誤日志信息如下所示:

最后,檢查所有容器是否都正常運行,操作命令如下所示:

docker compose ps

結果如下所示,則表示所有容器都正常運行,在這個輸出中,您應該可以看到包括 3 個業(yè)務服務api / worker / web,以及 6 個基礎組件:

通過這些步驟,您應該可以成功在本地安裝 Dify。

2.6?更新Dify

再次使用Dify時候,若有更新,可按順序執(zhí)行以下命令進行更新:

cd docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d

2.7 訪問Dify

然后,點擊設置管理員賬戶,包括郵箱、用戶名以及密碼。設置完成后,在以下頁面進行登錄即可使用啦。

最后,使用賬戶登錄后,可以看到一個空白的工作室Workplace:


三、將Xinference中的開源大模型集成到Dify


2)進入設置頁面后,點擊左上角【模型供應商】

3)在模型供應商中,找到Xorbits?Inference,并點擊【添加模型】

填寫模型名稱、服務器URL(??這里需要您去查看下本機的IP以及Xinference部署的端口,注意不是Xinference登錄網址)以及模型UID

點擊保存成功后,可以在模型列表中看到該模型

點擊右下角的【添加模型】繼續(xù)添加一個嵌入模型bge-large-zh

進入模型配置頁面,選擇模型【Text?Embedding】

填寫模型名稱、服務器URL以及模型UID

??這里點擊保存時,可能會報錯,需要登錄Xinference平臺查看Running Models頁面該模型是否存在,若不存在,則需要找到該模型如下圖所示,點擊小火箭按鈕重新部署即可。

部署完成后,再次點擊【保存】按鈕,則可以保存成功,且可以在?Dify的模型列表頁面查看到該模型:

繼續(xù)按照前兩步的操作,我們可以添加重排序模型bge-reranker-v2-m3進入該模型列表。

填寫模型名稱、服務器URL以及模型UID

圖片至此,我們已經成功將通過Xinference本地化部署的三個大模型集成到了Dify中。

后續(xù),我們就可以基于所集成的模型,在Dify中進行AI的應用了。


總結


本文主要介紹了Dify的基本概念及功能特征,并通過命令行的方式在個人筆記本MAC?M1環(huán)境下私有化部署了Dify服務,然后將在Xinference中本地化部署的3個大模型,語言模型qwen2.5-instruct、嵌入模型bge-large-zh、重排序模型bge-reranker-v2-m3依次集成到了Dify中,為下一步在Dify中開展AI應用研究做好準備。

本文章轉載微信公眾號@AI Python機器學習

上一篇:

AI開發(fā)實戰(zhàn)(002):自定義實現(xiàn) LangChang ChatModel 來集成 Claude 2 API 調用

下一篇:

使用 LangChain 框架進行大模型應用開發(fā) Ⅰ
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數(shù)據(jù)驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費