改造 dify 项目适配自建的 OpenAI API 服务
0. 背景
项目 https://github.com/langgenius/dify.git
的 OpenAI 配置项目里,现在(20230802)还支持输入 api_base 项目,所以修改了一下代码适配自建的 OpenAI API 服务。
1. 修改默认的 api_base 地址
整个工程检索 http://api.openai.com
,将它置换为自建的 OpenAI API 服务的地址,例如 http://127.0.0.1:8000/v1
。
整个工程检索 OpenAIEmbeddings
,添加自建的 OpenAI API 服务的地址,例如,
import os
(略)
embeddings = CacheEmbedding(OpenAIEmbeddings(
openai_api_base=os.environ.get("OPENAI_API_BASE", "http://127.0.0.1:8000/v1"),
**model_credentials
))
2. 修改 openai_provider.py
3. 重新构建 docker 镜像
cd api
docker buildx build -t <your_dockerhub_username>/dify-api:0.3.12 .
4. 修改 docker-compose.yaml
将两处 image: langgenius/dify-api:0.3.12
修改为 <your_dockerhub_username>/dify-api:0.3.12
。
在 worker 和 api 中添加环境变量 OPENAI_API_BASE: "http://127.0.0.1:8000/v1"
。
5. 启动项目
cd docker
docker compose up -d
完结!