Text

Die PaLM 2 for Text-Foundation-Models (text-bison, text-unicorn) sind für eine Vielzahl von Natural-Language-Aufgaben wie Sentimentanalyse, Entitätsextraktion und Erstellung von Inhalten optimiert. Zu den Inhaltstypen, die von PaLM 2 for Text-Modelle erstellt werden können, gehören Dokumentzusammenfassungen, Antworten auf Fragen und Labels, mit denen Inhalte klassifiziert werden.

Die PaLM 2 for Text-Modelle sind ideal für Aufgaben, die mit einer einzigen API-Antwort ausgeführt werden können, ohne dass eine kontinuierliche Unterhaltung erforderlich ist. Verwenden Sie für Textaufgaben, die eine gegenseitige Kommunikation erfordern, die Generative AI in Vertex AI API für Chats.

Wählen Sie zum Entdecken der Modelle in der Console die PaLM 2 for Text-Modellkarte im Model Garden aus.
Zum Model Garden

Anwendungsfälle

  • Zusammenfassung: Erstellen Sie eine kürzere Version eines Dokuments, die die entsprechenden Informationen aus dem Originaltext enthält. Sie könnten zum Beispiel ein Kapitel aus einem Lehrbuch zusammenfassen wollen. Alternativ können Sie eine prägnante Produktbeschreibung aus einem langen Absatz erstellen, die das Produkt detailliert beschreibt.

  • Fragen beantworten: Geben Sie Antworten auf Fragen im Text ein. So können Sie beispielsweise das Erstellen eines Dokuments mit häufig gestellten Fragen (FAQs) aus Wissensdatenbankinhalten automatisieren.

  • Klassifizierung: Weisen Sie dem bereitgestellten Text ein Label zu. Ein Label könnte beispielsweise auf Text angewendet werden und beschreiben, wie grammatikalisch korrekt er ist.

  • Sentimentanalyse: Dies ist eine Form der Klassifizierung, die die Stimmung des Texts identifiziert. Die Stimmung wird in ein Label umgewandelt, das auf den Text angewendet wird. Die Stimmung eines Textes kann z.B. positiv oder negativ sein, oder Gefühle wie Ärger oder Freude zeigen.

  • Entitätsextraktion: Extrahieren Sie eine Information aus Text. So können Sie beispielsweise den Namen eines Films aus dem Text eines Artikels extrahieren.

Weitere Informationen zum Entwerfen von Text-Prompts finden Sie unter Text-Prompts entwerfen.

HTTP-Anfrage

POST https://us-central1-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/us-central1/publishers/google/models/text-bison:predict

Weitere Informationen finden Sie unter predict-Methode.

Modellversionen

Wenn Sie die neueste Modellversion verwenden möchten, geben Sie den Modellnamen ohne Versionsnummer an, z. B. text-bison.

Wenn Sie eine stabile Modellversion verwenden möchten, geben Sie die Modellversionsnummer an, z. B. text-bison@002. Stabile Versionen sind ab dem Releasedatum der nachfolgenden stabilen Version noch sechs Monate verfügbar.

Die folgende Tabelle enthält die verfügbaren stabilen Modellversionen:

text-bison-Modell Veröffentlicht Einstellungsdatum
(text-bison@002) 6. Dezember 2023 09. April 2025
Text-Unicorn-Modell Veröffentlicht Einstellungsdatum
text-unicorn@001 30. November 2023 09. April 2025

Weitere Informationen finden Sie unter Modellversionen und Lebenszyklus.

Anfragetext

{
  "instances": [
    {
      "prompt": string
    }
  ],
  "parameters": {
    "temperature": number,
    "maxOutputTokens": integer,
    "topK": integer,
    "topP": number,
    "groundingConfig": string,
    "stopSequences": [ string ],
    "candidateCount": integer,
    "logprobs": integer,
    "presencePenalty": float,
    "frequencyPenalty": float,
    "echo": boolean,
    "seed": integer
  }
}

Verwenden Sie folgende Parameter für das Textmodell text-bison. Weitere Informationen finden Sie unter Text-Prompts entwerfen.

Parameter Beschreibung Zulässige Werte

prompt

Texteingabe zum Generieren einer Modellantwort. Prompts können Fragen, Vorschläge, Anleitungen oder Beispiele enthalten. Text

temperature

