|
本文详述了One-api + Dify 本地Docker部署全流程,普通CPU笔记本电脑,win11环境实测 实操本文的必要(劝退)条件
- LLM大模型API key(国内的Qwen、GLM、Moonshot、deepseek都可以);
- 梯子: 鉴于Github和Dockerhub访问的难度与不稳定现状,搭个梯子是必要的;
- Docker 基本应用,至少会在Windows里安装docker desktop。
|
1. 基本信息 1.1 One API 介绍 One API 是一套接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用。详见https://github.com/songquanpeng/one-api |
简而言之,One API是一套管理LLM大模型API Key的 “路由器”。 |
- 输入:一系列LLM的API keys,即所谓 “渠道”

1.2 Dify 介绍 Dify Do it for yourself Dify是一个开源的LLM应用程序开发平台。Dify直观的界面结合了AI工作流、RAG管道、代理功能、模型管理、可观察等,让您快速从原型到生产。 |
| 简而言之,Dify 是用来开发LLM工作流应用的平台。如果Langchain是LLM应用开发的砖头瓦块,Dify就是脚手架。 |
2. 本机部署流程 我的笔记本事先装好了docker desktop,one api和dify最方便的方式也是docker部署,所以本着能省(力气)则省的原则,本文仅介绍docker部署流程。 Windows打开终端,cd 到合适的盘及位置,如D:\Gitpro, 依次运行gitclonehttps://github.com/langgenius/dify.gitcddify\dockerdockercomposeup-d
gitclonehttps://github.com/langgenius/dify.gitCloninginto'dify'...remote:Enumeratingobjects:60539,done.remote:Countingobjects:100%(6168/6168),done.remote:Compressingobjects:100%(819/819),done.remote:Total60539(delta5569),reused5602(delta5324),pack-reused54371Receivingobjects:100%(60539/60539),36.13MiB|12.81MiB/s,done.Resolvingdeltas:100%(43500/43500),done.Updatingfiles:100%(4877/4877),done.
第三步 docker compose执行会有段时间,失败了就多搞几次。有梯子一般很快。容器创建成功后,docker desktop里可以看到如下: 按照提示注册用户(本地运行,随便输个邮箱即可),然后登录。依旧是Windows终端,选好路径,依次执行: gitclonehttps://github.com/songquanpeng/one-api.gitcdone-apidocker-composeup-d[+]Running26/26✔one-api4layers[⣿⣿⣿⣿]0B/0BPulled82.6s✔d25f557d7f31Alreadyexists0.0s✔1b5b003f9dfbPullcomplete9.3s✔191451707000Pullcomplete69.7s✔a2827533ea71Pullcomplete10.9s✔redis9layers[⣿⣿⣿⣿⣿⣿⣿⣿⣿]0B/0BPulled33.0s✔a3ed95caeb02Pullcomplete0.7s✔7059585c469ePullcomplete4.2s✔782c76bb9e67Pullcomplete0.7s✔706514fbad74Pullcomplete0.9s✔62f9861bf413Pullcomplete17.2s✔d9a5cf315f9bPullcomplete1.2s✔43310c2277ffPullcomplete1.6s✔b3e03532a808Pullcomplete1.9s✔9c59e8378f86Pullcomplete2.5s✔db10layers[⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]0B/0BPulled244.6s✔558b7d69a2e5Pullcomplete120.0s✔599b67b0dd6aPullcomplete15.3s✔50314d46ce2bPullcomplete23.6s✔494babc92263Pullcomplete57.4s✔02548e6f2dbfPullcomplete61.6s✔a9e5e2637e0dPullcomplete64.5s✔657b198fe6b7Pullcomplete208.8s✔215a2b0eabbfPullcomplete70.8s✔377a4c7a89c5Pullcomplete224.2s✔4bfe599fe218Pullcomplete121.4s[+]Running3/4-Networkone-api_defaultCreated2.6s✔ContainerredisStarted1.9s✔ContainermysqlStarted1.9s✔Containerone-apiStarted1.9s 容器创建成功后,docker desktop里可以看到如下:浏览器输入:http://localhost:3000/,注册用户,root用户默认密码 123456 ,记得修改。 总体思路,在one-api中配置若干个LLM大模型(默认你已经有相应的key了),然后在Dify系统配置中,添加OpenAI-API-compatible模型(使用one-api中配好的)。 获取令牌,点击“复制” 获取到类似如下的Key,备用。sk-X*******************************************************9 
- 模型供应商选择 OpenAI-API-compatible
- 点击系统模型设置,从上一步设置的OpenAI-API-compatible中选择一个作为系统缺省模型:
 可以开始聊天了 !
本文涉及软件版本: 
|