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