Die Temperatur wird für die Probenahme während der Antwortgenerierung verwendet. Dies passiert, wenn topP und topK angewendet werden. Die Temperatur bestimmt den Grad der Zufälligkeit bei der Tokenauswahl. Niedrigere Temperaturen eignen sich gut für Prompts, die eine weniger offene oder kreative Antwort erfordern, während höhere Temperaturen zu vielfältigeren oder kreativeren Ergebnissen führen können. Eine Temperatur von 0 bedeutet, dass immer die Tokens mit der höchsten Wahrscheinlichkeit ausgewählt werden. In diesem Fall sind die Antworten auf einen bestimmten Prompt größtenteils deterministisch, aber eine gewisse Variation ist dennoch möglich.

Wenn das Modell eine zu allgemeine oder zu kurze Antwort zurückgibt, oder wenn das Modell eine Fallback-Antwort ausgibt, versuchen Sie, die Temperatur zu erhöhen.

0.0–1.0

Default: 0.0

maxOutputTokens

Maximale Anzahl an Tokens, die in der Antwort generiert werden können. Ein Token besteht aus etwa vier Zeichen. 100 Tokens entsprechen etwa 60–80 Wörtern.

Geben Sie kürzere Werte für kürzere Antworten und höhere Werte für längere Antworten an.

1–2048 für text-bison (latest)

1–1024 für text-bison@002

Default: 1024

topK

Der Wert „Top-K“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Ein „Top-K“ von 1 bedeutet, dass das nächste ausgewählte Token unter den Tokens im Modell-Vokabular (auch als gierige Decodierung bezeichnet) am wahrscheinlichsten ist, während ein „Top-K“ von 3 bedeutet, dass das nächste Token mithilfe der Temperatur aus den drei wahrscheinlichsten Tokens ausgewählt wird.

Für jeden Tokenauswahlschritt werden die „Top-K“-Tokens mit den höchsten Wahrscheinlichkeiten abgetastet. Anschließend werden Tokens weiter auf der Grundlage von „Top-P“ gefiltert, wobei das endgültige Token mithilfe von Temperaturproben ausgewählt wird.

Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an.

1–40

Default: 40

topP

Der Wert „Top-P“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Die Tokens werden von den wahrscheinlichsten (siehe „Top-K“) bis zu den unwahrscheinlichsten Werten ausgewählt, bis die Summe ihrer Wahrscheinlichkeiten dem „Top-P“-Wert entspricht. Beispiel: Wenn die Tokens A, B und C eine Wahrscheinlichkeit von 0,3, 0,2 und 0,1 haben und der „Top-P“-Wert 0.5 ist, wählt das Modell anhand der Temperatur entweder A oder B als das nächste Token und C als Kandidaten ausschließen.

Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an.

0.0–1.0

Default: 0.95

stopSequence

Gibt eine Liste an Strings an, die das Modell anweist, Text nicht mehr zu generieren, wenn einer der Strings in der Antwort gefunden wird. Kommt ein String mehrmals in der Antwort vor, so wird die Antwort an der Stelle abgeschnitten, an der er erfasst wurde. Bei Strings wird zwischen Groß- und Kleinschreibung unterschieden.

Wenn zum Beispiel folgende Antwort zurückgegeben wird und stopSequences nicht angegeben ist:

public static string reverse(string myString)

Dann lautet zurückgegebene Antwort mit stopSequences auf ["Str", "reverse"] gesetzt:

public static string

default: []

groundingConfig

Mit Fundierung können Sie bei der Verwendung von Sprachmodellen auf bestimmte Daten verweisen. Wenn Sie ein Modell fundieren, kann das Modell auf interne, vertrauliche und anderweitig spezifische Daten aus Ihrem Repository verweisen und die Daten in die Antwort aufnehmen. Es werden nur Datenspeicher aus Vertex AI Search unterstützt.

Der Pfad muss das folgende Format haben: projects/{project_number_or_id}/locations/global/collections/{collection_name}/dataStores/{DATA_STORE_ID}

candidateCount

Die Anzahl der zurückzugebenden Antwortvarianten. Für jede Anfrage werden Ihnen die Ausgabetokens aller Kandidaten in Rechnung gestellt, aber nur einmal für die Eingabetokens.

Die Angabe mehrerer Kandidaten ist eine Funktion in der Vorabversion, die mit generateContent funktioniert (streamGenerateContent wird nicht unterstützt). Die folgenden Modelle werden unterstützt:

  • Gemini 1.5 Flash: 18, Standardeinstellung: 1
  • Gemini 1.5 Pro: 18, Standardeinstellung: 1
  • Gemini 1.0 Pro: 18, Standardeinstellung: 1

