
如何快速實現(xiàn)REST API集成以優(yōu)化業(yè)務流程
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
若我們把 LangChain 這類的開發(fā)庫(Library)想象為有著錘子、釘子的工具箱。那么Dify 提供了更接近生產需要的完整方案,Dify 好比是一套腳手架,并且經過了精良的工程設計和軟件測試。
重要的是,Dify 是開源的,它由一個專業(yè)的全職團隊和社區(qū)共同打造。你可以基于任何模型自部署類似 Assistants API 和 GPTs 的能力,在靈活和安全的基礎上,同時保持對數(shù)據(jù)的完全控制。
??:Dify 一詞源自 Define + Modify,意指定義并且持續(xù)的改進你的 AI 應用,它是為你而做的(Do it for you)。
在 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。
聊天助手:基于 LLM 構建對話式交互的助手;
文本生成:構建面向文本生成類任務的助手,例如撰寫故事、文本分類、翻譯等;
Agent:能夠分解任務、推理思考、調用工具的對話式智能助手;
工作流:基于流程編排的方式定義更加靈活的 LLM 工作流。
在安裝 Dify 之前,請確保您的機器滿足以下最低系統(tǒng)要求:
首先,從官方網站下載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"
]
添加完成后,點擊保存即完成配置。
brew install docker-compose
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
記得,安裝之后,需要重啟終端或者運行以下命令才可以生效:
source /Users/xxx/.zprofile
git clone https://github.com/langgenius/dify.git
#進入 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。
再次使用Dify時候,若有更新,可按順序執(zhí)行以下命令進行更新:
cd docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d
然后,點擊設置管理員賬戶,包括郵箱、用戶名以及密碼。設置完成后,在以下頁面進行登錄即可使用啦。
最后,使用賬戶登錄后,可以看到一個空白的工作室Workplace:
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機器學習