云原生智能网关 参数改写

参数改写策略支持在请求转发给后端模型服务之前,对请求的 Body 参数和 Query 参数进行新增、编辑或删除操作。适用于以下场景。

相关产品
云原生智能网关 产品页,含版本规格、价格与购买入口。

一、操作场景

·参数注入:为所有请求自动添加必要的参数(如固定的 temperature、max_tokens)

·参数覆盖:覆盖客户端传入的参数值,统一控制模型行为

·参数清理:删除敏感或不必要的参数,防止参数泄露

·协议适配:适配不同供应商的参数差异(如将 top_p 改写为 topP)

·多版本兼容:支持不同 API 版本的参数格式转换

注意:说明:

注意:参数改写发生在请求路由之后、转发给后端模型服务之前,仅影响转发的请求,不影响客户端收到的响应。

二、前置条件

1. 已创建 AI 网关实例且处于运行中状态。

2. 已创建模型 API。

3. 了解后端模型服务支持的参数格式和要求。

三、步骤 1:进入模型 API 详情页

1. 登录 微服务平台控制台,左侧导航栏选择 AI 网关,进入实例列表页面。

2. 在实例列表页面,单击需要配置的网关实例的“ID”,进入该网关实例的基本信息页面。

3. 在左侧导航栏单击模型管理,然后单击模型 API 页签。

4. 单击目标模型 API 名称,进入 API 详情页。

5. 切换到参数改写页签。

四、步骤 2:参数改写配置

1. 在参数改写页签中,查看当前配置状态。

2. 单击配置参数改写规则进入配置页面。

3. 在配置页面中,开启是否启用开关。

4. 选择需要改写的参数,配置参数改写规则。

5. 单击添加按钮,可配置多条参数改写规则。规则按配置顺序依次执行。

操作类型说明:

操作类型 说明 使用场景
新增 添加新的参数键值对 注入默认参数如 temperature: 0.7
编辑 修改已有参数的值 覆盖客户端传入的参数
删除 删除指定的参数 清理敏感或不必要的参数
重命名 修改已有参数名 将原有参数名改为新参数名,参数的值不变

五、步骤 3:保存配置

单击确定保存参数改写规则,配置立即生效。

六、示例 1:统一温度参数

·场景:统一控制所有请求的 temperature 参数,避免客户端随意设置。

·配置:

阶段 操作类型 参数键 参数值
Body 参数 编辑 temperature 0.7

·效果:无论客户端传入什么 temperature 值,最终都使用 0.7。

七、示例 2: 改写模型 body 参数字段

·场景:对模型请求/响应字段做重命名映射(如将 reasoning 统一映射为 reasoning_content),屏蔽不同推理框架之间的字段差异。

·配置:

阶段 操作类型 参数键 参数值
Body 参数 编辑 reasoning reasoning_ content

·效果:配置后,上游业务无需改造代码即可兼容不同模型服务返回的字段结构。

八、示例 3:清理敏感信息

·场景:删除请求中的用户标识信息,保护用户隐私。

·配置:

阶段 操作类型 参数键 参数值
Body 参数 删除 user –
Body 参数 删除 metadata.user_id –

·效果:请求中的用户标识字段被删除,不会转发给后端模型服务。

九、示例 4:适配 Azure OpenAI

·场景:适配 Azure OpenAI 的 api-version Query 参数要求。

·配置:

阶段 操作类型 参数键 参数值
Query 参数 新增 api-version 2024-02-01

·效果:所有请求自动添加 ?api-version=2024-02-01。

十、注意事项

1. 执行时机:参数改写发生在请求路由之后、转发给后端模型服务之前。

2. 执行顺序:多条规则按配置顺序依次执行,建议将依赖性的规则按正确顺序排列。

3. Body 参数限制:仅支持对 JSON 格式的请求 Body 进行参数改写。

4. 参数键路径:支持简单的参数键名(如 temperature),暂不支持嵌套路径(如 messages[0].content)。

5. 与缓存的配合:参数改写发生在缓存查询之后,缓存的 Key 基于原始请求计算。

6. 与日志的关系:LLM Log 记录的是改写后的请求包体(如已开启包体采集)。

7. 参数值类型:当前版本参数值统一作为字符串处理,暂不支持数字、布尔等类型标记。

赞 (0)
上一篇 4天前
下一篇 4天前