1–4

Default: 1

logprobs

Gibt die Log-Wahrscheinlichkeiten der Top-Kandidaten-Token bei jedem Generierungsschritt zurück. Das vom Modell ausgewählte Token ist möglicherweise nicht mit dem Top-Kandidaten-Token in jedem Schritt identisch. Geben Sie die Anzahl der Kandidaten an, die zurückgegeben werden sollen, indem Sie eine Ganzzahl im Bereich von 1 bis 5 angeben.

0-5

frequencyPenalty

Positive Werte nehmen Abzüge bei Tokens vor, die wiederholt im generierten Text angezeigt werden, wodurch die Wahrscheinlichkeit wiederholter Inhalte verringert wird. Der Mindestwert beträgt -2.0. Der Höchstwert beträgt 2.0.

Minimum value: -2.0

Maximum value: 2.0

presencePenalty

Positive Werte nehmen Abzüge bei Tokens vor, die wiederholt im generierten Text angezeigt werden, wodurch die Wahrscheinlichkeit wiederholter Inhalte verringert wird. Der Mindestwert beträgt -2.0. Der Höchstwert beträgt 2.0.

Minimum value: -2.0

Maximum value: 2.0

echo

Bei „true“ wird die Eingabeaufforderung im generierten Text zurückgegeben.

Optional

seed

Wenn die Seed-Daten auf einen bestimmten Wert festgelegt sind, versucht das Modell, für wiederholte Anfragen dieselbe Antwort bereitzustellen. Die deterministische Ausgabe wird nicht zwangsläufig erfüllt. Wenn Sie die Modell- oder Parametereinstellungen ändern, z. B. die Temperatur, kann dies außerdem zu Abweichungen in der Antwort führen, selbst wenn Sie denselben Seed-Wert verwenden. Standardmäßig wird ein zufälliger Startwert verwendet.

Dies ist eine Funktion in der Vorabversion.

Optional

Beispielanfrage

REST

Senden Sie zum Testen eines Text-Prompts mit der Vertex AI API eine POST-Anfrage an den Endpunkt des Publisher-Modells.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

Informationen zu anderen Feldern finden Sie in der Tabelle Anfragetext.

HTTP-Methode und URL:

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-bison:predict

JSON-Text der Anfrage:

