如何使用自定义 LLM 或 Embedder 设置 Wren AI
我们强烈建议在 Wren AI 中使用 OpenAI o3-mini、GPT-4o 或 GPT-4o-mini。这些模型经过广泛测试,以确保最佳性能和兼容性。
虽然技术上可以集成其他 AI 模型,但请注意,它们尚未在我们的系统中经过充分测试。因此,使用其他模型风险自负,可能会导致意外行为或性能不佳。
要使用自定义 LLM、Embedder 或文档存储设置 Wren AI,请按照以下步骤操作
检查 Wren AI 是否已支持您首选的 LLM 或 embedding 模型
请首先通过查看LiteLLM 文档来检查 Wren AI 是否已支持您首选的 LLM 或 embedding 模型。您还可以检查 Wren AI 是否已支持此处的配置示例。
- 如果 Wren AI 已支持您首选的 LLM 或 embedding 模型并提供了配置示例,您可以参考示例设置配置,然后转到步骤 4 启动 Wren AI。
- 如果 Wren AI 已支持您首选的 LLM 或 embedding 模型但未提供配置示例,请按照以下步骤设置配置。我们非常需要您的帮助来改进文档并添加配置示例。欢迎为 Wren AI 贡献力量!
- 如果 Wren AI 不支持您首选的 LLM 或 embedding 模型,请跳转到将自定义 LLM、Embedder 或文档存储添加到 Wren AI 部分,将您首选的 LLM 或 embedding 模型添加到 Wren AI。
复制并重命名配置文件
首先,您需要复制示例配置文件并重命名。此文件将用于配置您的自定义提供程序。
-
将
<WRENAI_VERSION_NUMBER>
替换为您正在使用的 Wren AI 版本号。 -
对于 MacOS 或 Linux 用户:打开您的终端并运行以下命令
wget -O config.example.yaml https://raw.githubusercontent.com/canner/WrenAI/<WRENAI_VERSION_NUMBER>/docker/config.example.yaml && \
mkdir -p ~/.wrenai && cp config.example.yaml ~/.wrenai/config.yamlwget -O .env.example https://raw.githubusercontent.com/canner/WrenAI/<WRENAI_VERSION_NUMBER>/docker/.env.example && \
mkdir -p ~/.wrenai && cp .env.example ~/.wrenai/.env -
对于 Windows 用户:打开 PowerShell 并执行以下命令
wget -O config.example.yaml https://raw.githubusercontent.com/canner/WrenAI/<WRENAI_VERSION_NUMBER>/docker/config.example.yaml
mkdir -p ~/.wrenai
cp config.example.yaml ~/.wrenai/config.yaml
notepad ~/.wrenai/config.yaml # Fill in required configurationswget -O .env.example https://raw.githubusercontent.com/canner/WrenAI/<WRENAI_VERSION_NUMBER>/docker/.env.example
mkdir -p ~/.wrenai
cp .env.example ~/.wrenai/.env.example.txt
notepad ~/.wrenai/.env.example.txt # Fill in required configurations
mv ~/.wrenai/.env.example.txt ~/.wrenai/.env # Rename the file
更新您的配置
打开 ~/.wrenai/config.yaml
文件并更新它以匹配您的自定义 LLM、Embedder 或文档存储设置。您可以参考该部分了解如何配置这些设置。此外,您可能需要更新 .env
文件以填写所需的 API 密钥。
-
对于自定义 LLM
-
我们现在使用 LiteLLM 支持 LLM,因此您基本上可以使用 LiteLLM 支持的任何 LLM。
-
例如,如果您想使用 Ollama 中的
llama3.1:8b
- 将以下配置添加到您的
config.yaml
文件的litellm_llm
部分下方
type: llm
provider: litellm_llm
models:
- api_base: http://host.docker.internal:11434/v1 # if you are using mac/windows, don't change this; if you are using linux, please search "Run Ollama in docker container" in this page: https://docs.wrenai.cn/oss/installation/custom_llm#running-wren-ai-with-your-custom-llm-embedder
model: ollama_chat/llama3.1:8b # ollama_chat/<ollama_model_name>
timeout: 600
kwargs:
n: 1
temperature: 0 - 将以下配置添加到您的
-
请参阅LiteLLM 文档,了解每个 LLM 支持的参数的更多详细信息。
- 基本上,您需要在
litellm_llm
部分下方填写新的模型配置。例如,根据 LiteLLM 文档,模型名称、api_base、api_key_name 和关键字参数等应该是什么。(请参阅上面的示例配置)
- 基本上,您需要在
-
-
对于自定义 Embedder
-
我们现在使用 LiteLLM 支持 embedding 模型,因此您基本上可以使用 LiteLLM 支持的任何 embedding 模型。
-
例如,如果您想使用 Ollama 中的
nomic-embed-text
,请将以下配置添加到您的config.yaml
文件的litellm_embedder
部分下方,并确保document_store
部分下方的embedding_model_dim
设置为 embedding 模型的维度---
type: embedder
provider: litellm_embedder
models:
- model: ollama/nomic-embed-text # put your ollama embedder model name here, openai/<ollama_model_name>
api_base: http://host.docker.internal:11434/v1 # if you are using mac/windows, don't change this; if you are using linux, please search "Run Ollama in docker container" in this page: https://docs.wrenai.cn/oss/installation/custom_llm#running-wren-ai-with-your-custom-llm-embedder
timeout: 600
---
type: document_store
provider: qdrant
location: http://qdrant:6333
embedding_model_dim: 768 # put your embedding model dimension here
timeout: 120
recreate_index: true
-
-
更新 llm 和 embedder 配置后,您需要在 pipeline 部分替换相应的 llm 和 embedder 值。请注意,llm 和 embedder 的格式应为
<provider>.<model_name>
,例如litellm_llm.ollama_chat/llama3.1:8b
和litellm_llm.ollama/nomic-embed-text
。
启动 Wren AI
通过运行启动器应用程序启动 Wren AI,然后从下拉菜单中选择“Custom”选项。
对于 Ollama 集成:
- 在桌面应用程序中运行 Ollama
- 仅适用于 Windows/MacOS 用户。
- 从 ollama.com 安装 Ollama。
- 启动 Ollama 桌面应用程序或在终端中运行
ollama serve
。 - 使用命令拉取所需模型:
ollama pull <model_name>
。 - 将 config.yaml 文件的
ollama_embedder
/ollama_llm
部分中的url
设置指向您的 Ollama 服务器(默认:http://docker.host.internal:11434
)。
- 在 Docker 容器中运行 Ollama
- 对于 Windows/MacOS/Linux 用户。
- 使用以下命令在 Docker 容器中运行 Ollama:
docker run -d --network wrenai_wren -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
。 - 将 config.yaml 文件的
ollama_embedder
/ollama_llm
部分中的url
设置指向您的 Ollama 服务器(默认:http://ollama:11434
)。