推導模型
透過推論功能,您可以與基礎模型進行互動,並評估應用程式中由人工智慧驅動的回應。 推論功能提供了一套可直接投入生產使用的 API,讓您能夠將對話式 AI 功能整合至工作流程中、測試模型行為,並建置智慧型應用程式。
Inference 透過提供透過熟悉且符合業界標準的 API 立即存取基礎模型的功能,解決了部署與擴展 AI 模型所面臨的挑戰。 無論您是正在開發聊天機器人的原型、建置 AI 助理,還是將自然語言理解功能整合至您的應用程式中,推論功能都能消除模型託管的複雜性,讓您專注於為使用者創造價值。
開始之前
-
建立一個「隨用隨付」或「訂閱制」的 IBM Cloud 帳戶。 不支援試用帳號。 如需更多資訊或欲升級您的帳戶,請參閱「帳戶類型」。
-
請確認您在「Red Hat AI Inference」服務上擁有「寫入者」角色或更高權限。 如需更多資訊,請參閱《 管理 IAM 存取權限 》。
使用控制台推導模型
此控制台提供了一個互動式實驗環境,讓您可以在將其整合至應用程式之前,在此嘗試不同的模型、測試提示語,並優化您的 AI 互動體驗。
-
在主控台中,開啟「Red Hat AI Inference」服務,並點擊您的專案名稱以開啟該專案。
-
在專案頁面上,點擊「Playground」以開啟推論實作平台。
-
開始您的聊天會話。 您可以透過以下選項自訂您的聊天會話:
- 模型選取
- 您可以從一組基礎模型清單中進行選擇。
- 系統提示
- 系統提示會指示模型如何進行對話。
- 推論設定
- 調整「隨機性」、「重複次數」及「回應」的限制。
- 聊天歷程
- 您可以依「模型」或「日期範圍」篩選聊天紀錄。
使用 API 推導模型
透過此 API,您可以利用業界標準的 OpenAI-compatible 端點,以程式化方式將 AI 功能整合至您的應用程式中。 在生產環境部署中,若需自動化 AI 互動、處理大量請求,或將對話式 AI 整合至現有系統,此方法至關重要。 此 API 提供高度靈活性,讓您能夠自訂模型行為、管理對話紀錄,並讓您的 AI 驅動功能隨著應用程式一同擴展。
目前支援以下 API:
- 聊天內容自動補全
/v1/chat/completions - 建立 - OpenAI 文件
- Get - OpenAI 文件
- 清單 - 《 OpenAI 》文件
- 刪除 - OpenAI 文件
- 模型
/v1/models - Get - OpenAI 文件
- 清單 - 《 OpenAI 》文件
請參閱以下各節,了解如何使用 API 完成常見推論任務的範例。
API 端點
所有 API 請求均採用以下基本格式:URL:
https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference
請將 <project_id> 替換為您的專案 ID。 要找到它,請前往 Red Hat AI Inference projects 並開啟您的專案。
對 API 進行身份驗證
在進行 API 呼叫之前,您需要對您的請求進行驗證。 您可以使用「承載者憑證」(bearer token)或「IBM Cloud API 金鑰」進行驗證。
使用攜帶者憑證進行驗證
持有人代幣可確保您能安全地存取專案的推論功能,並由您的 IBM Cloud API 金鑰產生。 持有人代幣會在設定的期限後失效,因此必須定期進行更新。
以下範例示範如何取得 Bearer 憑證。
curl -X POST "https://iam.cloud.ibm.com/identity/token" --header "Content-Type: application/x-www-form-urlencoded" --header "Accept: application/json" --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" --data-urlencode "apikey=$<IBM_CLOUD_API_KEY>"
該持有人代幣即為回應中的「access_token」。 這些憑證有有效期限,必須定期更新。
{"access_token":"xxxxx","refresh_token":"not_supported","token_type":"Bearer","expires_in":3600,"expiration":1770058324,"scope":"ibm openid"}
使用 API 金鑰進行驗證
有兩種方式可透過 API 金鑰進行驗證:您可以 建立服務 ID, 這是分配存取權限與管理控制權的建議方式。 若您建立服務 ID,則也需 建立一個服務 ID API 金鑰, 該金鑰將用於身分驗證。 《 Red Hat AI Inference 入門指南》 說明了如何建立服務 ID 和 API 金鑰,以便透過程式方式進行身分驗證。
您也可以使用使用者 API 金鑰進行驗證,而非服務 ID API 金鑰。 如需相關資訊,請參閱管理使用者 API 金鑰。
產生聊天補全內容
對話自動補全是推論的核心。 它們讓您能夠向基礎模型發送訊息,並接收由人工智慧生成的回覆。 這就是您建立對話體驗、獲取問題解答、生成內容或處理自然語言輸入的方式。 您可以透過提供系統提示來控制對話流程,這些提示用以定義模型的行為,並保存訊息歷史紀錄,以實現具情境意識的互動。
以下範例示範如何產生聊天自動完成功能。 如需查看可用參數的完整清單,請參閱《 OpenAI 聊天自動完成功能 》。
curl https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer <bearer_token>" -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="<bearer_token>",
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)
根據 ID 取得聊天記錄補全
透過 ID 檢索特定的聊天對話記錄,對於稽核、除錯或分析過往的互動紀錄非常有用。
以下範例示範如何根據 ID 取得聊天對話的完成項目。 如需查看所有可用參數的完整清單,請參閱「取得聊天自動完成功能」。
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions/<completion_id>' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
completion = client.chat.completions.retrieve(completion_id="<completion_id>")
print(completion)
列出聊天自動完成項目
「聊天完成清單」可提供您所有推論活動的概覽,讓您能監控使用模式、追蹤成本,並分析您的應用程式與基礎模型之間的互動方式。 這對於理解使用者行為、辨識常見的使用情境,以及優化您的 AI 整合策略而言,尤其具有價值。
以下範例示範如何列出聊天室的自動完成項目。 如需查看所有可用參數的完整清單,請參閱「聊天自動完成清單」。
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
completions = client.chat.completions.list()
print(completions)
刪除聊天自動完成建議
刪除聊天自動完成內容有助於清理測試資料,並符合隱私權要求。
以下範例示範如何刪除聊天自動完成項目。 如需查看所有可用參數的完整清單,請參閱「刪除聊天內容自動完成功能」。
curl -X DELETE https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions/<completion_id> \
-H "Content-Type: application/json" -H "Authorization: Bearer <bearer_token>"
列出模型
了解您的專案中可用的基礎模型有哪些,並掌握其功能,以便您能針對特定使用情境選用最適合的模型,並針對回應品質、速度或成本等因素進行優化。
以下範例示範如何列出模型。 如需查看所有可用參數的完整清單,請參閱 OpenAI List Models。
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/models' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
models = client.models.list()
print(models)
根據 ID 取得模型
檢索特定模型的詳細資訊,有助於您在將其應用於您的應用程式之前,先了解該模型的特性、功能及限制。
以下範例示範如何透過 ID 取得模型。 如需查看所有可用參數的完整清單,請參閱「擷取模型」。
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/models/<model>' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
model = client.models.retrieve("<model>") # for example, "granite-4-0-h-small"
print(model)