【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交流,如觉得有用,直接三连带回家。🐶

相关推荐
AI智东西3 分钟前
150+个流行的Instagram标签(及如何找到并正确使用它们)
人工智能·ios·chatgpt·iphone
正在走向自律27 分钟前
4.提升客户服务体验:ChatGPT在客服中的应用(4/10)
人工智能·机器学习·chatgpt·职场和发展
星如雨グッ!(๑•̀ㅂ•́)و✧30 分钟前
LLM Prompt
人工智能·chatgpt·prompt
akhfuiigabv1 小时前
使用LangChain创建简单的语言模型应用程序【快速入门指南】
java·python·语言模型·langchain
风雨中的小七2 小时前
解密Prompt系列38.多Agent路由策略
prompt
爱研究的小牛11 小时前
Pix2Pix——图像转换(图像到图像),通过输入的一种图像生成目标图像
人工智能·深度学习·aigc
洛阳泰山15 小时前
Chainlit集成Langchain并使用通义千问AI知识库高级检索(多重查询)网页对话应用教程
人工智能·python·langchain·llm·chainlit
GPT-Hub17 小时前
GPT-4与ChatGPT:人工智能对话的新时代【含国内可用gpt】
人工智能·gpt·自然语言处理·chatgpt·agi
强heaven19 小时前
【Python笔记】PyCharm大模型项目环境配置
python·pycharm·aigc
悟空不是猴子1 天前
VS Code终端命令执行后老是出现 __vsc_prompt_cmd_original: command not found
windows·vscode·prompt·bash