以下是基于搜索结果整理的与 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
  • 访问:安装完成后,通过 http://localhost:3000 访问 WebUI。

2. Flask + Ollama Web 应用

  • 简介:通过 Flask 框架搭建一个简单的 Web 应用,与 Ollama 模型进行交互。
  • 实现步骤
    1. 安装 Flask:pip install flask
    2. 创建 Flask 应用,调用 Ollama API 生成文本补全或对话补全。
    3. 通过 Web 界面发送请求,获取模型响应并显示在页面上。
  • 示例代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from flask import Flask, request, jsonify
    import requests

    app = Flask(__name__)
    OLLAMA_API_URL = 'http://localhost:11434/api/generate'

    @app.route('/chat', methods=['POST'])
    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
      5
      curl http://localhost:11434/api/generate -d '{
      "model": "qwen2.5:0.5b",
      "prompt": "介绍一下人工智能。",
      "stream": false
      }'
    • 聊天对话:
      1
      2
      3
      4
      5
      6
      7
      curl 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
    • 修改配置文件以支持远程访问和自定义界面。
  • 访问:部署后通过浏览器访问 http://localhost:3000 使用 WebUI。

5. Docker 部署 Ollama + WebUI

  • 简介:通过 Docker 容器化部署 Ollama 和 WebUI,简化安装和配置过程。
  • 实现步骤
    1. 安装 Docker。
    2. 拉取 Ollama 镜像:docker run -d -p 11434:11434 --name ollama --restart always ollama/ollama:latest
    3. 拉取 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 集成的多种实现方式,适合不同场景和需求。如果需要更详细的代码示例或部署步骤,可以参考对应的来源链接。