Web 操作 Ollama API
以下是基于搜索结果整理的与 Web 操作 Ollama API 相关的项目和方法,涵盖了从 WebUI 到 API 集成的多种实现方式:
1. Open WebUI
- 简介:Open WebUI 是一个用户友好的 AI 界面,支持 Ollama 和 OpenAI 兼容 API。它内置了检索增强生成(RAG)的推理引擎,适合部署 AI 应用。
- 功能:
- 支持多种语言模型运行器(如 Ollama、OpenAI 等)。
- 提供桌面、移动设备的渐进式 Web 应用(PWA),支持离线访问。
- 可自定义 OpenAI API URL,连接 LMStudio、GroqCloud、Mistral 等。
- 安装方式:
- 通过 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
。 - 支持 GPU 加速:
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
。
- 通过 Docker 快速部署:
- 访问:安装完成后,通过
http://localhost:3000
访问 WebUI。
2. Flask + Ollama Web 应用
- 简介:通过 Flask 框架搭建一个简单的 Web 应用,与 Ollama 模型进行交互。
- 实现步骤:
- 安装 Flask:
pip install flask
。 - 创建 Flask 应用,调用 Ollama API 生成文本补全或对话补全。
- 通过 Web 界面发送请求,获取模型响应并显示在页面上。
- 安装 Flask:
- 示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14from flask import Flask, request, jsonify
import requests
app = Flask(__name__)
OLLAMA_API_URL = 'http://localhost:11434/api/generate'
def chat():
user_message = request.json.get('prompt')
response = requests.post(OLLAMA_API_URL, json={'model': 'qwen2.5:0.5b', 'prompt': user_message, 'stream': False})
return jsonify({'response': response.json().get('response')})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000) - 访问:启动 Flask 应用后,通过
http://localhost:5000/chat
发送 POST 请求与模型交互。
3. Ollama REST API 集成
- 简介:Ollama 提供了 RESTful API,支持生成文本、聊天对话、模型管理等功能。
- 主要 API 接口:
- 生成文本:
POST /api/generate
,用于生成指定模型的文本补全。 - 聊天对话:
POST /api/chat
,支持多轮对话,适用于聊天机器人场景。 - 模型管理:包括拉取模型(
POST /api/pull
)、删除模型(DELETE /api/delete
)、列出模型(GET /api/tags
)等。
- 生成文本:
- 示例:
- 生成文本补全:
1
2
3
4
5curl http://localhost:11434/api/generate -d '{
"model": "qwen2.5:0.5b",
"prompt": "介绍一下人工智能。",
"stream": false
}' - 聊天对话:
1
2
3
4
5
6
7curl http://localhost:11434/api/chat -d '{
"model": "qwen2.5:0.5b",
"messages": [
{"role": "user", "content": "什么是自然语言处理?"}
],
"stream": false
}'
- 生成文本补全:
- 适用场景:适合通过编程语言(如 Python、Java)集成到后端服务或桌面应用中。
4. Ollama WebUI Lite
- 简介:一个轻量级的 Ollama WebUI 项目,支持通过 API 访问 Ollama 模型。
- 功能:
- 提供简单的 Web 界面,用于与本地模型交互。
- 支持自定义模型参数和对话模板。
- 安装:
- 通过 GitHub 下载并部署:
git clone https://github.com/ollama-webui/ollama-webui-lite
。 - 修改配置文件以支持远程访问和自定义界面。
- 通过 GitHub 下载并部署:
- 访问:部署后通过浏览器访问
http://localhost:3000
使用 WebUI。
5. Docker 部署 Ollama + WebUI
- 简介:通过 Docker 容器化部署 Ollama 和 WebUI,简化安装和配置过程。
- 实现步骤:
- 安装 Docker。
- 拉取 Ollama 镜像:
docker run -d -p 11434:11434 --name ollama --restart always ollama/ollama:latest
。 - 拉取 WebUI 镜像并启动:
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
。
- 适用场景:适合需要快速部署和测试的场景,支持 GPU 加速。
总结
以上项目和方法涵盖了从 WebUI 到 API 集成的多种实现方式,适合不同场景和需求。如果需要更详细的代码示例或部署步骤,可以参考对应的来源链接。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Stone's Blog!
评论