Route(路由)
- id: 路由的唯一标识,多个路由不可重复,在产出相关日志时会带上该 id 作为 route_id
- name:路由名称,无实际作用,但建议将用户配置的路由名称(如有)作为 name 传递,以供排查问题时使用
- prefix:路由前缀,必须以 / 开头,后续内容只可以包含字母和数字,多个路由不可重复
- upstream:配置上游服务地址
- auth:配置访问该路由时需要提供的认证信息
- capabilities:配置该路由所启用的能力
- allow_unknown_routes:(已弃用)请使用
capabilities配置中的forward-unknown能力代替 - labels:自定义标签,使用
google.protobuf.Struct格式(key 必须为 string、value 支持任意的 JSON 兼容数据结构)。标签会在日志输出时原样携带,便于为路由附加业务侧需要持久化存储的标签。【标签总数上限为 10 个】 - plugins:配置该路由的特定插件配置
Capabilities
Capabilities 用于控制路由所支持的特定能力。
| 路由 | Capability | 描述 |
|---|---|---|
/v1/models | openai-models | 获取支持的模型列表 |
/v1/chat/completions | openai-chat | 支持 chat 能力(Open AI 规范) |
/v1/embeddings | openai-embeddings | 支持 embeddings 能力(OpenAI 规范) |
| 任意未知路由 | forward-unknown | 原样向上转发 |
对于未启用的能力,如果开启了 forward-unknown 能力,则会原样向上转发,否则会直接返回 404 错误。
如果未指定 capabilities 字段,则默认启用 openai-models 和 openai-chat 能力。要启用 Embeddings,请显式添加 openai-embeddings。
Plugins
Plugins 用于提供路由级别的插件配置覆盖
Guard
指定路由的请求和响应的检测规则。可选 detect_chat_request 检测 Chat 请求、 detect_chat_response 检测 Chat 响应;不指定代表不开启对应的检测。
检测配置类型为 GuardPluginConfig.DetectConfig,由 mode 与 context 组成
mode:检测模式,可选 disabled 关闭检测、block 当检测到不安全内容时,阻断请求或 log_only 仅记录日志。
context:检测上下文,将透明传递给检测服务。
目前支持检测:
detect_chat_request: /v1/chat/completions 的请求detect_chat_response: /v1/chat/completions 的响应detect_embeddings_request: /v1/embeddings 的请求
备注
v1.3.0 起,request_check_mode/request_check_context 与 response_check_mode/response_check_context 已弃用,请改用:
detect_chat_request.mode← 原request_check_modedetect_chat_request.context← 原request_check_contextdetect_chat_response.mode← 原response_check_modedetect_chat_response.context← 原response_check_context