Inferenz eines Modells
Mithilfe der Inferenz können Sie mit Basis-Modellen interagieren und KI-gestützte Antworten für Ihre Anwendungen auswerten. Die Inferenzfunktion bietet eine produktionsreife API, mit der Sie dialogorientierte KI-Funktionen in Ihre Arbeitsabläufe integrieren, das Modellverhalten testen und intelligente Anwendungen entwickeln können.
Inference löst die Herausforderung der Bereitstellung und Skalierung von KI-Modellen, indem es über vertraute, branchenübliche APIs sofortigen Zugriff auf Basismodelle bietet. Ganz gleich, ob Sie einen Chatbot prototypisieren, einen KI-Assistenten entwickeln oder das Verstehen natürlicher Sprache in Ihre Anwendung integrieren – Inferenz beseitigt die Komplexität des Modell-Hostings und ermöglicht es Ihnen, sich auf die Schaffung von Mehrwert für Ihre Nutzer zu konzentrieren.
Vorbereitende Schritte
-
Erstellen Sie ein Pay-As-You-Go- oder Abonnement- IBM Cloud-Konto. Testkonten werden nicht unterstützt. Weitere Informationen oder Anleitungen zum Upgrade Ihres Kontos finden Sie unter Kontotypen.
-
Erstellen Sie ein Red Hat AI Inference-Projekt.
-
Stellen Sie sicher, dass Sie über die Rolle Writer oder höher im Dienst Red Hat AI Inference verfügen. Weitere Informationen finden Sie unter Verwalten des IAM-Zugriffs.
Modell-Inferenz mithilfe der Konsole
Die Konsole bietet eine interaktive Testumgebung, in der Sie mit verschiedenen Modellen experimentieren, Eingabeaufforderungen testen und Ihre KI-Interaktionen verfeinern können, bevor Sie diese in Ihre Anwendungen integrieren.
-
Öffnen Sie in der Konsole den Dienst Red Hat AI Inference und klicken Sie auf den Namen Ihres Projekts, um es zu öffnen.
-
Klicken Sie auf der Projektseite auf Playground, um den Inference Playground zu öffnen.
-
Starten Sie Ihre Chat-Sitzung. Sie können Ihre Chat-Sitzung mit den folgenden Optionen anpassen:
- Modellauswahl
- Sie können aus einer Liste von Basismodellen auswählen.
- Eingabeaufforderung
- Die Eingabeaufforderung weist das Modell an, wie der Dialog ausgeführt werden soll.
- Inferenzeinstellungen
- Passen Sie die Grenzwerte für Zufälligkeit, Wiederholung und Antwort an.
- Chatverlaufsprotokoll
- Sie können den Chat-Verlauf nach Modell oder Datumsbereich filtern.
Modellinferenz mithilfe der API
Mit der API können Sie KI-Funktionen programmgesteuert in Ihre Anwendungen integrieren, indem Sie Endpunkte nach dem Industriestandard OpenAI-compatible verwenden. Dieser Ansatz ist unerlässlich für Produktivumgebungen, in denen Sie KI-Interaktionen automatisieren, große Mengen an Anfragen bearbeiten oder dialogorientierte KI in bestehende Systeme integrieren müssen. Die API bietet die Flexibilität, das Modellverhalten anzupassen, den Konversationsverlauf zu verwalten und Ihre KI-gestützten Funktionen entsprechend Ihrer Anwendung zu skalieren.
Derzeit werden die folgenden APIs unterstützt:
- Vervollständigungen im Chat
/v1/chat/completions - Erstellen – Dokumentation zu OpenAI
- Dokumentation zu OpenAI
- Liste – Dokumentation zu OpenAI
- Löschen – Dokumentation zu OpenAI
- Modelle
/v1/models - Dokumentation zu OpenAI
- Liste – Dokumentation zu OpenAI
In den folgenden Abschnitten finden Sie Beispiele dafür, wie Sie häufige Inferenzaufgaben mithilfe der API ausführen können.
API-Endpunkt
Alle API-Anfragen verwenden das folgende Basisformat URL:
https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference
Ersetzen Sie <project_id> durch Ihre Projekt-ID. Um diese zu finden, rufen Sie Red Hat AI Inference-Projekte auf und öffnen Sie Ihr Projekt.
Authentifizierung bei der API
Bevor Sie API-Aufrufe durchführen können, müssen Sie Ihre Anfragen authentifizieren. Sie können sich entweder mit einem Bearer-Token oder einem API-Schlüssel von IBM Cloud authentifizieren.
Authentifizierung mithilfe eines Bearer-Tokens
Bearer-Token gewährleisten einen sicheren Zugriff auf die Inferenzfunktionen Ihres Projekts und werden anhand Ihres API-Schlüssels für IBM Cloud generiert. Bearer-Token verfallen nach einer festgelegten Zeitspanne und müssen daher regelmäßig aktualisiert werden.
Das folgende Beispiel zeigt, wie man ein Bearer-Token abruft.
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>"
Das Bearer-Token ist das in access_token der Antwort. Diese Tokens haben ein Ablaufdatum und müssen regelmäßig erneuert werden.
{"access_token":"xxxxx","refresh_token":"not_supported","token_type":"Bearer","expires_in":3600,"expiration":1770058324,"scope":"ibm openid"}
Authentifizierung mithilfe eines API-Schlüssels
Es gibt zwei Möglichkeiten, sich mit einem API-Schlüssel zu authentifizieren: Sie können eine Service-ID erstellen. Dies ist die empfohlene Methode zur Verteilung von Zugriffsrechten und Kontrollfunktionen. Wenn Sie eine Service-ID erstellen, müssen Sie auch einen Service-ID-API-Schlüssel erstellen, den Sie zur Authentifizierung verwenden. Erste Schritte mit Red Hat AI Inference erklärt, wie Sie eine Service-ID und einen API-Schlüssel erstellen, um sich programmgesteuert zu authentifizieren.
Sie können sich auch mit einem Benutzer-API-Schlüssel anmelden, anstatt mit einem Dienst-ID-API-Schlüssel. Weitere Informationen finden Sie unter Benutzer-API-Schlüssel verwalten.
Erstellen einer Chat-Vervollständigung
Chat-Vervollständigungen bilden den Kern der Inferenz. Damit können Sie Nachrichten an ein Basismodell senden und von der KI generierte Antworten erhalten. So erstellen Sie dialogorientierte Erlebnisse, erhalten Antworten auf Fragen, generieren Inhalte oder verarbeiten Eingaben in natürlicher Sprache. Sie können den Gesprächsverlauf steuern, indem Sie Systemaufforderungen bereitstellen, die das Verhalten des Modells definieren, und den Nachrichtenverlauf für kontextbezogene Interaktionen aufrechterhalten.
Das folgende Beispiel zeigt, wie man eine Chat-Vervollständigung generiert. Eine vollständige Liste der verfügbaren Parameter finden Sie unter OpenAI-Chat-Vervollständigung.
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)
Abfrage einer Chat-Ergänzung anhand der ID
Das Abrufen einer bestimmten Chat-Transaktion anhand der ID ist nützlich für die Überprüfung, Fehlerbehebung oder Analyse vergangener Interaktionen.
Das folgende Beispiel zeigt, wie man eine Chat-Vervollständigung anhand ihrer ID abruft. Eine vollständige Liste der verfügbaren Parameter finden Sie unter Get Chat Completion.
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)
Auflistung von Chat-Vervollständigungen
Die Auflistung der Chat-Ergänzungen bietet einen Überblick über alle Ihre Inferenzaktivitäten, sodass Sie Nutzungsmuster überwachen, Kosten nachverfolgen und analysieren können, wie Ihre Anwendung mit den Basismodellen interagiert. Dies ist besonders hilfreich, um das Nutzerverhalten zu verstehen, beliebte Anwendungsfälle zu identifizieren und Ihre KI-Integrationsstrategie zu optimieren.
Das folgende Beispiel zeigt, wie man Chat-Vervollständigungen auflistet. Eine vollständige Liste der verfügbaren Parameter finden Sie unter Liste der Chat-Vervollständigungen.
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)
Eine Chat-Vervollständigung löschen
Das Löschen von Chat-Vervollständigungen hilft Ihnen dabei, Testdaten zu bereinigen und Datenschutzanforderungen einzuhalten.
Das folgende Beispiel zeigt, wie man eine Chat-Vervollständigung löscht. Eine vollständige Liste der verfügbaren Parameter finden Sie unter Chat-Vervollständigung löschen.
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>"
Modelle auflisten
Erfahren Sie, welche Basismodelle in Ihrem Projekt verfügbar sind, und machen Sie sich mit deren Funktionen vertraut, damit Sie das für Ihren spezifischen Anwendungsfall am besten geeignete Modell auswählen und hinsichtlich Faktoren wie Antwortqualität, Geschwindigkeit oder Kosten optimieren können.
Das folgende Beispiel zeigt, wie Modelle aufgelistet werden. Eine vollständige Liste der verfügbaren Parameter finden Sie unter OpenAI-List-Modelle.
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)
Ein Modell anhand der ID abrufen
Durch das Abrufen detaillierter Informationen zu einem bestimmten Modell können Sie dessen Eigenschaften, Funktionen und Einschränkungen besser verstehen, bevor Sie es in Ihrer Anwendung einsetzen.
Das folgende Beispiel zeigt, wie man ein Modell anhand seiner ID abruft. Eine vollständige Liste der verfügbaren Parameter finden Sie unter Modell abrufen.
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)