跳至主要内容

Open WebUI

本指南将引导您连接 Open WebUI 到 LiteLLM。使用 LiteLLM 与 Open WebUI 结合使用,团队可以

  • 在 Open WebUI 上访问 100 多个 LLM
  • 跟踪支出/使用情况,设置预算限制
  • 将请求/响应日志发送到诸如 langfuse、s3、gcs buckets 等的日志记录目的地。
  • 设置访问控制,例如控制 Open WebUI 可以访问哪些模型。

快速入门

1. 启动 LiteLLM 和 Open WebUI

2. 在 LiteLLM 上创建一个虚拟密钥

虚拟密钥是允许您向 LiteLLM Proxy 进行身份验证的 API 密钥。我们将创建一个虚拟密钥,允许 Open WebUI 访问 LiteLLM。

2.1 LiteLLM 用户管理层级

在 LiteLLM 上,您可以创建组织、团队、用户和虚拟密钥。对于本教程,我们将创建一个团队和一个虚拟密钥。

  • 组织 - 组织是团队的集合。(美国工程部、欧盟开发者工具)
  • 团队 - 团队是用户的集合。(Open WebUI 团队、数据科学团队等)
  • 用户 - 用户是个人用户(员工、开发者,例如 krrish@litellm.ai
  • 虚拟密钥 - 虚拟密钥是允许您向 LiteLLM Proxy 进行身份验证的 API 密钥。虚拟密钥与用户或团队相关联。

创建团队后,您可以邀请用户加入团队。您可以阅读更多关于 LiteLLM 的用户管理 信息

2.2 在 LiteLLM 上创建一个团队

导航到 https://:4000/ui 并创建一个新的团队。

2.2 在 LiteLLM 上创建一个虚拟密钥

导航到 https://:4000/ui 并创建一个新的虚拟密钥。

LiteLLM 允许您指定 Open WebUI 上可用的模型(通过指定密钥将具有访问权限的模型)。

3. 将 Open WebUI 连接到 LiteLLM

在 Open WebUI 上,导航到设置 -> 连接并创建到 LiteLLM 的新连接

输入以下详细信息

  • URL: https://:4000 (您的 litellm 代理基本 URL)
  • 密钥: your-virtual-key (您在上一步骤中创建的密钥)

3.1 测试请求

在左上角,选择模型,您应该只看到您在步骤 2 中授予密钥访问权限的模型。

选择模型后,输入您的消息内容并单击 提交

3.2 跟踪使用情况和支出

基本跟踪

发出请求后,导航到 LiteLLM UI 中的 日志 部分,以查看模型、使用情况和成本信息。

按用户跟踪

要跟踪每个 Open WebUI 用户的支出和使用情况,请配置 Open WebUI 和 LiteLLM

  1. 启用 Open WebUI 中的用户信息标头

设置 Open WebUI 的以下环境变量以在请求标头中启用用户信息

ENABLE_FORWARD_USER_INFO_HEADERS=True

有关更多详细信息,请参阅 环境变量配置指南

  1. 配置 LiteLLM 以解析用户标头

将以下内容添加到您的 LiteLLM config.yaml 以指定用于用户跟踪的请求标头映射

general_settings:
user_header_mappings:
- header_name: X-OpenWebUI-User-Id
litellm_user_role: internal_user
- header_name: X-OpenWebUI-User-Email
litellm_user_role: customer

ⓘ 可用的跟踪选项

您可以在 user_header_mappings 中的 header_name 中使用以下任何标头

  • X-OpenWebUI-User-Id
  • X-OpenWebUI-User-Email
  • X-OpenWebUI-User-Name

这些可能为托管给您非常了解的小组用户提供更好的可读性和更轻松的心理归属。

根据您的需要进行选择,但请注意,在 Open WebUI 中

  • 用户可以修改自己的用户名
  • 管理员可以修改任何帐户的用户名和电子邮件

此视频介绍了如何将 openweb ui 标头映射到 LiteLLM 用户角色



在 Open WebUI 上渲染 thinking 内容

Open WebUI 需要使用 <think></think> 标签来渲染推理/思考内容。为了为特定模型渲染此内容,您可以使用 merge_reasoning_content_in_choices litellm 参数。

示例 litellm config.yaml

model_list:
- model_name: thinking-anthropic-claude-3-7-sonnet # Bedrock Anthropic
litellm_params:
model: bedrock/us.anthropic.claude-3-7-sonnet-20250219-v1:0
thinking: {"type": "enabled", "budget_tokens": 1024}
max_tokens: 1080
merge_reasoning_content_in_choices: true
- model_name: vertex_ai/gemini-2.5-pro # Vertex AI Gemini
litellm_params:
model: vertex_ai/gemini-2.5-pro
thinking: {"type": "enabled", "budget_tokens": 1024}
merge_reasoning_content_in_choices: true

在 Open WebUI 上进行测试

在模型下拉菜单中选择 thinking-anthropic-claude-3-7-sonnet

其他资源

将自定义标头添加到支出跟踪

您可以添加自定义标头到请求以跟踪支出和使用情况。

litellm_settings:
extra_spend_tag_headers:
- "x-custom-header"

您可以添加自定义标头到请求以跟踪支出和使用情况。