大叔资源备忘录

ubuntu23+ollama+openwebui+llama2-chinese模型+llava模型:布署本地私有化ChatGPT

现在开源大模型一个接一个的,而且各个都说自己的性能非常厉害,但是对于我们这些使用者,用起来就比较尴尬了。因为一个模型一个调用的方式,先得下载模型,下完模型,写加载代码,麻烦得很。

对于程序的规范来说,只要东西一多,我们就需要一个集中管理的平台,如管理python 的pip,管理js库的npm等等,而这种平台是大家争着抢着想实现的,这就有了Ollama

Ollama

Ollama 对于管理开源大模型是认真的,使用起来非常的简单,先看下如何使用:

github地址

linux 下的安装:

curl -fsSL https://ollama.com/install.sh | sh

等进度条跑完,如果不出意外的话,Ollama就已经安装成功了。

用命令试一试,比如我们想用下Dolphin Phi:

ollama run dolphin-phi

提示如下:

pulling manifest  pulling 4eca7304a07a... 100% 
▕█████████████████████████████████████████████████████████████████████
██████████████████████████▏ 1.6 GB                          pulling 876a8d805b60... 100% ▕
██████████████████████████████████████████████████████████████████████
█████████████████████████▏  10 KB                          pulling a47b02e00552... 100% ▕
██████████████████████████████████████████████████████████████████████
█████████████████████████▏  106 B                          pulling 8b586b146d99... 100% ▕
██████████████████████████████████████████████████████████████████████
█████████████████████████▏   40 B                          pulling f02dd72bb242... 100% 
▕█████████████████████████████████████████████████████████████████████
██████████████████████████▏   59 B                          pulling c87a43ded80f... 100% 
▕█████████████████████████████████████████████████████████████████████
██████████████████████████▏  555 B                          verifying sha256 digest  writing manifest  
removing any unused layers  success  >>>

有没有一种使用docker的感觉,Ollama 帮我们把大模型下了,还帮我们做了适配,在提示符下就可以使用了:

>>> hi 

>>> Hello! How may I assist you today? Do you have any questions or need help with anything specific? I'm here to provide information and support for any  inquiries you might have.

速度相当的快,但是这是控制台上测试使用的,还是不方便,Ollama还提供了api的方式,Ollama 在安装成功以后,就 已经建立了11434端口:

curl http://localhost:11434/api/generate -d '{   "model": "dolphin-phi",   "prompt":"Why is the sky blue?" }'

或者 对话模式:

curl http://localhost:11434/api/chat -d '{   "model": "mistral",   "messages": [     { "role": "user", "content": "why is the sky blue?" }   ] }'

有了api的方式,那想象空间就更大了,让他也想chatgpt 一样,用网页进行访问,还能选择已经安装的模型。

但稍等一下,Ollama的默认配置是只有本地才可以访问,需要配置一下:

找到配置文件:/etc/systemd/system/ollama.servic

添加 Environment="OLLAMA_HOST=0.0.0.0:11434"

结果文件如下:

... [Service]
 Environment="OLLAMA_HOST=0.0.0.0:11434" ExecStart=/usr/bin/ollama serve
 ...

重启:

systemctl daemon-reload
systemctl restart ollama

这样,在外网就能够使用ip的方式进行访问。

Open WebUI

Open WebUI 适配了Ollama接口,提供了web的方式来访问Ollama的API,用法也非常的简单,用docker的安装方式:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

如果不是和Ollama 不是安装在同一台下,需要参考github

安装完成后,用浏览器 http://localhost:3000或者 ip:3000 打开Open WebUI。就可以看到Open WebUI的界面了。

体验了下Open WebUI,功能还是很完善的,如果安装有问题,可以评论区见。

使用OpenAI

如果你有OpenAI 的key,把key设置到OPENAI_API_KEY 中,这样模型就会出现openai的模型,如下:

选择OpenAI的模型,就可以使用相应模型的回答了。

退出移动版