1 简介
Open WebUI(网址是openwebui.com)是一个高度可扩展、功能强大且用户友好的自托管Web用户界面,专为完全离线操作设计,编程语言是python。它支持对接Ollama和OpenAI兼容的API的大模型。
Open WebUI在架构上是一种中间层,屏蔽了后端具体的大模型,最终对外体现为OpenAI兼容的API。
2 主要功能和特性
- 直观的界面:Open WebUI的聊天界面灵感来自于ChatGPT,确保了用户友好的体验。
- 响应式设计:在桌面和移动设备上都能享受无缝的体验。
- 快速响应:享受快速且响应迅速的性能。
- 轻松设置:使用Docker或Kubernetes(kubectl、kustomize或helm)无缝安装,提供无忧的体验。
- 代码语法高亮:通过语法高亮功能享受增强的代码可读性。
- 全面的Markdown和LaTeX支持:提升LLM体验,丰富互动。
- 本地RAG集成:支持检索增强生成(RAG)技术,将文档交互无缝集成到聊天体验中。
- 网络浏览能力:将网站无缝集成到聊天体验中,增强互动的丰富性和深度。
- 提示预设支持:使用聊天输入中的/命令即时访问预设提示,加速互动。
- RLHF注释:通过点赞和点踩赋予消息力量,促进人类反馈强化学习(RLHF)的数据集训练。
- 对话标记:分类和定位特定聊天,方便快速参考和简化数据收集。
- 模型管理:直接从Web UI中轻松下载或移除模型,创建Ollama模型。
- 多模型支持:无缝切换不同的聊天模型,进行多样化的互动。
3 API
Open WebUI的API接口文档是:
https://docs.openwebui.com/getting-started/api-endpoints
3.1 API 认证
访问API需要认证,在设置 -> 账号中获取API_KEY,或者直接使用JWT,放在HTTP Authorization头中。
3.2 聊天API
聊天API是一个OpenAI API兼容的API,真的和openai的聊天接口一模一样。
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": "Why is the sky blue?"
}
]
}'
3.3 获取大模型列表的API
curl -H "Authorization: Bearer YOUR_API_KEY" http://localhost:3000/api/models