DB-GPT 接入 Ollama:本地运行开源模型的完整配置指南

DB-GPT 接入 Ollama:本地运行开源模型的完整配置指南 DB-GPT 接入 Ollama本地运行开源模型的完整配置指南【免费下载链接】DB-GPTopen-source agentic AI data assistant for the next generation of AI Data products.项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT导读本文围绕 DB-GPT 项目提供的 Ollama 本地模型接入方案展开完整讲解从安装 Ollama、拉取模型、安装proxy_ollama依赖到编写 configs/dbgpt-proxy-ollama.toml 配置并启动服务端的全过程。读完本文你将能够在自己的机器上通过 Ollama 运行 DeepSeek-R1、Qwen2.5、Llama 3.1 等对话模型与 bge-m3、nomic-embed-text 等嵌入模型让 DB-GPT 的 RAG、Agent 等能力全部跑在本地并掌握常见故障的排查方法。一、为什么选择 Ollama 作为 DB-GPT 的本地推理后端DB-GPT 支持丰富的模型接入方式其中proxy/platform这一类 provider 用于对接第三方或本地推理服务。Ollama 正是本地推理中最易上手的一种它以极简的命令行完成模型下载与启动屏蔽了显存分配、模型格式转换等细节适合在个人开发机、离线环境或对数据隐私有要求的场景中为 DB-GPT 提供 LLM 与 Embedding 能力。从源码角度看DB-GPT 将 Ollama 封装为一个标准的代理客户端OllamaLLMClient定义在 packages/dbgpt-core/src/dbgpt/model/proxy/llms/ollama.py并在 packages/dbgpt-core/src/dbgpt/model/proxy/init.py 中完成懒加载注册。它底层通过官方ollamaPython 包的Client以流式方式调用/chat接口因此 DB-GPT 侧不需要加载任何模型权重模型推理全部在 Ollama 进程中完成。二、环境准备Prerequisites在开始之前需要满足两个前提条件Ollama 已安装并处于运行状态Ollama 以独立服务进程运行在localhost:11434默认端口DB-GPT 只作为 HTTP 客户端访问它。DB-GPT 已安装proxy_ollama扩展依赖该 extra 会一并安装ollamaPython 客户端包。若缺少该包OllamaLLMClient.sync_generate_stream会抛出Could not import python package: ollama的 ValueError提示你执行pip install ollama见 ollama.py。2.1 安装 Ollama根据操作系统选择对应的安装方式macOS从 ollama.ai 下载安装包或使用 Homebrewbrew install ollamaLinux使用官方安装脚本与高级用法文档 docs/docs/installation/advanced_usage/ollama.md 中的方式一致curl -fsSL https://ollama.ai/install.sh | shWindows从 ollama.ai 下载安装程序安装后 Ollama 会作为后台服务运行。安装完成后使用ollama serve启动服务若已作为系统服务运行则可跳过默认监听127.0.0.1:11434。2.2 拉取模型Pull modelsOllama 的模型以标签tag方式管理需要先拉取到本地才能使用。至少需要两类模型# 拉取一个对话模型Chat/LLM ollama pull deepseek-r1:1.5b # 拉取一个嵌入模型Embedding ollama pull bge-m3:latest提示执行ollama list可以查看本地已下载的全部模型及其大小、标签信息。三、安装 DB-GPT 依赖DB-GPT 仓库使用uv管理依赖。为了让 Ollama 代理、RAG 检索、向量存储与内置 dbgpts 插件都能正常工作官方推荐一次性同步以下 extrasuv sync --all-packages \ --extra base \ --extra proxy_ollama \ --extra rag \ --extra storage_chromadb \ --extra dbgpts参数说明--extra proxy_ollama安装 Ollama 代理客户端所需依赖核心--extra rag启用 RAG 检索增强需要嵌入模型配合--extra storage_chromadb使用 Chroma 作为默认向量库与 configs/dbgpt-proxy-ollama.toml 中的type chroma对应--extra dbgpts安装内置 DB-GPT 插件与技能--all-packages同步仓库内所有 Python 包dbgpt-core、dbgpt-serve 等。该命令同时出现在入门文档 docs/docs/getting-started/providers/ollama.md 与进阶文档 docs/docs/installation/advanced_usage/ollama.md 中是官方认可的标准安装方式。四、编写模型配置文件DB-GPT 以 TOML 文件集中声明要加载的模型。官方在仓库中提供了现成模板 configs/dbgpt-proxy-ollama.toml完整内容如下[system] # 语言从环境变量读取由 hook 设置 language ${env:DBGPT_LANG:-en} api_keys [] encrypt_key your_secret_key # 服务端配置 [service.web] host 0.0.0.0 port 5670 [service.web.database] type sqlite path pilot/meta_data/dbgpt.db [rag.storage] [rag.storage.vector] type chroma persist_path pilot/data # 模型配置 [models] [[models.llms]] name deepseek-r1:1.5b provider proxy/ollama api_base http://localhost:11434 api_key [[models.embeddings]] name bge-m3:latest provider proxy/ollama api_url http://localhost:11434 api_key 4.1 关键配置项详解配置项位置含义默认值/建议值namemodels.llms/models.embeddings模型在 DB-GPT 中的注册名必须与ollama list中已拉取的模型标签完全一致否则会报 Model not found无provider同上模型提供方标识Ollama 固定写proxy/ollamaproxy/ollamaapi_basemodels.llmsOllama HTTP 服务地址DB-GPT 会用它构造ollama.Client(api_base)http://localhost:11434api_urlmodels.embeddings嵌入模型的访问地址Embedding 参数命名与 LLM 不同http://localhost:11434api_key两者本地 Ollama 无需鉴权可留空字符串说明如果 Ollama 运行在其他机器上只需把api_base/api_url改为http://目标主机:11434。api_key在本地场景留空即可。4.2 源码视角Ollama 代理是如何工作的从源码结构看Ollama 接入的核心是一条清晰的调用链参数类OllamaDeployModelParametersollama.py继承自LLMDeployModelParameters硬编码provider: str proxy/ollama并把api_base默认值设计为环境变量可覆盖的${env:OLLAMA_API_BASE:-http://localhost:11434}——这意味着你也可以通过设置OLLAMA_API_BASE环境变量来指向远程 Ollama而无需修改配置文件。客户端OllamaLLMClient在new_client中读取real_provider_model_name即配置中的name若设置了backend则优先用backend与api_base构造实例default_model返回该模型名。流式生成sync_generate_stream内部调用官方ollama.Client.chat(model..., messages..., streamTrue)逐块累积响应内容并通过parse_chat_message(content, extract_reasoningis_reasoning_model)分离正文与思考过程reasoning content将结果包装成标准ModelOutput流式返回。当请求上下文中标记is_reasoning_model如 DeepSeek-R1 这类推理模型时思考链会被单独提取出来展示。适配器注册文件末尾通过register_proxy_model_adapter注册预置元数据例如deepseek-v3context_length 64K与deepseek-r1:671bcontext_length 64K、支持 function calling其余模型可从 ollama.com/search 查询后自行在配置中声明。上述通用参数context_length、backend、reasoning_model、concurrency等均定义在LLMDeployModelParameterspackages/dbgpt-core/src/dbgpt/core/interface/parameter.py你在配置文件中为对应模型显式设置context_length或reasoning_model即可覆盖自动探测值。五、推荐模型选择5.1 对话模型Chat/LLM模型拉取命令大小特点DeepSeek-R1 1.5Bollama pull deepseek-r1:1.5b约 1 GB体积小、速度快具备推理reasoning能力Qwen2.5 7Bollama pull qwen2.5:7b约 4.7 GB综合能力均衡中文友好Llama 3.1 8Bollama pull llama3.1:8b约 4.7 GBMeta 最新一代开源模型Mistral 7Bollama pull mistral:7b约 4.1 GB通用场景响应快5.2 嵌入模型Embedding模型拉取命令特点bge-m3ollama pull bge-m3:latest多语言兼顾中英文检索适合 RAG 场景nomic-embed-textollama pull nomic-embed-text以英文为主嵌入模型用于知识库问答RAG中的文档向量化。若只做纯对话配置models.embeddings一节可以省略但要让 docs/docs/modules/rag.md 中的知识库能力工作则必须配置嵌入模型。六、启动服务端启动顺序有严格要求先启动 Ollama再启动 DB-GPT。# 1. 启动 Ollama若未作为服务运行 ollama serve # 2. 启动 DB-GPT显式指定 Ollama 配置 uv run dbgpt start webserver --config configs/dbgpt-proxy-ollama.toml--config参数指向第 4 节编辑好的配置文件。服务启动后Web 界面默认监听0.0.0.0:5670与配置中[service.web]一致浏览器访问http://localhost:5670即可开始对话或创建知识库应用。七、故障排查Troubleshooting问题解决方案Connection refused连接被拒绝确认 Ollama 已在运行执行ollama serve同时核对api_base/api_url中的主机与端口默认11434Model not found模型不存在先拉取模型ollama pull model-name并确保配置中的name与模型标签完全一致例如deepseek-r1:1.5b不能简写为deepseek-r1响应缓慢Slow responses尝试更小的模型或确认 GPU 已被 Ollama 使用ollama ps可查看当前加载的模型与显存占用内存/显存不足Out of memory改用更小的量化版本例如ollama pull qwen2.5:7b-q4_0Q4 量化可显著降低资源占用若日志中出现Ollama Response Error字样可关注异常详情中的错误码与描述——这来自OllamaLLMClient对ollama.ResponseError的捕获处理ollama.py通常指向模型名称错误或服务未就绪。八、进一步探索完整安装与首次运行流程见 docs/docs/getting-started/quick-start.mdOllama 的更多进阶配置如自定义模型文件、GPU 设置可参考 docs/docs/installation/advanced_usage/ollama.md其他模型提供商OpenAI、DeepSeek、Tongyi 等的接入方式见 docs/docs/getting-started/providers/index.md仓库 configs 目录下也提供了对应 TOML 模板想进一步了解 Ollama 代理实现细节可直接阅读 packages/dbgpt-core/src/dbgpt/model/proxy/llms/ollama.py。【免费下载链接】DB-GPTopen-source agentic AI data assistant for the next generation of AI Data products.项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考