一、前言
在当今快速发展的人工智能时代,大语言模型(LLM)如 GPT-3、ChatGPT 和其他变体正在被广泛应用于各种领域。本文将指导您如何使用 Ollama 工具快速部署一个基于 LLM 的 Web 可视化对话机器人。我们将涵盖从安装 Ollama 到创建和部署一个可与用户交互的对话机器人所需的所有步骤。
二、Ollama 简介
Ollama 是一个开源工具,旨在简化大型语言模型的管理和使用。它允许开发者轻松部署和运行 LLM,而无需深入了解底层复杂的架构。此外,Ollama 提供了友好的 CLI(命令行界面)和 API,使得模型的使用更加直观。
三、环境准备
3.1 安装 Ollama
在开始之前,请确保您的系统上安装了 Docker。Ollama 基于 Docker 来运行 LLM。接下来,我们将安装 Ollama。
-
安装 Ollama:
根据您的操作系统,使用以下命令进行安装:
- 对于 macOS 用户,您可以通过 Homebrew 安装:
brew install ollama/tap/ollama
- 对于 Windows 用户,您可以使用 WSL(Windows Subsystem for Linux)或直接下载二进制文件进行安装。
-
验证安装:
安装完成后,您可以通过以下命令验证 Ollama 是否安装成功:
ollama --version
3.2 创建一个新的项目
接下来,我们将创建一个新的项目文件夹,以便组织我们的代码和资源。
mkdir my_chatbot
cd my_chatbot
四、部署大语言模型
4.1 拉取 LLM 模型
Ollama 提供了多种预训练的 LLM。您可以通过以下命令拉取所需的模型,例如 Ollama 的 GPT 模型:
ollama pull gpt
4.2 运行模型
拉取模型后,您可以通过以下命令启动模型:
ollama serve gpt
这将启动一个服务器,您可以在本地与模型进行交互。默认情况下,模型会运行在 localhost:8080
。
五、创建 Web 应用
5.1 安装 Flask
接下来,我们将创建一个简单的 Web 应用来与 LLM 进行交互。我们将使用 Flask 框架来搭建这个 Web 应用。
在项目文件夹中创建一个新的 Python 虚拟环境,并安装 Flask:
python -m venv venv
source venv/bin/activate # 对于 Windows 用户使用 venv\Scripts\activate
pip install Flask requests
5.2 编写 Flask 应用
在项目文件夹中创建一个 app.py
文件,编写以下代码:
from flask import Flask, render_template, request, jsonify
import requests
app = Flask(__name__)
# 设置 Ollama 模型 API 的 URL
OLLAMA_API_URL = 'http://localhost:8080/chat/completions'
@app.route('/')
def home():
return render_template('index.html')
@app.route('/chat', methods=['POST'])
def chat():
user_message = request.form['message']
response = requests.post(OLLAMA_API_URL, json={'message': user_message})
if response.status_code == 200:
bot_message = response.json().get('response')
return jsonify({'message': bot_message})
else:
return jsonify({'message': 'Error: Unable to get response from the model.'})
if __name__ == '__main__':
app.run(debug=True)
5.3 创建 HTML 模板
在项目文件夹中创建一个 templates
文件夹,并在其中创建 index.html
文件,编写以下 HTML 代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ollama Chatbot</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
body { font-family: Arial, sans-serif; }
#chat-box { border: 1px solid #ccc; padding: 10px; height: 400px; overflow-y: scroll; }
.message { margin: 5px; }
.user { color: blue; }
.bot { color: green; }
</style>
</head>
<body>
<h1>Ollama Chatbot</h1>
<div id="chat-box"></div>
<input type="text" id="message" placeholder="Type your message here..." />
<button id="send">Send</button>
<script>
$(document).ready(function() {
$('#send').click(function() {
var message = $('#message').val();
$('#chat-box').append('<div class="message user">You: ' + message + '</div>');
$.post('/chat', { message: message }, function(data) {
$('#chat-box').append('<div class="message bot">Bot: ' + data.message + '</div>');
$('#chat-box').scrollTop($('#chat-box')[0].scrollHeight);
});
$('#message').val('');
});
});
</script>
</body>
</html>
六、运行 Web 应用
6.1 启动 Flask 应用
在终端中,确保虚拟环境已激活,并运行以下命令启动 Flask 应用:
python app.py
您将在终端中看到类似以下输出:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
6.2 访问 Web 应用
打开浏览器,访问 http://127.0.0.1:5000/
,您将看到聊天界面。在输入框中输入消息并点击“Send”按钮,您的消息将发送给 Ollama 模型,并在聊天框中显示模型的回复。
七、总结
本文详细介绍了如何基于 Ollama 工具部署一个 LLM 大语言模型的 Web 可视化对话机器人。通过简单的步骤,我们实现了模型的拉取、运行和与用户的交互。您可以在此基础上扩展更多功能,例如持久化聊天记录、引入用户身份验证等。