Skip to main content

IBM watsonx

由IBM开发的watsonx提供了多种预训练的人工智能基础模型,可用于自然语言处理(NLP)、计算机视觉和语音识别任务。

设置

访问watsonx模型可以通过IBM Cloud上的watsonx SaaS或使用专用的watsonx.ai软件实例来完成。

watsonx.ai SaaS - IBM 云

要开始使用 watsonx SaaS,请访问注册页面。如果您没有现有的 IBM Cloud 账户,您可以注册一个免费试用。

要使用Continue对watsonx.ai SaaS进行身份验证,您需要创建一个项目并设置一个API密钥。然后,在continue中:

  • apiBase 设置为您的 watsonx SaaS 端点,例如 https://us-south.ml.cloud.ibm.com 用于美国南部区域。
  • projectId 设置为您的 watsonx 项目 ID。
  • apiKey 设置为您的 watsonx API 密钥。

watsonx.ai 软件

要使用Continue对您的watsonx.ai软件实例进行身份验证,您可以使用username/passwordZenApiKey方法:

  1. 选项 1(推荐):使用 ZenApiKey 认证:
    • apiBase 设置为您的 watsonx 软件端点,例如 https://cpd-watsonx.apps.example.com
    • projectId 设置为您的 watsonx 项目 ID。
    • apiKey 设置为您的 watsonx Zen API 密钥。生成方法如下:
      1. 登录 CPD 网页客户端。
      2. 从工具栏中,点击您的头像。
      3. 点击 个人资料和设置
      4. 点击 API 密钥 > 生成新密钥
      5. 点击 生成
      6. 点击 复制 并将密钥保存在安全的地方。如果丢失,您将无法恢复此密钥。
      7. 在您喜欢的终端中运行以下命令生成 ZenApiKey:echo ":" | base64,将 替换为您的 CPD 用户名,将 替换为您刚刚创建的 API 密钥。
  2. 选项 2: 使用 username/password 认证:
    • apiBase 设置为您的 watsonx 软件端点,例如 https://cpd-watsonx.apps.example.com
    • projectId 设置为您的 watsonx 项目 ID。
    • API Key 设置为您的 watsonx 用户名和密码,使用 username:password 作为格式。

配置

将以下配置添加到您的config.json文件中以使用watsonx提供者。

~/.continue/config.json
{
"models": [
{
"model": "model ID",
"title": "watsonx - Model Name",
"provider": "watsonx",
"apiBase": "watsonx endpoint e.g. https://us-south.ml.cloud.ibm.com",
"projectId": "PROJECT_ID",
"apiKey": "API_KEY/ZENAPI_KEY/USERNAME:PASSWORD",
"apiVersion": "2024-03-14"
}
]
}

apiVersion 是可选的,默认为最新版本。

如果您使用的是自定义部署端点,请将deploymentID设置为模型的部署ID。您可以在watsonx.ai Prompt Lab UI中找到它,选择相应的模型并打开右侧的标签,这将显示包含部署ID的端点URL。

~/.continue/config.json
{
"models": [
{
"model": "model ID",
"title": "watsonx - Model Name",
"provider": "watsonx",
"apiBase": "watsonx endpoint e.g. https://us-south.ml.cloud.ibm.com",
"apiKey": "API_KEY/ZENAPI_KEY/USERNAME:PASSWORD",
"apiVersion": "2024-03-14",
"deploymentId": "DEPLOYMENT_ID"
}
]
}

配置选项

请确保指定一个模板名称,例如 granitellama3,并将 contextLength 设置为模型的上下文窗口大小。 您还可以配置生成参数,例如温度、topP、topK、频率惩罚和停止序列:

~/.continue/config.json
{
"models": [
{
"model": "ibm/granite-20b-code-instruct",
"title": "Granite Code 20b",
"provider": "watsonx",
"apiBase": "watsonx endpoint e.g. https://us-south.ml.cloud.ibm.com",
"projectId": "PROJECT_ID",
"apiKey": "API_KEY/ZENAPI_KEY/USERNAME:PASSWORD",
"apiVersion": "2024-03-14",
"template": "granite",
"contextLength": 8000,
"completionOptions": {
"temperature": 0.1,
"topP": 0.3,
"topK": 20,
"maxTokens": 2000,
"frequencyPenalty": 1.1,
"stop": [
"Question:",
"\n\n\n"
]
}
}
]
}

选项卡自动完成模型

推荐使用Granite模型进行表格自动完成。配置与聊天模型类似:

~/.continue/config.json
{
"tabAutocompleteModel": {
"model": "ibm/granite-8b-code-instruct",
"title": "Granite Code 8b",
"provider": "watsonx",
"apiBase": "watsonx endpoint e.g. https://us-south.ml.cloud.ibm.com",
"projectId": "PROJECT_ID",
"apiKey": "API_KEY/ZENAPI_KEY/USERNAME:PASSWORD",
"apiVersion": "2024-03-14",
"contextLength": 4000
}
}

嵌入模型

要查看可用的嵌入模型列表,请访问此页面

{
"embeddingsProvider": {
"provider": "watsonx",
"model": "ibm/slate-30m-english-rtrvr-v2",
"apiBase": "watsonx endpoint e.g. https://us-south.ml.cloud.ibm.com",
"projectId": "PROJECT_ID",
"apiKey": "API_KEY/ZENAPI_KEY/USERNAME:PASSWORD",
"apiVersion": "2024-03-14"
}
}