在现代人工智能领域,大语言模型(LLM)逐渐成为各种应用的核心,尤其是在自然语言处理和对话系统中。为了部署一个本地的大型语言模型,我们可以使用 ollama
作为模型管理工具,并通过 open-webui
提供可视化的用户界面。本文将介绍如何在 Ubuntu 系统下完成这一过程,并给出相应的代码示例。
环境准备
首先,确保你的 Ubuntu 系统已经安装了 Python 3 和 pip。你可以通过以下命令进行检查和安装:
# 检查Python版本
python3 --version
# 安装pip
sudo apt update
sudo apt install python3-pip
接下来,安装 Docker,因为 ollama
和 open-webui
都依赖于 Docker 来管理和运行容器。
# 安装Docker
sudo apt install docker.io
# 启动Docker并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
安装 Ollama
Ollama 是一个轻量级的工具,可以方便地下载和运行大型语言模型。你可以通过以下命令在 Ubuntu 上安装 Ollama:
# 下载并安装 Ollama
curl -sSfL https://ollama.com/download.sh | sh
安装完成后,你可以通过以下命令检查 Ollama 是否安装成功:
ollama --version
下载模型
使用 Ollama 下载所需的语言模型。例如,我们可以下载一个常用的 GPT-2 模型:
ollama create gpt2
启动 Web 界面
接下来,我们需要安装 open-webui
。你可以通过 pip 安装所需的依赖项:
# 安装 Flask 和其他依赖
pip install Flask Flask-SocketIO requests
然后,可以创建一个简单的 Flask 应用来作为 Web 界面。创建一个名为 app.py
的文件,并写入以下代码:
from flask import Flask, request, jsonify
from flask_socketio import SocketIO
import requests
app = Flask(__name__)
socketio = SocketIO(app)
OLLAMA_URL = "http://localhost:11434" # 请确认 Ollama 运行端口
@app.route('/generate', methods=['POST'])
def generate():
prompt = request.json.get('prompt', '')
response = requests.post(f"{OLLAMA_URL}/generate", json={"prompt": prompt})
return jsonify(response.json())
if __name__ == '__main__':
socketio.run(app, host='0.0.0.0', port=5000)
启动服务
现在,可以先启动 Ollama 的服务,然后启动 Web 服务:
# 启动 Ollama
ollama run gpt2
# 启动 Web 应用
python3 app.py
访问 Web 界面
在浏览器中打开 http://localhost:5000,这时你可以看到简单的 Web 界面。你可以通过输入提示词(prompt)来生成文本。
结语
通过上述步骤,我们成功地在 Ubuntu 环境下为 Ollama 和 Open Web UI 部署了一个大型语言模型。这个系统不仅可以用于文本生成,也可以扩展到聊天机器人、文本摘要等多种场景。随着技术的进步,将会有更多的功能和特性被引入到这些工具中,为用户提供更好的体验。希望这篇文章对于你的项目能有所帮助!