【LLM】三、open-webui+ollama搭建自己的聊天机器人

系列文章目录

往期文章回顾:

【LLM】二、python调用本地的ollama部署的大模型

【LLM】一、利用ollama本地部署大模型


目录

前言

一、open-webui是什么

二、安装

1.docker安装

2.源码安装

三、使用

四、问题汇总

总结



前言

前面的文章,我们已经学习了如何在本地搭建并调用自己大模型,今天我们的主要内容是通过open-webui+Ollama来搭建一个聊天机器人的前端页面。


一、open-webui是什么

官网地址:open- webUI

Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 WebUI,旨在完全离线运行。它支持各种 LLM 运行器,包括 Ollama 和 OpenAI 兼容 API。

二、安装

1.docker安装

这里直接参考官方文档,安装即可。这里我推荐使用下面这条命令:

bash 复制代码
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

其中,涉及到的参数解释如下:

  • -p 端口映射:将本地机器的端口 3000 映射到容器内的端口 8080。这意味着你可以通过访问 http://localhost:3000 来访问运行在容器内的服务。如果你的Ollama监听的端口是其他的,比如1001,那就改为-p 1001:8000即可,以此类推
  • -e OLLAMA_BASE_URL=https://example.com 是添加我们的Ollama服务,http://example.com改为自己的服务地址即可
    • v 目录挂载:将本地的 open-webui 卷映射到容器内的 /app/backend/data 目录。这用于持久化数据,确保即使容器停止或重新启动,数据也不会丢失。注意,open-webui不是固定的,你可以设置为任何存在的目录
  • --name 起名:为容器指定一个名称,如 open-webui,可通过docker ps -a 来查看所有的容器状况
  • --restart: 设置容器的重启策略,若为 always,这意味着容器如果停止(例如由于崩溃或系统重启),Docker 会自动重启它。
  • 其余参数用默认的即可

2.源码安装

如果你不想用docker的方式安装,那就自己用源码去编译安装,参考链接为源码安装

三、使用

  • 按照上述方式部署成功后,在浏览器输入http:localhost:3000之后,首先会先让你注册,注册时,邮箱可以随便填,填123@123.com都可以,注册并登陆成功后进入如下界面:
  • 默认情况下界面时英文状态,点击红框中的设置键进入设置界面,如下:

在通用里选择语言为中文然后点击保存即可汉化。

  • 在连接里我们可以绑定open AI的密钥或者我们用ollama自己部署的本地模型,如下:

这里我用的是Ollama服务,对应的URL即为我们docker 启动命令里的-e OLLAMA_BASE_URL=这个参数,如果启动命令里没指定也可以在这里加入。

  • 设置完这里之后我们就可以回到主界面进行使用,先选择我们要调用的模型,如下:

点击红框中的按钮即可选择我们本地已有的模型,选择一个然后即可开始对话,同时,聊天机器人窗口也会在左下方保存,如上图中的qwen2_7b即为我自己的聊天机器人窗口。

四、问题汇总

1、第一次启动容器之后,在浏览器输入http:localhost:3000,发现进入失败,容器也直接崩溃重启,通过打印docker 日志(docker logs 容器ID),爆出如下错误: ​​​​​​​

解决办法:

docker启动时,命令改为如下:

bash 复制代码
docker run -d -p 3000:8080 -e HF_ENDPOINT=https://hf-mirror.com -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

即增加一条指令:-e HF_ENDPOINT=https://hf-mirror.com

2、当在设置中添加Ollama的URL时没有生效

在如下设置里添加Ollama的URL后,点击保存发现也没有生效

解决办法:

用以下命令重新启动容器

bash 复制代码
docker restart 容器ID(通过docker ps -a查询容器ID)

总结

以上就是本篇的全部内容,如有问题,欢迎评论区交流,或+企鹅群:995760755交流,如觉得有用,直接三连带回家。🐶

相关推荐
liulilittle16 分钟前
为什么需要回程闲置保护?
ai·llm·prompt·agent·tools·subagent·opencode
七牛开发者33 分钟前
HarnessDev:让 LLM 自己创建并迭代 Agent Harness
chatgpt·llm·agent
BehaviourBlogs38 分钟前
ChatGPT Work 推出个人写作风格学习功能:从「通用助手」到「个人化写作代理」
gpt·aigc·ai编程
ever_up9731 小时前
LangChain基础知识概述1
人工智能·python·langchain
全栈弄潮儿1 小时前
中级开发者用 AI,最容易掉进的 5 个坑
aigc·openai·ai编程
智码看视界1 小时前
Day68-结构化Prompt设计:XML标签法/Markdown法/JSON Schema
prompt·markdown·json schema·spring ai·结构化prompt·xml标签
python零基础入门小白2 小时前
LangGraph智能体实战:如何用Langfuse构建AI运行时全链路可观测系统?
人工智能·学习·ai·chatgpt·程序员·大模型·智能体
必须会一定会2 小时前
GPT-6 Astra 官方基准与 AI 编程能力:ARC-AGI-3、Terminal-Bench 4.0、长上下文评测
人工智能·gpt·agi
Java后端的Ai之路2 小时前
LangChain Deep Agents 从入门到企业实战
开发语言·人工智能·python·langchain·deepagents
LayZhangStrive2 小时前
Prompt - 如何生成贴合我们业务需求的有效prompt
ai·prompt·agent·提示词