Skip to main content
warning

本教程为社区贡献,不属于 Open WebUI 团队支持范围。它仅作为如何针对特定用例自定义 Open WebUI 的演示。想要贡献?请查看贡献教程。

🪄 特殊参数

在开发您自己的 工具 (Tools)函数 (Functions)过滤器 (Filters)Pipes动作 (Actions))、流水线 (Pipelines) 等时,您可以使用特殊参数来探索 Open-WebUI 提供的全部功能。

本页旨在详细说明每个特殊参数的类型和结构,并提供示例。

body

一个通常直接发送给模型的 dict。虽然它严格来说不是一个特殊参数,但为了方便参考将其包含在这里,因为它本身包含了一些特殊参数。

示例
{
"stream": true,
"model": "my-cool-model",
# 小写字符串,单词间以 - 分隔:这是模型的 ID
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "这张图片里有什么?"
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdYAAAGcCAYAAABk2YF[REDACTED]"
# 图像以 base64 编码数据传递
}
}
]
},
{
"role": "assistant",
"content": "这张图片看起来是 [REDACTED]"
}
],
"features": {
"image_generation": false,
"code_interpreter": false,
"web_search": false
},
"stream_options": {
"include_usage": true
},
"metadata": "[与 __metadata__ 完全相同的 dict]",
"files": "[与 __files__ 完全相同的 list]"
}

__user__

包含用户信息的 dict

请注意,如果定义了 UserValves 类,则必须通过 __user__["valves"] 访问其实例。否则,valves 键值将完全从 __user__ 中缺失。

示例
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"email": "cheesy_dude@openwebui.com",
"name": "Patrick",
"role": "user",
# role 可以是 `user` 或 `admin`
"valves": "[UserValve 实例]"
}

__metadata__

一个包含有关聊天、模型、文件等广泛信息的 dict

示例
{
"user_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"chat_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"message_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"session_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tool_ids": ["my_tool_id"],
"model_id": "my-cool-model"
}

__files__

包含当前会话中引用或上传的所有文件的 list

示例
[
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"user_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"filename": "my_file.pdf",
"meta": {
"content_type": "application/pdf",
"size": 123456
}
}
]

__event_emitter__

一个用于向前端发送事件的异步函数。请参阅事件教程

__event_call__

一个用于从前端请求交互式响应的异步函数。请参阅事件教程