Skip to main content
Version: DEV

部署本地模型

使用 Ollama、Xinference 或其他框架部署和运行本地模型。


RAGFlow 与 Ollama 和 Xinference 无缝集成,无需进一步的环境配置。您可以使用它们在 RAGFlow 中部署两种类型的本地模型:聊天模型和嵌入模型。

使用 Ollama 部署本地模型

Ollama 使您能够运行在本地部署的开源大语言模型。它将模型权重、配置和数据打包到一个由 Modelfile 定义的单一包中,并优化设置和配置,包括 GPU 使用。

note
  • 有关下载 Ollama 的信息,请参阅此处
  • 有关支持的模型和变体的完整列表,请参阅 Ollama 模型库

1. 使用 Docker 部署 Ollama

Ollama 可以从二进制文件安装使用 Docker 部署。以下是使用 Docker 部署的说明:

$ docker run --name ollama -p 11434:11434 ollama/ollama
> time=2024-12-02T02:20:21.360Z level=INFO source=routes.go:1248 msg="Listening on [::]:11434 (version 0.4.6)"
> time=2024-12-02T02:20:21.360Z level=INFO source=common.go:49 msg="Dynamic LLM libraries" runners="[cpu cpu_avx cpu_avx2 cuda_v11 cuda_v12]"

确保 Ollama 在所有 IP 地址上监听:

$ sudo ss -tunlp | grep 11434     # MAC
$ netstat -ano | findstr :11434 # Windows
> tcp LISTEN 0 4096 0.0.0.0:11434 0.0.0.0:* users:(("docker-proxy",pid=794507,fd=4))
> tcp LISTEN 0 4096 [::]:11434 [::]:* users:(("docker-proxy",pid=794513,fd=4))

根据需要拉取模型。我们建议您从 llama3.2(3B 聊天模型)和 bge-m3(567M 嵌入模型)开始:

$ docker exec ollama ollama pull llama3.2
> pulling dde5aa3fc5ff... 100% ▕████████████████▏ 2.0 GB
> success
$ sudo docker exec ollama ollama pull bge-m3                 
> pulling daec91ffb5dd... 100% ▕████████████████▏ 1.2 GB
> success

2. 查找 Ollama URL 并确保其可访问

  • 如果 RAGFlow 在 Docker 中运行,localhost 在 RAGFlow Docker 容器内映射为 host.docker.internal。如果 Ollama 在同一主机上运行,用于 Ollama 的正确 URL 将是 http://host.docker.internal:11434/,您应该检查 Ollama 是否可以从 RAGFlow 容器内部访问:
$ sudo docker exec -it ragflow-server bash
$ curl http://host.docker.internal:11434/
> Ollama is running
  • 如果 RAGFlow 从源代码启动,Ollama 与 RAGFlow 在同一主机上运行,请检查 Ollama 是否可以从 RAGFlow 的主机访问:
$ curl http://localhost:11434/
> Ollama is running
  • 如果 RAGFlow 和 Ollama 在不同机器上运行,请检查 Ollama 是否可以从 RAGFlow 的主机访问:
$ curl http://${IP_OF_OLLAMA_MACHINE}:11434/
> Ollama is running

3. 添加 Ollama

在 RAGFlow 中,点击页面右上角的您的徽标 > 模型提供商,将 Ollama 添加到 RAGFlow:

add ollama

4. 完成基本 Ollama 设置

在弹出窗口中,完成 Ollama 的基本设置:

  1. 确保您的模型名称和类型与步骤 1(使用 Docker 部署 Ollama)中拉取的模型匹配。例如,(llama3.2chat)或(bge-m3embedding)。
  2. 在 Ollama 基础 URL 中,输入您在步骤 2 中找到的 URL即 http://host.docker.internal:11434http://localhost:11434http://${IP_OF_OLLAMA_MACHINE}:11434/v1
  3. 可选:如果您的模型包含图像到文本模型,请打开是否支持视觉?下的切换开关。
警告

不当的基础 URL 设置将触发以下错误:

Max retries exceeded with url: /api/chat (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xffff98b81ff0>: Failed to establish a new connection: [Errno 111] Connection refused'))

5. 更新系统模型设置

点击您的徽标 > 模型提供商 > 系统模型设置来更新您的模型:

  • 您现在应该能够从聊天模型下的下拉列表中找到 llama3.2,从嵌入模型下的下拉列表中找到 bge-m3
  • 如果您的本地模型是嵌入模型,您应该在嵌入模型下找到它。

6. 更新聊天配置

聊天配置中相应地更新您的模型。