仅 DataPower API Gateway

Azure openai invoke

使用 Azure OpenAI 调用策略来调用 Azure OpenAI 操作。

网关支持

表 1. 该表显示了支持此策略的网关以及对应的策略版本
网关 策略版本
DataPower® API Gateway 2.0.0

本主题介绍如何在程序集用户界面中配置策略;有关如何在源代码中配置策略的详情,请参阅 openai-invoke。 OpenAPI 源中配置策略的详情,请参阅 Azure openai-invoke

关于

Azure OpenAI invoke 策略可访问四个 Azure OpenAI 操作:
  • POST /chat/completions
  • POST /embeddings
  • GET /models
  • GET /models/[model-id]

Azure OpenAI 调用策略支持表 2 所示的属性。

属性

下表列示了策略属性,指示属性是否为必需属性,指定输入的有效值和缺省值并指定值的数据类型。

表 2. Azure OpenAI invoke 策略的属性
属性标签 必需 描述 数据类型
职务 False Azure OpenAI 调用聊天完成 字符串
描述 False 对策略的描述。 字符串
Azure OpenAI 运行 要调用的 Azure OpenAI 操作;必须是以下操作之一:
  • POST /chat/completions

    HTTP POST 操作,用于 /chat/completions。 有关请求和回复示例,请参阅 Azure OpenAI 文档中的创建聊天完成

  • POST embeddings

    HTTP POST 操作,用于 /embeddings。 有关请求和响应示例,请参阅 Azure OpenAI 文档中的创建嵌入

  • GET models

    HTTP /models 的 GET 操作。 有关响应示例,请参阅 Azure OpenAI 文档中的 列表模型

  • GET models/[model]

    HTTP /models/[model] 的 GET 操作。 有关响应示例,请参阅 Azure OpenAI 文档中的 Retrieve 模型

字符串
Azure OpenAI API 密钥 API 密钥,或指向包含 API 密钥的变量的变量引用。 API 密钥用于验证 Azure OpenAI 请求。 字符串
Azure OpenAI 资源编号 作为 URL 端点的一部分,指向已配置的资源。 字符串
Azure OpenAI 部署编号 路径参数 - Azure 中部署模型的项目/部署名称。 字符串
启用响应缓存 False 默认情况下会启用响应缓存,以优化 API 性能;但如果您的 API 需要,也可以禁用响应缓存。

启用响应缓存后,当向 Azure OpenAI 服务发送请求时,就会检查响应缓存,以确定请求有效载荷是否有相关的缓存响应。 如果是,该缓存响应及其相关的 HTTP 响应标头将被放入由输出消息属性指定的 DataPower API Gateway 上下文消息中。

如果没有缓存响应,则会将请求传递给 OpenAI 服务,并使用响应缓存过期属性中指定的生存时间缓存响应,供后续操作使用。

布尔型
响应缓存过期 False 缓存的持续时间(存活时间)。 最短持续时间为 60 秒,最长持续时间为 86400 秒(1 天)--在发布 API 时,任何超出此范围的值都将无法通过验证,即使此字段中的值已被接受。 整数
缓存范围 False 为用于存储缓存响应的密钥添加唯一性的字符串。 添加缓存范围可将同一请求保存在多个缓存条目中。 字符串
操作版本 False 操作版本指定策略适用的 OpenAI 操作(如完成、聊天/完成、嵌入)的版本。 使用 YYYY-MM-DD 格式定义。  
Azure OpenAI 运行路径参数 False 如果操作中有一个路径参数,并在操作中用方括号指定了路径参数名,则指定参数名和值,参数名和值之间用冒号隔开。 如果操作有一个以上的路径参数,则每个路径参数应使用逗号分隔。 例如,对于操作 GET models/[model] ,路径参数属性应指定为 model:somename
注意: 如果所选操作需要但未提供路径参数,则调用操作将失败。 不过,对于不需要路径参数的操作,任何提供的路径参数都将被忽略。
字符串
Azure OpenAI 操作查询参数 False 对于支持查询参数的操作,请指定一个查询参数字符串,该字符串应指定参数名称和用等号分隔的值。 如果支持一个以上的查询参数,则每个查询参数之间用 "ampersand "字符分隔。 目前支持的操作不支持查询参数,但未来可能支持的操作将支持查询参数。 字符串
输出消息 False 接收 Azure OpenAI 响应的 DataPower API Gateway 上下文信息的名称。 默认情况下,该属性使用消息作为值,这样就可以通过 message.bodymessage.headers 中的后续 API 策略访问响应。 字符串