開始使用 Red Hat AI Inference on IBM Cloud
準備好在您的應用程式中開始運用 AI 了嗎? 在本教學中,您將學習如何利用基礎模型進行推論,並生成由人工智慧驅動的回應。 只需 15 分鐘,您就能與大型語言模型進行對話,並將對話式人工智慧整合到您的工作流程中。
Red Hat® AI Inference on IBM Cloud® 這是一款由 Red Hat OpenShift AI 驅動、具備商業應用準備度、私有且安全的生成式 AI 解決方案。 本教學重點在於引導您開始進行推論,藉此與基礎模型進行互動,這是開始使用人工智慧最快速的方式。
您將達成的目標
在本教學中,您將執行以下任務:
- 設定您的 IBM Cloud 帳戶和專案。
- 向推論 API 進行驗證。
- 利用基礎模型生成您的第一個聊天對話完成內容。
- 瞭解如何使用您自己的資料來客製化模型的下一步驟。
開始之前
請確認您已具備以下項目:
-
「隨用隨付」或「訂閱制」的 IBM Cloud 帳戶。 不支援試用帳號。 如需更多資訊或欲升級您的帳戶,請參閱「帳戶類型」。
-
在「Red Hat AI Inference」服務中,具備「Writer」角色或更高權限。 如需更多資訊,請參閱《 管理 IAM 存取權限 》。
取得您的專案 ID 和 API 端點
所有 API 請求均需提供您的專案 ID。
-
前往 Red Hat AI Inference 專案頁面。
-
開啟您的專案。
-
請複製您的專案 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 並授予存取權限
服務識別碼是控制和分配 Red Hat AI Inference 專案存取權限的一種實用方式。 建立服務 ID,然後將其授予您專案的存取權限。
-
在 IBM Cloud 控制台中,前往「管理」>「存取權限 (IAM)」>「服務 ID」,然後點選「建立」。
-
請輸入服務 ID 的名稱和說明,然後按一下「建立」。
-
在服務 ID 頁面中,點選「指派存取權限」。
-
請選擇 Red Hat AI Inference 作為服務。
-
在「資源」中,選取「特定資源」,然後選擇您的專案。 透過這種方式,您可以限制對特定專案的存取權限。
-
在「角色與動作」中,請選擇適當的服務存取角色:
- 若需建立聊天自動完成功能,請選擇「撰稿人」。
- 若您僅需閱讀聊天內容的自動完成建議或查看模型資訊,請選擇「閱讀器」。
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)
此回應會列出所有可供使用的模型,並附上其功能相關的資訊。 您可以嘗試不同的模型,以找出最符合您使用情境的那一個。
生成您的第一個聊天完成內容
現在,請向模型發送訊息,並接收由 AI 生成的回覆。
請執行以下 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)
您應該會收到模型發來的自我介紹訊息。
理解該請求
讓我們來分析一下你剛才的做法:
- 模型
- 您指定了
granite-4-0-h-small,這是可用的基礎模型之一。 不同型號具備不同的功能與性能特點。 - 訊息
- 您提供了兩則訊息。 其中一則是一則開發者訊息,用來設定系統提示,並指示模型應如何運作。 該使用者訊息中包含了您希望模型回答的實際問題。
- API 端點
- 該請求已傳送至您專案的推論端點,該端點負責將請求路由至適當的模型。
您可以透過調整系統提示、新增更多訊息,或針對不同使用情境選用不同的模型,來客製化模型的行為。
下一步
既然您已成功開始使用推論功能,接下來您可以進行以下操作:
繼續進行推論
-
進一步了解推論功能, 探索諸如串流式回應、調整模型參數以及管理對話歷史紀錄等進階功能。
-
請參閱 OpenAI 聊天自動完成 API 文件,以取得完整的 API 參考資料。
-
您可以透過 Python SDK 或其他程式語言,將推論功能整合至您的應用程式中。
使用您的資料自訂模型
已廢棄
準備好超越通用模型的範疇了嗎? 您可以透過模型對齊,將貴組織的特定知識與技能整合到基礎模型中:
透過這種方式,您可以對模型進行微調,使其理解您的業務背景、術語及需求,這已超越了通用型模型所能提供的範圍。