API 端点
本指南提供了如何有效与 API 端点交互的关键信息,以便利用我们的模型实现无缝集成和自动化。请注意,这是一个实验性设置,未来可能会为了增强功能而进行更新。
身份验证
为了确保安全访问 API,身份验证是必需的 🛡️。您可以使用 Bearer Token 机制对 API 请求进行身份验证。请从 Open WebUI 的 设置 > 个人资料 中获取您的 API 密钥,或者使用 JWT (JSON Web Token) 进行身份验证。
Swagger 文档链接
important
请务必将 ENV 环境变量设置为 dev,以便访问这些服务的 Swagger 文档。如果没有此配置,文档将无法查看。
访问 Open WebUI 提供的不同服务的详细 API 文档:
| 应用程序 | 文档路径 |
|---|---|
| 主应用 (Main) | /docs |
值得注意的 API 端点
📜 获取所有模型
-
端点:
GET /api/models -
描述: 获取通过 Open WebUI 创建或添加的所有模型。
-
示例:
curl -H "Authorization: Bearer YOUR_API_KEY" http://localhost:3000/api/models
💬 聊天补全 (Chat Completions)
-
端点:
POST /api/chat/completions -
描述: 作为 OpenAI API 兼容的聊天补全端点,支持 Open WebUI 上的所有模型,包括 Ollama 模型、OpenAI 模型以及 Open WebUI Function 模型。
-
Curl 示例:
curl -X POST http://localhost:3000/api/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.1",
"messages": [
{
"role": "user",
"content": "天空为什么是蓝色的?"
}
]
}' -
Python 示例:
import requests
def chat_with_model(token):
url = 'http://localhost:3000/api/chat/completions'
headers = {
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json'
}
data = {
"model": "granite3.1-dense:8b",
"messages": [
{
"role": "user",
"content": "天空为什么是蓝色的?"
}
]
}
response = requests.post(url, headers=headers, json=data)
return response.json()
🦙 Ollama API 代理支持
如果您想直接与 Ollama 模型交互(包括生成嵌入或原始提示词流),Open WebUI 通过代理路由提供对原生 Ollama API 的透明透传。
- 基础 URL:
/ollama/<api> - 参考: Ollama API 文档
🔁 生成补全 (流式)
curl http://localhost:3000/ollama/api/generate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.2",
"prompt": "天空为什么是蓝色的?"
}'