佛系程序员
首页
栏目
标签
归档
关于
友链
佛系程序员
首页
栏目
标签
归档
友链
关于
在 LobeChat 中接入你本地运行的 Ollama 模型-心理模型
学习笔记
网站开发
发布日期: 2025-05-29 19:52:33
喜欢量: 8 个
阅读次数:
111
本地测试
线上已经 运行了chat.yyii.info, 这是一个 LobeChat 项目, 可以填 192.168.x.x:11434 连接本地的模型吗? 问:“我可以在 LobeChat 的线上版本中,接入我本地运行的 Ollama 模型吗?” 答案是: 默认情况下不可以,原因如下: 1. 本地 Ollama 服务是运行在你内网(如 192.168.x.x) 而 LobeChat 的线上版本(如 chat.lobehub.com)是部署在互联网上的。 它无法直接访问你局域网的 Ollama 服务,除非你: 将本地服务部署到公网(有 IP 地址或域名); 或通过内网穿透将本地接口暴露出去。 (1、将本地的模型的接口代理地址暴露出去。2、将本地搭建的服务地址暴露出去) 如何在本地安装,ollama, 请看 [本地安装 ollama] (https://amtb.info/show/MTcw) ,已经安装的,可以略过。 ## 使用ngrok转发 windows下载ngrok后,注册获得token ```ngrok config add-authtoken <你注册后获得的token>``` ```Authtoken saved to configuration file: C:\Users\Administrator\AppData\Local/ngrok/ngrok.yml``` 如果你要转发到ollama运行起来的地址:http://127.0.0.1:11434,用以下命令 ```bash ngrok http 11434``` 如果你要转发到ollama运行起来的地址:http://192.168.50.147:11434,用以下命令: ```bash ngrok http 192.168.50.147:11434``` 得到类似这样的结果: Web Interface http://127.0.0.1:4040 Forwarding https://f345-185-254-93-163.ngrok-free.app -> http://192.168.50.147:11434 这样 ngrok 的公网地址就会映射到你局域网内的机器上运行的 Ollama 接口了。 ## 线上已经布署的chat.yyii.info, , 连接本地的模型: 填写设置,重要!(说明:我的本地只有一个 心理咨询的模型。) 一开始,我填错了,  应填写:本地ollama list获得的名称,全部复制,不能只复制一段。 ``` C:\Users\Administrator>ollama list NAME ID SIZE MODIFIED ALIENTELLIGENCE/psychologistv2:latest 8e8c1d243625 4.7 GB 6 weeks ago ```  这个名称很长,可以再设置短一点:Model Display Name 填写自定义的名称:  填写好之后,check,会报错,没关系  在check时,本地的ollama serve的窗口,会有POST的提示,就说明连通了。  因为他默认是检查 deepseek -r1, 本地没有拉取那个模型,就报错了。 最后看一下聊天效果。  聊天时,这个窗口一直打开着,  这个ngrok也要一直打开着,  看一下问技术问题是什么效果。  ## 本地运行的LobeChat, 当然可以连接本地的模型: 如果线上的会了,本地更没问题了。 是的 ✅,**你完全可以在 LobeChat 中接入你本地运行的 Ollama 模型(例如你现在的 `ALIENTELLIGENCE/psychologistv2:latest`)**,前提是: * LobeChat 所在的服务器可以访问你运行 Ollama 的机器; * Ollama 服务已正确启动(你已经运行了 `ollama serve`); * 网络上可以访问 Ollama 的接口 `http://<your-ip>:11434`。 --- ## ✅ 一、LobeChat 接入本地 Ollama 的步骤 ### 🧩 Step 1:确保 Ollama 正在运行 你已经通过命令: ```bash ollama serve ``` ```bash curl http://127.0.0.1:11434 ollama list ollama run ALIENTELLIGENCE/psychologistv2:latest``` 启动了服务,默认监听在: ``` http://127.0.0.1:11434 ``` 如果你想让 LobeChat(在别的设备上)访问 Ollama,需要改成监听在所有网卡上: ### 👉 启动命令改为: ```bash ollama serve --host 0.0.0.0 ``` 如果这句命令用不了,则临时使用: ```set OLLAMA_HOST=0.0.0.0:11434 ollama serve``` 这样 Ollama 会监听在 0.0.0.0:11434,即 所有网卡接口都可访问 这会让 Ollama 在 `http://<你的内网IP>:11434` 上监听。 你可以通过命令查看本机 IP: ```bash ipconfig ``` 内网IP为: IPv4 地址 . . . . . . . . . . . . : 192.168.50.147 我在本地Mac是这样运行的: (base) mac@vip lobe-chat % nvm use 18 Now using node v18.20.3 (npm v10.7.0) (base) mac@vip lobe-chat % pnpm run dev > @lobehub/chat@1.88.14 dev /Users/mac/data/aiProjects/lobe-chat > next dev --turbopack -p 3010 ▲ Next.js 15.3.2 (Turbopack) - Local: http://localhost:3010 - Network: http://192.168.50.170:3010 - Environments: .env.local (请参照官网的命令,[本地开发环境设置](https://lobehub.com/zh/docs/development/start)使用 bun ) Mac: curl -fsSL https://bun.sh/install | bash as Bun requires macOS 12 or later. 如果当前开发环境运行正常,不建议为了运行 Bun 而专门升级系统。您可以考虑使用其他替代工具,如 Node.js + npm/yarn 来继续开发。 ### 🧩 Step 2:在 LobeChat 添加 Ollama 作为自定义模型提供者 1. 打开 LobeChat 页面 2. 点右下角的 ➕ 添加模型 / 数据源 3. 选择「自定义模型」或「自定义 API」 4. 填入以下信息: | 字段 | 填写内容 | | -------- | ----------------------------------------------------- | | 类型 | `Ollama` | | Endpoint | `http://<你的IP>:11434` 例如 `http://192.168.1.100:11434` | | 模型名称 | `ALIENTELLIGENCE/psychologistv2:l:latest` (与你本地的模型名保持一致) | | 其他设置 | 可以保留默认,或按需填写 | --- ### 🛡️ 注意事项: * 确保你的电脑 **防火墙允许 11434 端口入站连接**; * 如果 Ollama 与 LobeChat 在 **同一台机器**,你可以直接用 `http://127.0.0.1:11434`; * 模型名称必须与 `ollama list` 中完全一致,包括大小写与版本(`:latest` 可以省略)。 --- ## ✅ 测试方法: 完成后你就可以在 LobeChat 中看到该模型作为对话入口了,可以直接像和 ChatGPT 聊天一样用。 ## 错误排查 在设置: ```bash ollama serve --host 0.0.0.0 ``` 报错: ``` Error: unknown flag: --host ``` 说明你当前使用的 **Ollama 版本(v0.6.5)并不支持 `--host` 这个参数**,也就是说,不能通过命令行显式设置监听地址。 --- ## ✅ 正确做法:使用环境变量设置监听地址 你可以通过环境变量 `OLLAMA_HOST` 来设置 Ollama 的监听地址。 ### ✅ 方法一:临时在命令行中设置(推荐测试用) 在 Windows CMD 中运行: ```bash set OLLAMA_HOST=0.0.0.0:11434 ollama serve ``` 这样 Ollama 会监听在 `0.0.0.0:11434`,即 **所有网卡接口都可访问**。 然后你就可以在 LobeChat 的服务器中配置: ```plaintext http://<你的Windows机器内网IP>:11434 ``` 根据官网提示,我又添加了一个环境变量: 变量名:OLLAMA_ORIGINS 变量值:* --- ## 🧠 小提示:如何查看你的内网 IP 地址 运行命令: ```bash ipconfig ``` 查找你使用的网卡对应的 `IPv4 地址`,例如: ```plaintext IPv4 Address. . . . . . . . . . . : 192.168.1.123 ``` 那么 Ollama 就应该是运行在: ```plaintext http://192.168.1.123:11434 ``` --- ## ✅ 方法二:设置为系统环境变量(长期使用) 1. 打开系统环境变量设置(系统 → 高级系统设置 → 环境变量) 2. 新建一个用户变量或系统变量: | 名称 | 值 | | ------------- | --------------- | | `OLLAMA_HOST` | `0.0.0.0:11434` | 3. 重启终端,再运行: ```bash ollama serve ``` --- ## 🚀 最后确认: * ✅ 在 Windows 上运行 `ollama serve` 并监听 `0.0.0.0:11434` * ✅ LobeChat 的服务器访问 `http://<Windows内网IP>:11434` * ✅ 模型名正确填写为 `ALIENTELLIGENCE/psychologistv2:latest` 你就可以在 LobeChat 中使用本地模型了! --- 需要我帮你测试远程连通性命令(例如 curl 测试)或写个环境变量设置脚本吗? -- 下面的内容,关于二次开发,他写了一个presets.json, .env.local之后,运行起来非常慢。 感觉不正确,需再翻阅官方文档,进行二次开发。 非常棒 ✅ 我现在就为你生成以下配置和文件: --- ## ✅ 1. `presets.json`(角色定义文件) 这个文件用于配置 5 个角色的行为、语言风格、头像和功能背景。你可以将该内容放到 `src/config/presets.json`(或 `public/presets.json`,视 LobeChat 版本而定): ```json [ { "id": "psychology_consultant", "avatar": "🌸", "name": "心理顾问", "prompt": "你是一位温柔、耐心的心理咨询师,擅长倾听和疏导用户的情绪。请以共情、细致的方式与用户对话,帮助他们找到内在力量。", "description": "情绪困扰、焦虑压力,请来聊聊吧" }, { "id": "career_coach", "avatar": "💼", "name": "职场教练", "prompt": "你是一位理性、实用的职场教练,专注于为用户提供职业发展建议、转行策略和面试指导。请结合现实案例进行分析。", "description": "找工作、转行、晋升问题,帮你理清思路" }, { "id": "relationship_advisor", "avatar": "❤️", "name": "情感咨询", "prompt": "你是一位善于倾听的情感顾问,擅长处理恋爱、婚姻、人际关系问题。请用现实与同理心结合的方式给予建议。", "description": "恋爱婚姻、亲密关系,帮你理顺内心" }, { "id": "study_assistant", "avatar": "📚", "name": "学习助理", "prompt": "你是一位严谨、逻辑清晰的学习助理,善于为用户制定学习计划、优化知识结构,帮助其高效成长。", "description": "学业规划、学习方法、自律提升助手" }, { "id": "wellness_guide", "avatar": "🍵", "name": "养生顾问", "prompt": "你是一位生活方式优化专家,擅长从中医、自然养生角度为用户提供健康建议。请温和、稳重地提供适合日常的建议。", "description": "养生建议、饮食作息、自然疗法,轻松聊" } ] ``` --- ## ✅ 2. `.env.local` 文件(百川开发环境配置) 在你项目根目录下新建 `.env.local` 文件,内容如下: ```env ENABLED_OPENAI=0 # 初始配置中禁用 OpenAI 模型 ENABLED_BAICHUAN=1 ENABLED_OLLAMA=0 # 初始配置中禁用 Ollama 模型 BAICHUAN_API_KEY=<your-baichuang-api-key> OPENAI_API_BASE_URL=https://api.baichuan-ai.com/v1 NEXT_PUBLIC_AGENT_STORE_URL="" # 禁止远程Agent索引加载 ACCESS_CODE=lobe-chat # 设置访问密码,防止API Key泄露 DISABLE_AUTO_LOAD_OPENAI=1 # 禁止自动加载OpenAI模型,需要在设置中手动启用 ``` 👉 请将 `你的百川APIKey` 替换为你的实际密钥。 但这样后,如果你 手动设置再打开openai, ollama,会报错,需修改: src/config/llm.ts 把!==‘0’ 修改为 === ‘1’, 169行:ENABLED_OPENAI: process.env.ENABLED_OPENAI === ‘1’, 235行: ENABLED_OLLAMA: process.env.ENABLED_OLLAMA === '1', 但是,修改了这个文件,每次项目git pull时,则要先 git checkout src/config/llm.ts,再手动修改。 --- ## ✅ 3. 本地开发建议 确保你已完成以下步骤: ### 📦 安装依赖(只需首次) ```bash npm install 或 pnpm install ``` ### 🚀 启动开发模式 ```bash npm run dev 或 pnpm run dev ``` ### 🔗 配置 ngrok(让你可远程访问本地服务) ```bash ngrok http 3000 ``` 然后你将获得一个形如 `https://abc123.ngrok.io` 的外链地址,将其用于上线版本的 `.env` 配置中即可。 --- ## 📍 下一步建议 1. ✅ 将 `presets.json` 放入正确目录(如 `src/config` 或 `public`) 2. ✅ `.env.local` 放在项目根目录 3. ✅ 运行 `pnpm run dev` 启动项目 4. ✅ 前往页面测试五个角色效果(可在首页角色选择处查看) --- 需要我再帮你做以下哪一项? * 帮你配置 ngrok 的自定义域名? * 提供角色头像图片支持(如果想用图片而不是 emoji)? * 提供部署版本构建命令(用于未来部署到服务器)? 只管说,我可以继续协助你!💪
文章作者:
yyii
文章链接:
https://www.amtb.info/show/MjE4
版权声明:
本博客所有文章除特別声明外,转载请注明来源
佛系程序员
!
分享:
搜索