0 / 0

Programmgesteuertes Ableiten eines Fundamentmodells ( Python )

Letzte Aktualisierung: 27. Mai 2025
Programmgesteuertes Ableiten eines Fundamentmodells ( Python )

Sie können Basismodelle in IBM watsonx.ai über das Programm mithilfe der Python -Bibliothek anfordern.

Nachdem Sie eine Eingabeaufforderung in Prompt Lab erstellt haben, können Sie die Eingabeaufforderung als Notizbuch speichern und das Notizbuch dann bearbeiten. Es ist nützlich, mit einem generierten Notizbuch zu beginnen, da es die ersten Einrichtungsschritte, wie das Abrufen von Anmeldedaten und der Projekt-ID, für Sie übernimmt.

Alternativ können Sie mit Fundamentmodellen direkt aus einem neuen Notizbuch arbeiten, das Sie in watsonx.ai erstellen.

Weitere Informationen sind in der Klasse ModelInference der Bibliothek watsonx.ai Python zu finden.

Beispielnotebooks

Informationen zu Beispielnotebooks, die verschiedene in watsonx.aiverfügbare Basismodelle abfragen, finden Sie unter Python -Beispielnotebooks. Die meisten dieser Notebooks sind auch über den Ressourcenhub verfügbar.

Das Beispiel watsonx zur Analyse von Bewertungen von Autovermietungen ist ein Notizbuch, das Sie ausführen können, um die Schritte zu erlernen, die mit der Inferenzierung eines Basismodells in watsonx.ai verbunden sind.

Aufforderung zu einem Stiftungsmodell

Bevor Sie ein Basismodell abfragen, sollten Sie sich eine Liste der Basismodelle besorgen, die in watsonx.ai zum Inferencing zur Verfügung stehen. Weitere Informationen finden Sie unter Informationen zu verfügbaren Basismodellen abrufen.

Der folgende Beispielcode zeigt, wie Sie das flan-t5-xxl-11b -Modell mit verschiedenen Methoden abfragen, damit Sie den Typ der von den einzelnen Methoden generierten Ausgabe vergleichen können.

Obwohl nur das Beispiel, das zeigt, wie ein Textdatenstrom generiert wird, Modellparameter für Eingabeaufforderungen enthält, können Sie Parameter für alle Methoden angeben. Der Parameter validate=False beschleunigt die Anfrage, indem er den Schritt der Überprüfung überspringt, ob die Modell-ID gültig ist und auf ein verfügbares Fundamentmodell verweist.

Beispielcode Python für die Abfrage eines Fundamentmodells

import json
from ibm_watsonx_ai import APIClient
from ibm_watsonx_ai.foundation_models import ModelInference
from ibm_watsonx_ai.metanames import GenTextParamsMetaNames as GenParams
from ibm_watsonx_ai.foundation_models.utils.enums import DecodingMethods

my_credentials = {
  "url": "https://{region}.ml.cloud.ibm.com",
  "apikey": {my-IBM-Cloud-API-key},
}

client = APIClient(my_credentials)

gen_parms = {
    GenParams.DECODING_METHOD: DecodingMethods.SAMPLE,
    GenParams.MAX_NEW_TOKENS: 100
}
model_id = client.foundation_models.TextModels.FLAN_T5_XXL
project_id = {my-project-ID}
space_id = None
verify = False

model = ModelInference(
  model_id=model_id,
  credentials=my_credentials,
  params=gen_parms,
  project_id=project_id,
  space_id=space_id,
  verify=verify,
)

prompt_txt = "In today's sales meeting, we "
gen_parms_override = gen_parms = {
    GenParams.DECODING_METHOD: DecodingMethods.SAMPLE,
    GenParams.MAX_NEW_TOKENS: 50
}

# GENERATE

generated_response = model.generate(prompt=prompt_txt, params=gen_parms_override)

print("Output from generate() method:")
print(json.dumps(generated_response, indent=2))

# GENERATE TEXT

generated_text_response = model.generate_text(prompt=prompt_txt, params=gen_parms_override)

print("Output from generate_text() method:")
print(generated_text_response)

# GENERATE STREAM

gen_stream_params = {
  GenParams.DECODING_METHOD: DecodingMethods.GREEDY,
  GenParams.TEMPERATURE: 0.5,
  GenParams.MIN_NEW_TOKENS: 10,
  GenParams.MAX_NEW_TOKENS: 20
}

print("Output from generate_text_stream() method:")
stream_response = model.generate_text_stream(prompt=prompt_txt, params=gen_stream_params)

for chunk in stream_response:
  print(chunk, end='')
Hinweis:

Zur Verwendung des Beispielcodes müssen Sie {region}, {my-IBM-Cloud-API-key}und {my-project-ID} durch gültige Werte für Ihre Umgebung ersetzen.

Ausgabe der Methode generate ()

{
  "model_id": "google/flan-t5-xxl",
  "created_at": "2023-07-27T03:40:17.575Z",
  "results": [
    {
      "generated_text": "will discuss the new product line.",
      "generated_token_count": 8,
      "input_token_count": 10,
      "stop_reason": "EOS_TOKEN"
    }
  ],
  ...
}

Ausgabe der Methode generate_text ()

will discuss the new product line.

Ausgabe der Methode generate_text_stream ()

will discuss the new product line. Let's start with marketing plans

Schädliche Inhalte entfernen

Wenn Sie eine Eingabeaufforderung an ein Stiftungsmodell senden, sind der Filter für Hass, Beleidigungen und Obszönitäten (HAP) und der Filter für personenbezogene Daten (PII) standardmäßig deaktiviert. Sie können sie aktivieren und die Sensitivität des HAP-Filters über das Feld moderations in der API angeben.

Weitere Informationen zur Funktionsweise des Filters finden Sie unter schädliche Sprache aus Modelleingabe und -ausgabe entfernen.

Um die Guardrails-Filter mit den Standardeinstellungen zu verwenden, die bei der Verwendung der Bibliothek Python angewendet werden, fügen Sie den folgenden Parameter in die Anfrage ein:

response = model.generate(prompt,guardrails=True)

Das folgende Codebeispiel zeigt, wie die Filter aktiviert und konfiguriert werden.

guardrails_hap_params = {
  GenTextModerationsMetaNames.INPUT: False,
  GenTextModerationsMetaNames.THRESHOLD: 0.45
}
guardrails_pii_params = {
  GenTextModerationsMetaNames.INPUT: False,
  GenTextModerationsMetaNames.OUTPUT: True,
  GenTextModerationsMetaNames.MASK: {"remove_entity_value": True}
}

response = model.generate(prompt,
  guardrails=True,
  guardrails_hap_params=guardrails_hap_params,
  guardrails_pii_params=guardrails_pii_params)

Übergeordnetes Thema: Texterstellung