IBM watsonx.ai REST API

您可以使用 watsonx.ai API 以编程方式使用 IBM watsonx.ai 中的基础模型。

查看API 参考文档

您可以使用 REST API 执行以下类型的任务。 单击某项任务即可阅读该方法的概述。

有关如何使用 REST API 矢量化文本的更多信息,请参阅 文本嵌入生成

先决条件

  • 要使用 watsonx.ai API ,您需要不记名令牌。

    有关更多信息,请参阅 用于程序化访问的凭证

  • 对于大多数 API 方法,必须在数据有效内容中包含与基础模型关联的项目标识或部署空间标识。

    有关更多信息,请参阅 查找项目标识

  • 必须为要使用的基础模型指定 {model_id}

    您可以使用列出可用的基础模型方法获取基础模型的 ID。

    有关 watsonx.ai随附的基础模型的模型标识列表,请参阅 API 的基础模型标识

  • 在每个请求所需的版本参数中指定创建和测试代码的日期。 例如,version=2024-03-14

小贴士: 如果您希望在 API 中获得推理请求格式化方面的帮助,可以通过 Prompt Lab 提交相同的请求。 Prompt Lab 的代码面板显示了由提示符生成的 cURL 请求,您可以从该面板检查所用的语法。

获取可用基础模型列表

列出可用的基础模型方法watsonx.ai API 获取有关可用基础模型的信息。

curl -X GET \
  'https://{cluster_url}/ml/v1/foundation_model_specs?version=2024-05-01'

在安装了 watsonx.ai 轻量级引擎的情况下,请求还会返回有关任何可用自定义基础模型的信息。

要获取用于单独部署自定义模型的完整服务安装的可用自定义基础模型列表,请使用以下方法:

curl -X GET \
  'https://{cluster_url}/ml/v4/custom_foundation_models?version=2024-05-01'

有关详细信息,请参阅 列出可部署的自定义基础模型

使用 REST API 推断基础模型

用于推断基础模型的方法根据基础模型是否与部署相关联而有所不同。

  • 要推理 watsonx.ai 提供的基础模型,请使用 文本生成方法。

  • 要推断已调整或自定义的基础模型,请使用 Deployments>Infer text 方法。

    此类型的请求不需要 {model_id} ,因为部署仅支持一个模型。

您可以使用以下文本生成方法之一来提示基础模型:

  • 推断文本:等待一次性返回基础模型生成的输出。
  • 推断文本事件流:返回基础模型生成的输出。 此方法在对话用例中很有用,您希望聊天机器人或虚拟助手以模仿真实对话的流畅方式响应用户。

当您使用 API 提示基础模型时,您可以使用moderations将AI护栏应用于基础模型的输入和输出。 有关详细信息,请参阅For more information, see从模型输入和输出中删除有害语言

您还可以使用遵循提示模板定义的模式的输入文本来推断基础模型。

有关详细信息,请参阅For more information, see创建提示模板

您不能从 watsonx.ai 轻量级引擎创建或使用已部署的提示模板。 但是,如果您在安装完整服务时创建了提示模板,则可以提取提示模板文本。

要提取提示模板文本作为文本生成方法的输入,请执行以下步骤:

  1. 使用 Watson Data API 的 Search asset types 方法获取提示模板 ID。

    curl -X POST \
    'https://api.dataplatform.cloud.ibm.com/v2/asset_types/wx_prompt/search?version=2024-07-29&project_id={project_id}' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer ACCESS_TOKEN' \
    --data '{
     "query": "asset.name:{template_name}"
    }'
    

    提示模板 ID 指定为 metadata.asset_id

  2. 使用 Get the inference input string for a given prompt 方法获取提示模板文本。

    curl -X POST \
    'https://api.dataplatform.cloud.ibm.com/wx/v1/prompts/{prompt-template-id}/input?version=2024-07-29&project_id={project_id}'
    ...
    

    有关更多信息,请参阅 为给定提示获取推理输入字符串

    您可以将提取的提示文本作为输入提交给 Generate text 方法。

及时调整基础模型

及时调整基础模型是一项复杂的任务。 例子Python笔记本简化了这一过程。 您可以使用示例笔记本作为模板来编写自己的笔记本,以便进行快速调整。

注:您不能从 watsonx.ai 轻量级引擎安装中提示调整基础模型。

从高层次来看,使用 API 快速调整基础模型涉及以下步骤:

  1. 创建一个训练数据文件,用于调整基础模型。

    有关训练数据文件要求的详细信息,请参阅 用于调整基础模型的数据格式

  2. 上传您的训练数据文件。

    您可以选择通过创建以下资产类型之一来添加文件:

    • 连接资产 (connection asset)

      笔记:只有Cloud Object Storage目前支持快速调优训练的连接类型。

      使用 Watson Data API 定义与数据资产的连接

      添加时,您将使用连接 ID 和训练数据文件详细信息training_data_references部分request.json您在下一步中创建的文件。

    • 数据资产

      要创建数据资产,请使用 Watson Data API 定义数据资产

      添加时,您将使用资产 ID 和训练数据文件详细信息training_data_references部分request.json您在下一步中创建的文件。

    有关引用训练数据文件的支持方式的更多信息,请参阅 数据引用

  3. 使用watsonx.ai用于创建训练实验的 API。

    请参见 创建培训

    您可以在TrainingResource有效载荷。 有关可用参数的更多信息,请参阅调整基础模型的参数

    对于 task_id,请指定 List the available foundation models 方法响应中列出的基础模型支持的任务之一。

  4. 将调整后的模型保存到存储库服务以生成asset_id指向调整后的模型。

    要保存调整后的模型,请使用 Watson Machine Learning API 来 创建一个新模型

  5. 使用watsonx.ai用于为调整后的模型创建部署的 API。

    请参阅 创建部署

要推理调整后的模型,您必须使用包含托管调整后的模型的部署的唯一 ID 的推理端点。 有关详细信息,请参阅 部署 部分中的 推断方法

Python笔记本

Python 库具有帮助程序类和关联的样本 Notebook ,这些帮助程序类和样本 Notebook 使您能够更轻松地在生成 AI 应用程序中使用可用的 API 方法。 有关更多信息,请参阅 Python 库

父主题: 编码生成 AI 解决方案