使用watsonx.ai为AI Gateway创建 REST 代理
创建一个 REST 代理,使用AI Gateway来控制对人工智能模型的访问。
在开始之前
完成 "使用AI Gateway的先决条件 "中的任务,确保您可以使用IBM Cloud进行身份验证并访问watsonx.ai。
关于此任务
AI Gateway 仅由 OpenAPI 3.0 API 支持。
过程
- 在导航窗格中,单击
。 - 在 "开发 "页面,单击 添加 > API。
- 在 "选择 API 类型"页面上,单击 "OpenAPI 3.0"选项卡。
- 在创建部分,选择AI 网关,然后单击下一步。
- 在从 AI 网关创建 API 页面上,使用平台字段选择 watsonx 作为新 API 使用的 AI 服务。
- 使用 "信息 "部分提供有关 API 的基本信息,然后单击 "下一步":
- OpenAPI 版本基于第 3 步的选择,您点击 OpenAPI 3.0。
- 标题:标题可包含特殊字符,但应简短,以便于在用户界面上显示。
- 名称是根据标题填写的。 该值是一个字符串,用于在开发者工具包 CLI 命令中标识 API。
- 版本:接受默认值或根据需要修改。 版本与OpenAPI定义的
info.version属性值相对应。 建议使用version.release.modification版本编号方案;例如, 1.0.0。 - 基本路径:接受默认值或根据需要修改。 API 的 "基本路径 "是服务器 URL ,用于确定调用 API 的完整 URL 端点,同时考虑到发布 API 的目录中的任何虚假端点配置。 对于由 DataPower® API Gateway 执行的 API,您只需提供基本路径值。 此外:
- 请勿包含主机名或任何用于路径或操作的附加分段
- 请勿包含特殊字符
- URL 以正向斜线 ( / ) 开头,即使其他部分为空
- 描述:可选描述有助于识别 API。
- 提供有关 API 如何访问watsonx.ai以提交请求的信息:
- 项目 ID :提供用于解析 API 请求的 watsonx.ai 项目的 ID,或提供值为 watsonx.ai 项目 ID 的 $(目录属性名称)。
- 公开路径:接受默认的暴露路径列表,或只选择希望 API 访问的路径。 暴露路径定义了哪些watsonx.ai操作包含在生成的应用程序接口中。
- 启用响应缓存:默认情况下会启用响应缓存,以优化 API 性能;但如果您的 API 需要,也可以禁用响应缓存。 如果使用响应缓存,可以在 "缓存 TTL(秒)"字段中指定缓存的持续时间。
启用响应缓存后,当向 watsonx.ai 服务发送请求时,就会检查响应缓存,以确定请求有效载荷是否有相关的缓存响应。 如果是这样,该响应及其相关 HTTP 响应头就会被放入 DataPower API Gateway 上下文信息(默认情况下名为
message)。 如果需要不同的信息,可在生成 API 后修改策略用户界面中的 "输出信息 "属性。如果没有缓存响应,则会将请求传递给watsonx.ai服务,并使用Cache TTL(以秒为单位)属性中指定的生存时间缓存响应,以用于后续操作。
缓存 TTL(秒):如果启用了响应缓存,请通过接受默认值或选择(或键入)一个新值来配置缓存的持续时间。 最短持续时间为 60 秒,最长持续时间为 86400 秒(1 天)--在发布 API 时,任何超出此范围的值都将无法通过验证,即使此字段中的值已被接受。
- 提供使用watsonx.ai 进行身份验证的信息,然后单击下一步:
- API 密钥 :提供用于解析 API 请求的 watsonx.ai 服务器的 API 密钥,或提供值为 watsonx.ai 服务器 API 密钥的 $(目录属性名)。
API 密钥允许 API 与IBM Cloud Authentication 进行身份验证,并且是访问watsonx.ai服务所必需的。
- 区域:选择发送IBM Cloud请求的watsonx.ai地区。
- 操作版本:接受默认值或提供适当的watsonx.aiAPI 有效版本日期,格式为
yyyy-mm-dd。要查看可用的版本日期,请参阅 watsonx.ai API 文档中的活动版本日期。 有关 watsonx.ai 中 API 版本控制的信息,请参阅同一文档中的版本控制。
- API 密钥 :提供用于解析 API 请求的 watsonx.ai 服务器的 API 密钥,或提供值为 watsonx.ai 服务器 API 密钥的 $(目录属性名)。
- 在 "速率限制 "部分,可选择配置速率限制,然后单击 "下一步":
- 如果要生成控制 API 速率限制的API Connect产品,请选择创建产品。
在API Connect 中,产品是应用程序接口及其相关使用计划的容器,使用计划定义了费率限制。 在此设置产品费率限制可创建一个包含所需
watson-ai-default和watson-ai-infer-text装配费率限制的计划,并指定您定义的限制。如果您选择不自动生成产品,则必须按照为 watsonx.ai API 创建自定义产品中的说明创建一个产品。
请注意:使用自动发布功能创建的产品(在发布您的应用程序接口时)不包含使用人工智能服务所需的计划。 要么现在就创建产品,要么在发布 API 之前创建自定义产品。 - 配置对 API 调用执行的速率限制类型:注意:如果您选择不指定速率限制值,则将为该速率限制分配默认值。
- 设置速率限制 :(基于时间)接受默认速率限制或根据指定时间内发送的 API 请求数配置新的限制。 这种速率限制不使用令牌。
- 设置 AI 令牌限制 :(基于令牌) 接受默认费率限制或根据指定时间内使用的基于成本的令牌数量配置新的限制。 基于令牌的速率限制使用
/text-generate操作来跟踪令牌的使用情况。人工智能令牌限制根据令牌的使用情况设置速率限制。 速率限制决定了在指定时间内允许多少令牌通过网关。
- 如果要生成控制 API 速率限制的API Connect产品,请选择创建产品。
- 查看 "摘要 "页面,确认 API 没有问题,然后单击 "完成"。
- 编辑新的应用程序接口,添加控制应用程序接口工作流程的策略和逻辑结构。
创建的应用程序接口包含 watsonx.ai 调用策略 ,可用于所请求的公开路径。 它们的属性可根据需要进行编辑。