Red Hat AI Inference on IBM Cloud 入门
准备好在您的应用程序中开始使用人工智能了吗? 在本教程中,您将学习如何利用基础模型进行推理,并生成由人工智能驱动的响应。 只需15分钟,您就能与大型语言模型进行对话,并将对话式人工智能整合到您的工作流程中。
Red Hat® AI Inference on IBM Cloud® 这是一款由 Red Hat OpenShift AI驱动的、面向企业、私有且安全的生成式AI解决方案。 本教程重点介绍如何通过推理与基础模型进行交互,这是开始使用人工智能的最快途径。
需要完成的任务
在本教程中,您将完成以下任务:
- 设置您的 IBM Cloud 账户和项目。
- 对推理 API 进行身份验证。
- 使用基础模型生成您的第一个聊天完成内容。
- 了解如何使用您自己的数据对模型进行定制的后续步骤。
准备工作
请确保您具备以下条件:
-
按量付费或订阅制的 IBM Cloud 账户。 不支持试用账户。 如需了解更多信息或升级您的账户,请参阅 “账户类型”。
-
Red Hat AI Inference 服务中的“写入者”角色或更高权限。 如需了解更多信息,请参阅“管理 IAM 访问权限”。
获取您的项目 ID 和 API 端点
所有 API 请求都必须提供您的项目 ID。
-
打开您的项目。
-
复制您的项目 ID 并保存下来,以便进行后续操作。
API 端点
所有 API 请求均采用以下基本格式:URL:
https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference
请将 <project_id> 替换为您的项目 ID。
对 API 进行身份验证
在与基础模型进行交互之前,您需要对 API 请求进行身份验证。 您可以使用持有人令牌或 IBM Cloud API密钥。 本教程介绍了如何结合使用服务 ID 和 API 密钥进行程序化访问。 有关使用 Bearer 令牌的更多信息,请参阅“使用 Bearer 令牌进行身份验证”。
创建服务 ID 并授予访问权限
服务 ID 是控制和分配对 Red Hat AI Inference 项目访问权限的一种有效方式。 创建服务 ID,然后将其授予对您项目的访问权限。
-
在 IBM Cloud 控制台中,转到 “管理” >“访问(IAM)”> “服务 ID”,然后单击 “创建”。
-
输入服务 ID 的名称和描述,然后单击 “创建”。
-
在服务 ID 页面上,点击“分配访问权限”。
-
选择 Red Hat AI Inference 作为服务。
-
在 “资源”下,选择“特定资源”,然后选择您的项目。 通过这种方式,您可以限制对特定项目的访问权限。
-
在 “角色和操作”中,选择相应的服务访问角色:
- 如果需要创建聊天自动补全功能,请选择 “Writer”。
- 如果您只需阅读聊天自动补全内容或查看模型信息,请选择 “阅读器”。
访问 API 无需平台访问角色。
-
(可选)添加条件(例如基于时间的访问权限),以进一步限定对服务 ID 的访问范围。
-
查看访问摘要,然后单击 “分配”。
创建 API 密钥
既然您的服务 ID 已获得对 Red Hat AI Inference 项目的访问权限,请创建一个服务 ID API 密钥,以便在 API 调用中使用。
-
在服务 ID 页面中,点击 “API 密钥”。
-
点击“创建”,并为您的 API 密钥输入一个名称。
-
对于泄露密钥的处理,请选择“禁用泄露密钥”,以便在检测到密钥泄露时自动禁用该密钥。
-
为密钥设置过期日期。 出于安全考虑,建议定期轮换密钥。
-
单击创建。
-
复制 API 密钥,并将其保存在安全的地方。 无法再次查看该密钥。
现在,您可以使用该 API 密钥对请求进行身份验证。 在下一步中,您将在 API 调用的 Authorization: Bearer 请求头中使用此密钥。
浏览可选机型
不同的基础模型各有各的优势,因此仔细评估项目中可用的模型非常重要。
调用以下 API 接口以列出所有可用的模型。 请将 <project_id> 替换为您的项目 ID,将 <api_key> 替换为您的服务 ID API 密钥:
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/models' \
-H 'Accept: application/json' \
-H "Authorization: Bearer <api_key>"
from openai import OpenAI
client = OpenAI(
api_key="<api_key>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
models = client.models.list()
print(models)
该响应向您展示了所有可用的模型,以及关于这些模型功能的信息。 您可以尝试不同的模型,以找到最适合您使用场景的那一个。
生成您的第一个聊天完成内容
现在,向模型发送一条消息,并接收由人工智能生成的回复。
请执行以下 API 调用,将 <project_id> 替换为您的项目 ID,将 <api_key> 替换为您的服务 ID API 密钥:
curl https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <api_key>" \
-d '{
"model": "granite-4-0-h-small",
"messages": [
{
"role": "developer",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Hello! Tell me about yourself"
}
]
}'
from openai import OpenAI
client = OpenAI(
api_key="<api_key>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
completion = client.chat.completions.create(
model="granite-4-0-h-small",
messages=[
{"role": "developer", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello! Tell me about yourself"}
]
)
print(completion.choices[0].message)
您应该会收到模型发来的自我介绍。
理解该请求
让我们来分析一下你刚才的操作:
- model
- 您指定了
granite-4-0-h-small,这是可用的基础模型之一。 不同型号具有不同的功能和性能特点。 - 消息
- 您提供了两条消息。 其中一条是开发者消息,该消息设置了系统提示,并指导模型如何进行操作。 用户消息中包含了您希望模型回答的实际问题。
- API 端点
- 该请求已发送到您项目的推理端点,该端点负责将请求路由到相应的模型。
您可以通过调整系统提示、添加更多消息,或者针对不同的使用场景选用不同的模型,来定制模型的行为。
后续步骤
既然您已经成功开始使用推理功能,接下来您可以这样做:
继续进行推理
-
了解有关推理的更多信息,探索流式响应、调整模型参数以及管理对话历史记录等高级功能。
-
请查阅 OpenAI 聊天自动补全API 文档,以获取完整的API参考信息。
-
使用 Python SDK或其他编程语言,将推理功能集成到您的应用程序中。
使用您的数据自定义模型
已弃用
准备好超越通用模型了吗? 您可以通过模型对齐,结合贵组织的特定知识和技能来定制基础模型:
通过这种方式,您可以对模型进行微调,使其理解您的业务背景、术语和需求,这超越了通用模型所能提供的功能。