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.

  1. Öffnen Sie in der Konsole den Dienst Red Hat AI Inference und klicken Sie auf den Namen Ihres Projekts, um es zu öffnen.

  2. Klicken Sie auf der Projektseite auf Playground, um den Inference Playground zu öffnen.

  3. 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)