Stellen Sie Foundation-Modelle bei Bedarf programmatisch über die REST-API bereit. Die Bereitstellung eines foundation model auf Abruf macht es auf dedizierter Hardware für die ausschließliche Nutzung durch Ihr Unternehmen verfügbar. IBM stellt eine Reihe von kuratierten Modellen zur Verfügung, die Sie bei Bedarf einsetzen können.
Vorbereitende Schritte
- Sie müssen die Anmeldeinformationen für Ihre Aufgabe einrichten oder aktivieren, um Foundation-Modelle auf Abruf bereitzustellen. Weitere Informationen finden Sie unter Verwalten von Berechtigungsnachweisen für Aufgaben.
- Überprüfen Sie die Anforderungen und Überlegungen für die Bereitstellung eines foundation model auf Abruf.
Erstellen eines Modell-Assets
Sie können den Endpunkt " /ml/v4/models
verwenden, um ein Asset für das foundation model zu erstellen, das Sie auf Abruf bereitstellen möchten.
Das folgende Codeschnipsel zeigt, wie Sie ein Asset im watsonx.ai Runtime Repository erstellen, um Ihr foundation model auf Abruf bereitzustellen. Verwenden Sie die durch diesen Code generierte Asset-ID, wenn Sie Ihr Modell bereitstellen.
curl -X POST "https://<cluster url>/ml/v4/models?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
"type": "curated_foundation_model_1.0",
"version": "1.0",
"name": "granite",
"space_id": "<Space id for deployment>",
"foundation_model": {
"model_id": "ibm/granite-13b-chat-v2-curated"
}
}'
Erstellen einer Bereitstellung für ein foundation model
Sie können den Endpunkt " /ml/v4/deployments
verwenden, um ein foundation model bei Bedarf in einem Bereitstellungsbereich bereitzustellen. Sie müssen die Asset-ID verwenden, die bei der Erstellung des Modell-Assets für die Bereitstellung generiert wurde. Weitere Informationen finden Sie unter Modell-Asset erstellen.
Das folgende Codeschnipsel zeigt, wie Sie eine Online-Bereitstellung erstellen, um Ihr foundation model auf Abruf bereitzustellen:
curl -X POST "https://<cluster url>/ml/v4/deployments?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
"asset": {
"id": <Asset id created>
},
"online": {
"parameters": {
"serving_name": "llma"
}
},
"description": "<Description>,
"name": "mi",
"space_id": <Space id for deployment>
}'
Abfrage des Einsatzstatus
Sie können den Einsatzstatus anhand der Einsatz-ID abfragen. Wenn der Status von "Initialisierung" auf "Bereit" wechselt, ist Ihre Bereitstellung einsatzbereit.
Das folgende Codebeispiel zeigt, wie die REST-API zur Abfrage des Bereitstellungsstatus verwendet werden kann:
curl -X GET "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your project ID>" \
-H "Authorization: Bearer <replace with your token>"
Ausgabe:
"deployed_asset_type": "curated_foundation_model"
Testen von auf Abruf bereitgestellten Basismodellen
Sie können ein foundation model testen, das bei Bedarf für Online-Inferencing eingesetzt wird.
Das folgende Codeschnipsel zeigt, wie ein foundation model getestet wird, das bei Bedarf für Online-Inferencing eingesetzt wird:
curl -X POST "https://<replace with your cloud hostname>/ml/v1/deployments/<replace with your deployment ID>/text/generation?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
"input": "Hello, what is your name",
"parameters": {
"max_new_tokens": 200,
"min_new_tokens": 20
}
}'
Verwaltung von auf Abruf bereitgestellten Basismodellen
Greifen Sie auf Ihr foundation model zu, aktualisieren, skalieren oder löschen Sie es mit der REST-API, die bei Bedarf bereitgestellt wird.
Zugriff auf das eingesetzte Modell
Um die Liste aller Foundation-Modelle abzurufen, die in einem Bereitstellungsraum mit der REST-API auf Abruf bereitgestellt werden, können Sie den Abfrageparameter " type=curated_foundation_model
festlegen.
Das folgende Codebeispiel zeigt, wie die REST-API verwendet werden kann, um auf alle Foundation-Modelle zuzugreifen, die in einem Bereitstellungsbereich auf Abruf bereitgestellt werden:
curl -X GET "https://<replace with yourcloud hostname>/ml/v4/deployments?version=2024-01-29&space_id=<replace with your space ID>&type=curated_foundation_model" \
-H "Authorization: Bearer <replace with your token>"
Aktualisierung der Bereitstellung
Aktualisieren Sie die erforderlichen Bereitstellungs-Metadaten für Ihre Bereitstellung, wie Name, Beschreibung, Tags und mehr.
Das folgende Codebeispiel zeigt, wie Sie den Namen für Ihr foundation model aktualisieren können, das auf Abruf bereitgestellt wird:
curl -X PATCH "https://<replace with your cloud hostname>//ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your space ID>" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '[{
"op": "replace",
"path": "/name",
"value": "<replace with updated deployment name>"
}]'
Skalierung des Einsatzes
Sie können nur eine Instanz eines foundation model On-Demand-Modells in einem Bereitstellungsbereich bereitstellen. Um eine erhöhte Nachfrage zu bewältigen, können Sie die Bereitstellung skalieren, indem Sie zusätzliche Kopien erstellen.
Das folgende Codebeispiel zeigt, wie Sie die Anzahl der Replikate für Ihre Bereitstellung skalieren:
curl -X PATCH "<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" \
-H "Authorization: Bearer $token" \
-H "content-type: application/json" \
--data '[{
"op": "replace",
"path": "/hardware_request",
"value": {"num_nodes": 2}
}]'
- Wenn Sie die Hardwareressourcen skalieren wollen, verwenden Sie die Operation "
PATCH
mit dem Parameter "/hardware_request
und aktualisieren Sie die Anzahl der Hardwareknoten, indem Sie einen Wert für den Parameter "num_nodes
angeben. Sie können den Parameter "size
nicht mit "/hardware_request
verwenden. - Sie können die Operation "
PATCH
nicht zur Aktualisierung der Parameter des foundation model (/online/parameters/foundation_model
) verwenden.
Bereitstellung löschen
Sie können Ihr eingesetztes foundation model löschen, wenn Sie es nicht mehr benötigen, um die Abrechnungsgebühren zu stoppen.
Das folgende Codebeispiel zeigt, wie ein mit der REST-API auf Abruf bereitgestelltes foundation model gelöscht werden kann:
curl -vk -X DELETE "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" -H "Authorization: Bearer <replace with your token>"
Beispielnotebook
Das folgende Beispiel-Notizbuch veranschaulicht die Eingabeaufforderung für Basismodelle, die programmgesteuert auf Abruf bereitgestellt werden. Sie müssen Ihr foundation model on-demand bereitstellen, bevor Sie das Notebook ausführen.
Notizbuch | Beschreibung |
---|---|
Inferenzierung mit Granite Text-to-SQL-Modellen | Setup Erstellen einer Eingabeaufforderung für das Schema-Linking-Modell Durchführen einer Inferenz auf das Schema-Linking-Modell unter Verwendung des WX.AI Buchen des Prozesses der Ausgabe des Schema-Linking-Modells Erstellen einer Eingabeaufforderung für das SQL-Generation-Modell Durchführen einer Inferenz auf das SQL-Generation-Modell unter Verwendung des WX.AI |
Weitere Informationen
- Unterstützte Stiftungsmodelle
- Prompt Lab
- Bereitstellung von Foundation-Modellen auf Abruf über die Ressourcendrehscheibe.
- Stundensätze für die Bereitstellung von On-Demand-Modellen
Übergeordnetes Thema: Einsatz dedizierter Stiftungsmodelle