Sie können mit Basismodellen in IBM watsonx.ai programmgesteuert mithilfe der API watsonx.ai arbeiten.
Siehe die API-Referenzdokumentation .
Mit der REST-API können Sie die folgenden Aufgabentypen ausführen. Klicken Sie auf eine Aufgabe, um eine Übersicht über die Methode zu lesen.
- Informationen zum foundation model abrufen
- Inferenzgrundlagenmodelle
- Prompt-Tuning eines foundation model
Sie können die REST-API auch für die folgenden Aufgaben verwenden:
- Fügen Sie mit der Chat-API einen generativen Chat zu Ihren Anwendungen hinzu
- Erstellen von agentengesteuerten Chat-Workflows
- Text aus Dokumenten extrahieren
- Text vektorisieren
- Dokumentpassagen neu bewerten
- Prognostizieren Sie zukünftige Werte
Voraussetzungen
Auf der Seite für den Entwicklerzugang können Sie schnell auf die folgenden Informationen zugreifen:
- URL für API-Endpunkte und Ihre
- Projekt- oder Raum-ID
Öffnen Sie auf der watsonx.ai -Homepage für das Projekt oder den Bereich, mit dem Sie arbeiten möchten, das Navigationsmenü und klicken Sie dann auf Entwicklerzugriff .
Sie benötigen außerdem die folgenden Informationen, um REST-API-Anfragen zu übermitteln:
Zur Verwendung der API watsonx.ai benötigen Sie ein Trägertoken.
Weitere Informationen finden Sie unter Berechtigungsnachweise für programmgesteuerten Zugriff.
Sie müssen den "
{model_id}
für das zu verwendende foundation model angeben.Mit der Methode „Verfügbare Basismodelle auflisten“ können Sie die ID für ein foundation model abrufen.
Eine Liste der Modell-IDs für die Basismodelle, die in watsonx.aienthalten sind, finden Sie unter Basismodell-IDs für APIs.
Geben Sie das Datum, an dem Sie Ihren Code erstellt und getestet haben, im Versionsparameter an, der für jede Anforderung erforderlich ist. Beispiel:
version=2024-10-21
.
Bei einigen Aufgaben müssen Sie sich auf Daten beziehen, die als Datenverbindung zur Verfügung gestellt werden. Weitere Informationen zum Hinzufügen einer Datei und zum anschließenden Verweisen auf eine Datei über die API finden Sie unter Referenzieren von Dateien aus der API.
Abrufen einer Liste verfügbarer Fundamentmodelle
Die Methode List the available foundation models in der watsonx.ai API liefert Informationen über die Foundation Models, die von IBM in watsonx.ai bereitgestellt werden und sofort zur Inferenzierung zur Verfügung stehen.
curl -X GET \
'https://{region}.ml.cloud.ibm.com/ml/v1/foundation_model_specs?version=2024-05-01'
Auflistung individueller Stiftungsmodelle
Um eine Liste der bereitgestellten benutzerdefinierten Foundation-Modelle zu erhalten, auf die Sie zugreifen können, verwenden Sie die folgende Methode. Für diese Methode ist ein Überbringer-Token erforderlich.
curl -X GET \
'https://{region}.ml.cloud.ibm.com/ml/v4/deployments?version=2024-12-12&type=custom_foundation_model'
Auflistung von Bereitstellungsmodellen auf Anfrage
Verwenden Sie die folgende Methode, um eine Liste der verfügbaren Deploy-on-Demand-Foundation-Modelle zu erhalten:
curl -X GET \
'https://{region}.ml.cloud.ibm.com/ml/v1/foundation_model_specs?version=2024-12-10&filters=curated'
Sie müssen das Deploy-on-Demand-Modell in einem Deployment Space einsetzen, bevor Sie das Modell ableiten können.
Ableiten von Basismodellen mit der REST-API
Die Methode, die Sie zum Ableiten eines foundation model verwenden, hängt davon ab, ob das foundation model mit einer Bereitstellung verknüpft ist.
Um ein foundation model zu inferenzieren, das von IBM in watsonx.ai eingesetzt wird, verwenden Sie die Methode der Texterstellung.
Verwenden Sie zum Ableiten eines abgestimmten foundation model, eines benutzerdefinierten foundation model oder eines foundation model die Methode Deployments>Infer text.
{model_id}
ist bei diesem Anforderungstyp nicht erforderlich, da von der Implementierung nur ein Modell unterstützt wird.
Inferenz-Typen
Sie können ein foundation model mit einer der folgenden Textgenerierungsmethoden auffordern:
- Text inferieren: Wartet darauf, die vom foundation model erzeugte Ausgabe auf einmal zurückzugeben.
- Ableitung des Text-Ereignisstroms: Gibt die Ausgabe zurück, wie sie vom foundation model erzeugt wird. Diese Methode ist in Konversationsanwendungsfällen nützlich, in denen Sie möchten, dass ein Chatbot oder virtueller Assistent einem Benutzer auf flüssige Weise antwortet, die eine echte Konversation nachahmt.
Verwenden Sie für Chat-Anwendungen die Chat-API. Weitere Informationen finden Sie unter Text-Chat.
Anwendung von AI-Leitplanken beim Inferencing
Wenn Sie ein foundation model über die API abfragen, können Sie das Feld " moderations
verwenden, um AI-Leitplanken auf die Ein- und Ausgabe foundation model anzuwenden. Weitere Informationen finden Sie unter Entfernen schädlicher Sprache aus der Modell-Eingabe und -Ausgabe.
Inferencing mit einer Prompt-Vorlage
Sie können ein foundation model mit Eingabetext ableiten, der einem Muster folgt, das durch eine Eingabeaufforderungsvorlage definiert ist.
Weitere Informationen finden Sie unter Erstellen einer Eingabeaufforderungsvorlage.
Führen Sie die folgenden Schritte aus, um den Text der Eingabeaufforderung zu extrahieren und als Eingabe für die Texterstellungsmethode zu verwenden:
Verwenden Sie die Methode Suche nach Asset-Typen der Watson Data API, um die ID der Eingabeaufforderungsvorlage zu erhalten.
curl -X POST \ 'https://api.dataplatform.cloud.ibm.com/v2/asset_types/wx_prompt/search?version=2024-07-29&project_id={project_id}' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ACCESS_TOKEN' \ --data '{ "query": "asset.name:{template_name}" }'
Die ID der Aufforderungsvorlage wird als
metadata.asset_id
angegeben.Verwenden Sie die Methode Get the inference input string for a given prompt, um den Text der Prompt-Vorlage zu erhalten.
curl -X POST \ 'https://api.dataplatform.cloud.ibm.com/wx/v1/prompts/{prompt-template-id}/input?version=2024-07-29&project_id={project_id}' ...
Weitere Informationen finden Sie unter Abrufen der Inferenz-Eingabezeichenfolge für eine bestimmte Eingabeaufforderung
Sie können den extrahierten Prompt-Text als Eingabe an die Methode Texterzeugung übermitteln.
Prompt-Tuning eines foundation model
Die zeitnahe Abstimmung eines foundation model ist eine komplexe Aufgabe. Die Python vereinfachen den Prozess. Sie können ein Beispielnotizbuch als Vorlage für das Schreiben Ihrer eigenen Notizbücher zur zeitnahen Feinabstimmung verwenden.
Im Großen und Ganzen umfasst die Abstimmung eines foundation model mit Hilfe der API die folgenden Schritte:
Erstellen Sie eine Trainingsdatendatei zur Abstimmung des foundation model.
Weitere Informationen zu den Anforderungen an die Trainingsdatendatei finden Sie unter Datenformate zum Optimieren von Basismodellen .
Laden Sie Ihre Trainingsdatendatei hoch.
Sie können die Datei hinzufügen, indem Sie einen der folgenden Asset-Typen erstellen:
Verbindungsasset
Notiz: Nur ein Cloud Object Storage Der Verbindungstyp wird derzeit für das Prompt-Tuning-Training unterstützt.
Sehen Referenzieren von Dateien aus der API.
Sie verwenden die Verbindungs-ID und die Details der Trainingsdatendatei beim Hinzufügen der
training_data_references
Abschnitt zumrequest.json
Datei, die Sie im nächsten Schritt erstellen.Datenasset
Um ein Datenasset zu erstellen, verwenden Sie die Data and AI Common Core API, um ein Datenasset zu definieren .
Sie verwenden die Asset-ID und die Details der Trainingsdatendatei beim Hinzufügen des
training_data_references
Abschnitt zumrequest.json
Datei, die Sie im nächsten Schritt erstellen.
Weitere Informationen zu den unterstützten Möglichkeiten zum Verweisen auf eine Trainingsdatendatei finden Sie unter Datenreferenzen .
Verwenden Sie die watsonx.ai API zum Erstellen eines Trainingsexperiments.
Siehe „Erstellen eines Trainings“ .
Sie können Parameter für das Experiment festlegen im
TrainingResource
Nutzlast. Weitere Informationen zu den verfügbaren Parametern finden Sie unter Parameter zur Abstimmung von Fundamentmodellen.Geben Sie für
task_id
eine der Aufgaben an, die in der Antwort auf die Methode „Liste der verfügbaren Foundation-Modelle“ als für das foundation model unterstützt aufgeführt sind.Speichern Sie das optimierte Modell im Repository-Dienst, um eine
asset_id
das deutet auf das getunte Modell hin.Um das optimierte Modell zu speichern, verwenden Sie die watsonx.ai Runtime-API (früher Watson Machine Learning ), um ein neues Modell zu erstellen .
Verwenden Sie die watsonx.ai API zum Erstellen einer Bereitstellung für das optimierte Modell.
Um auf ein optimiertes Modell zurückzuschließen, müssen Sie den Inferenzendpunkt verwenden, der die eindeutige ID der Bereitstellung enthält, die das optimierte Modell hostet. Weitere Informationen finden Sie in den Inferenzmethoden im Abschnitt „Bereitstellungen“ .
Python Notebooks
Die Bibliothek Python verfügt über Helper-Klassen und zugehörige Beispielnotebooks, die die Verwendung der verfügbaren API-Methoden in Ihren abgeleiteten KI-Anwendungen vereinfachen. Weitere Informationen finden Sie unter Python -Bibliothek.
Übergeordnetes Thema: Coding generative AI-Lösungen