{
  "instances": [
    { "prompt": "Give me ten interview questions for the role of program manager."}
  ],
  "parameters": {
    "temperature": 0.2,
    "maxOutputTokens": 256,
    "topK": 40,
    "topP": 0.95,
    "logprobs": 2
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-bison:predict"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-bison:predict" | Select-Object -Expand Content

Sie sollten eine JSON-Antwort ähnlich wie die Beispielantwort erhalten.

Python

Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.

import vertexai

from vertexai.language_models import TextGenerationModel

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"
vertexai.init(project=PROJECT_ID, location="us-central1")
parameters = {
    "temperature": 0.2,  # Temperature controls the degree of randomness in token selection.
    "max_output_tokens": 256,  # Token limit determines the maximum amount of text output.
    "top_p": 0.8,  # Tokens are selected from most probable to least until the sum of their probabilities equals the top_p value.
    "top_k": 40,  # A top_k of 1 means the selected token is the most probable among all tokens.
}

model = TextGenerationModel.from_pretrained("text-bison@002")
response = model.predict(
    "Give me ten interview questions for the role of program manager.",
    **parameters,
)
print(f"Response from Model: {response.text}")
# Example response:
# Response from Model:  1. **Tell me about your experience managing programs.**
# 2. **What are your strengths and weaknesses as a program manager?**
# 3. **What do you think are the most important qualities for a successful program manager?**
# ...

Node.js

Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.

Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

/**
 * TODO(developer): Update these variables before running the sample.
 */
const PROJECT_ID = process.env.CAIP_PROJECT_ID;
const LOCATION = 'us-central1';
const PUBLISHER = 'google';
const MODEL = 'text-bison@001';
const aiplatform = require('@google-cloud/aiplatform');

// Imports the Google Cloud Prediction service client
const {PredictionServiceClient} = aiplatform.v1;

// Import the helper module for converting arbitrary protobuf.Value objects.
const {helpers} = aiplatform;

// Specifies the location of the api endpoint
const clientOptions = {
  apiEndpoint: 'us-central1-aiplatform.googleapis.com',
};

// Instantiates a client
const predictionServiceClient = new PredictionServiceClient(clientOptions);

async function callPredict() {
  // Configure the parent resource
  const endpoint = `projects/${PROJECT_ID}/locations/${LOCATION}/publishers/${PUBLISHER}/models/${MODEL}`;

  const prompt = {
    prompt:
      'Give me ten interview questions for the role of program manager.',
  };
  const instanceValue = helpers.toValue(prompt);
  const instances = [instanceValue];

  const parameter = {
    temperature: 0.2,
    maxOutputTokens: 256,
    topP: 0.95,
    topK: 40,
  };
  const parameters = helpers.toValue(parameter);

  const request = {
    endpoint,
    instances,
    parameters,
  };

  // Predict request
  const response = await predictionServiceClient.predict(request);
  console.log('Get text prompt response');
  console.log(response);
}

callPredict();

Java

Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.

Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


import com.google.cloud.aiplatform.v1.EndpointName;
import com.google.cloud.aiplatform.v1.PredictResponse;
import com.google.cloud.aiplatform.v1.PredictionServiceClient;
import com.google.cloud.aiplatform.v1.PredictionServiceSettings;
import com.google.protobuf.Value;
import com.google.protobuf.util.JsonFormat;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class PredictTextPromptSample {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    // Details of designing text prompts for supported large language models:
    // https://cloud.google.com/vertex-ai/docs/generative-ai/text/text-overview
    String instance =
        "{ \"prompt\": " + "\"Give me ten interview questions for the role of program manager.\"}";
    String parameters =
        "{\n"
            + "  \"temperature\": 0.2,\n"
            + "  \"maxOutputTokens\": 256,\n"
            + "  \"topP\": 0.95,\n"
            + "  \"topK\": 40\n"
            + "}";
    String project = "YOUR_PROJECT_ID";
    String location = "us-central1";
    String publisher = "google";
    String model = "text-bison@001";

    predictTextPrompt(instance, parameters, project, location, publisher, model);
  }

  // Get a text prompt from a supported text model
  public static void predictTextPrompt(
      String instance,
      String parameters,
      String project,
      String location,
      String publisher,
      String model)
      throws IOException {
    String endpoint = String.format("%s-aiplatform.googleapis.com:443", location);
    PredictionServiceSettings predictionServiceSettings =
        PredictionServiceSettings.newBuilder().setEndpoint(endpoint).build();

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (PredictionServiceClient predictionServiceClient =
        PredictionServiceClient.create(predictionServiceSettings)) {
      final EndpointName endpointName =
          EndpointName.ofProjectLocationPublisherModelName(project, location, publisher, model);

      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      Value.Builder instanceValue = Value.newBuilder();
      JsonFormat.parser().merge(instance, instanceValue);
      List<Value> instances = new ArrayList<>();
      instances.add(instanceValue.build());

      // Use Value.Builder to convert instance to a dynamically typed value that can be
      // processed by the service.
      Value.Builder parameterValueBuilder = Value.newBuilder();
      JsonFormat.parser().merge(parameters, parameterValueBuilder);
      Value parameterValue = parameterValueBuilder.build();

      PredictResponse predictResponse =
          predictionServiceClient.predict(endpointName, instances, parameterValue);
      System.out.println("Predict Response");
      System.out.println(predictResponse);
    }
  }
}

Antworttext

{
  "predictions":[
    {
      "content": string,
      "citationMetadata": {
        "citations": [
          {
            "startIndex": integer,
            "endIndex": integer,
            "url": string,
            "title": string,
            "license": string,
            "publicationDate": string
          }
        ]
      },
      "logprobs": {
        "tokenLogProbs": [ float ],
        "tokens": [ string ],
        "topLogProbs": [ { map<string, float> } ]
      },
      "safetyAttributes": {
        "categories": [ string ],
        "blocked": boolean,
        "scores": [ float ],
        "errors": [ int ]
      }
    }
  ],
  "metadata": {
    "tokenMetadata": {
      "input_token_count": {
        "total_tokens": integer,
        "total_billable_characters": integer
      },
      "output_token_count": {
        "total_tokens": integer,
        "total_billable_characters": integer
      }
    }
  }
}
Antwortelement Beschreibung
content Das aus dem Eingabetext generierte Ergebnis.
categories Die Anzeigenamen von mit den generierten Inhalten verknüpften Sicherheitsattributkategorien. Die Reihenfolge entspricht den Scores.
scores Ein Konfidenzwert für die einzelnen Kategorien; ein höherer Wert bedeutet mehr Vertrauen.
blocked Ein Flag, das angibt, ob die Ein- oder Ausgabe des Modells blockiert wurde.
errors Ein Fehlercode, der angibt, warum die Ein- oder Ausgabe blockiert wurde. Eine Liste der Fehlercodes finden Sie unter Sicherheitsfilter und -attribute.
startIndex Gibt in der Vorhersageausgabe an, wo das Zitat beginnt (einschließlich). Muss >= 0 und < end_index sein.
endIndex Gibt in der Vorhersageausgabe an, wo das Zitat endet (exklusiv). Muss > start_index und < len(output) sein.
url Mit diesem Zitat verknüpfte URL. Sofern vorhanden, verweist diese URL auf die Webseite der Quelle dieses Zitats. Mögliche URLs sind unter anderem Nachrichtenwebsites, GitHub-Repositories usw.
title Titel, der mit diesem Zitat verknüpft ist. Wenn vorhanden, bezieht er sich auf den Titel der Quelle des Zitats. Mögliche Titel sind beispielsweise Nachrichtentitel, Buchtitel usw.
license Mit dieser Rezitation verknüpfte Lizenz. Falls vorhanden, bezieht sie sich auf die Lizenz der Quelle dieses Zitats. Mögliche Lizenzen sind Codelizenzen, z. B. mit-Lizenz.
publicationDate Veröffentlichungsdatum, das mit dem Zitat verknüpft ist. Falls vorhanden, bezieht sich dies auf das Datum, an dem die Quelle des Zitats veröffentlicht wurde. Mögliche Formate sind JJJJ, JJJJ-MM, JJJJ-MM-TT.
input_token_count Anzahl der Eingabetokens. Dies ist die Gesamtzahl der Tokens für alle Eingabeaufforderungen, Präfixe und Suffixe.
output_token_count Anzahl der Ausgabetokens. Dies ist die Gesamtzahl der Tokens in content für alle Vorhersagen.
tokens Die Stichprobentokens.
tokenLogProbs Die Logwahrscheinlichkeit der Stichprobentokens.
topLogProb Die wahrscheinlichsten Tokens und ihre Logwahrscheinlichkeit bei jedem Schritt
logprobs Ergebnisse des Parameters „logprobs”. 1:1-Zuordnung zu "Kandidaten".

Beispielantwort

{
  "predictions": [
    {
      "citationMetadata":{
        "citations": [ ]
      },
      "safetyAttributes":{
        "scores": [
          0.1
        ],
        "categories": [
          "Finance"
        ],
        "blocked": false
      },
      "content":"1. What is your experience with project management?\n2. What are your strengths and weaknesses as a project manager?\n3. How do you handle conflict and difficult situations?\n4. How do you communicate with stakeholders?\n5. How do you stay organized and on track?\n6. How do you manage your time effectively?\n7. What are your goals for your career?\n8. Why are you interested in this position?\n9. What are your salary expectations?\n10. What are your availability and start date?",
      "logprobs": {
        "tokenLogProbs": [
          -0.1,
          -0.2
        ],
        "tokens": [
          "vertex",
          " rocks!"
        ],
        "topLogProbs": [
          {
            "vertex": -0.1,
            "hello": -0.2
          },
          {
            " rocks!": -0.2,
            " world!": -0.3
          }
        ]
      }
    },
    "metadata": {
      "tokenMetadata": {
        "outputTokenCount": {
          "totalTokens": 153,
          "totalBillableCharacters": 537
        },
        "inputTokenCount": {
          "totalBillableCharacters": 54,
          "totalTokens": 12
        }
      }
    }
  ]
}

Streamantwort von Modellen der generativen KI.

Die Parameter für Streaming- und Nicht-Streaming-Anfragen an die APIs sind identisch.

Beispiele für die Verwendung von REST API-Beispielanfragen und -Antworten finden Sie unter Beispiele, die die REST-API verwenden.

Um Beispielcodeanfragen und -antworten mit dem Vertex AI SDK für Python anzuzeigen, lesen Sie Beispiele, die Vertex AI SDK für Python verwenden.