Ollama serve是一个 Ollama转发代理
用于为原生 Ollama 服务添加 API 密钥认证功能。该项目解决了 Ollama 官方不提供 API 密钥验证的问题,使您可以更安全地部署 Ollama 服务并防止未授权访问。
🧩 项目概述
Ollama 官方服务默认不提供 API 密钥认证机制,这意味着任何人只要知道 API 端点,就可以访问您的 Ollama 服务,存在安全隐患。 (Lyman Zhao lymanzhao - GitHub)
该项目通过 FastAPI 实现了一个简单的转发服务器,所有请求都需要有效的 API 密钥才能访问 Ollama 服务,从而增强了安全性。
🔧 核心功能
- API 密钥认证:所有请求都必须携带有效的 API 密钥。
- 多用户支持:支持多个 API 密钥,每个密钥关联到特定用户,便于区分不同用户的访问和使用情况。
- 会话管理:使用基于 IP 的信任系统,减少重复认证的需求。
- 客户端兼容性:兼容 LangChain 等客户端。
- 日志记录:详细记录所有请求和响应,便于监控和排查问题。
- 流式响应支持:完全支持 Ollama 的流式响应功能。
- 健康检查:提供健康检查端点来监控代理服务和后端 Ollama 服务的状态。 (Lyman Zhao lymanzhao - GitHub, lib-ai-app-examples-utils-fwk.md - uptonking/note4yaoo - GitHub)
🚀 安装与配置
环境要求:
- Python 3.8+
- 已安装并运行的 Ollama 服务
安装依赖:
pip install fastapi uvicorn httpx
配置文件:
创建 config.py
文件,并设置您的 API 密钥和 Ollama API 地址。例如:
# 设置 API 密钥
VALID_API_KEYS = ["your_api_key1", "your_api_key2"]
# 设置 Ollama API 地址
OLLAMA_API_URL = "http://localhost:11434"
运行服务:
uvicorn ollama_serve:app --host 0.0.0.0 --port 8000
启动后,您可以通过带有 API 密钥的请求访问代理服务,代理服务会将请求转发到原生 Ollama 服务,并返回响应。 (lib-ai-app-examples-utils-fwk.md - uptonking/note4yaoo - GitHub)
🔗 项目地址
您可以在 GitHub 上访问该项目的完整代码和文档: