跳到主要内容

如何使用自定义 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.yaml
    wget -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 configurations
    wget -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

      1. 将以下配置添加到您的 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:8blitellm_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)。