Testo

I modelli di base PaLM 2 for Text (text-bison, text-unicorn) sono ottimizzato per una varietà di attività di linguaggio naturale, come l'analisi del sentiment, l'estrazione di entità e la creazione di contenuti. I tipi di contenuti che PaLM 2 per i modelli di testo possono creare riassunti di documenti, risposte a domande ed etichette che classificano i contenuti.

I modelli PaLM 2 per il testo sono ideali per le attività che possono essere completate con una risposta dell'API, senza la necessità di una conversazione continua. Per attività di testo che richiedono uno scambio di idee interazioni, utilizza l'API generativa su Vertex AI per la chat.

Per esplorare i modelli nella console, seleziona la scheda del modello PaLM 2 per il testo in Model Garden.
Vai a Model Garden

Casi d'uso

  • Riassunto: crea una versione più breve di un documento che includa informazioni pertinenti del testo originale. Ad esempio, potresti voler riassumere un capitolo di un libro di testo. In alternativa, puoi creare una descrizione concisa del prodotto a partire da un lungo paragrafo che descrive dettagliatamente il prodotto.

  • Risposta alle domande: fornisci le risposte alle domande sotto forma di testo. Ad esempio, potresti automatizzare la creazione di un documento di domande frequenti a partire dai contenuti della knowledge base.

  • Classificazione: assegna un'etichetta al testo fornito. Ad esempio, un'etichetta potrebbe essere applicata al testo per descrivere la sua correttezza grammaticale.

  • Analisi del sentiment: è una forma di classificazione che identifica il sentiment del testo. Il sentiment viene trasformato in un'etichetta applicata al testo. Ad esempio, il sentiment del testo potrebbe essere costituito da polarità come positivo o negativo o da sentimenti come rabbia o felicità.

  • Estrazione di entità: estrai un'informazione dal testo. Ad esempio, puoi estrarre il nome di un film dal testo di un articolo.

Per ulteriori informazioni sulla progettazione dei prompt di testo, consulta Progettare prompt di testo.

Richiesta HTTP

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

Per saperne di più, consulta il metodo predict.

Versioni modello

Per utilizzare la versione più recente del modello, specifica il nome del modello senza numero di versione, ad esempio text-bison.

Per utilizzare una versione stabile del modello, specifica il numero di versione del modello, ad esempio text-bison@002. Ogni versione stabile è disponibile per sei mesi dopo la data di rilascio della versione stabile successiva.

La tabella seguente contiene le versioni stabili del modello disponibili:

modello text-bison Data di uscita Data di ritiro
text-bison@002 6 dicembre 2023 9 aprile 2025
modello text-unicorn Data di uscita Data di interruzione
text-unicorn@001 30 novembre 2023 9 aprile 2025

Per ulteriori informazioni, consulta Versioni e ciclo di vita dei modelli.

Corpo della richiesta

{
  "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
  }
}

Utilizza i seguenti parametri per il modello di testo text-bison. Per ulteriori informazioni, consulta Progettare prompt di testo.

Parametro Descrizione Valori accettati

prompt

Input di testo per generare la risposta del modello. I prompt possono includere preambolo, domande, suggerimenti, istruzioni o esempi. Testo

temperature

La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quando vengono applicati topP e topK. La temperatura controlla il grado di casualità nella selezione dei token. Le temperature basse sono ideali per prompt che richiedono risposte meno aperte o creative, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura di 0 significa che vengono sempre selezionati i token con la probabilità più alta. In questo caso, le risposte per un determinato prompt sono per lo più deterministiche, ma è comunque possibile una piccola variazione.

Se il modello restituisce una risposta troppo generica, troppo breve o fornisce una risposta di riserva, prova ad aumentare la temperatura.

0.0–1.0

Default: 0.0

maxOutputTokens

Numero massimo di token che possono essere generati nella risposta. Un token è di circa quattro caratteri. 100 token corrispondono a circa 60-80 parole.

Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe diverse.

1–2048 per text-bison (versione più recente)

1–1024 per text-bison@002

Default: 1024

topK

Top-K cambia il modo in cui il modello seleziona i token per l'output. Un top-K di 1 significa che il successivo token selezionato è il più probabile tra tutti nel vocabolario del modello (chiamato anche decodifica greedy), mentre una top-K di 3 significa che il token successivo viene selezionato tra i tre probabili token utilizzando la temperatura.

Per ogni fase di selezione dei token, vengono campionati i token Top-K con le probabilità più elevate. Quindi i token vengono ulteriormente filtrati in base a Top-P e il token finale viene selezionato utilizzando il campionamento con temperatura.

Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali.

1–40

Default: 40

topP

Top-P cambia il modo in cui il modello seleziona i token per l'output. I token vengono selezionati dal più probabile (vedi Top-K) al meno probabile finché la somma delle loro probabilità non corrisponde al valore di Top-P. Ad esempio, se i token A, B e C hanno una probabilità di 0,3, 0,2 e 0,1 e il valore di top-P è 0.5, il modello seleziona A o B come token successivo utilizzando la temperatura ed esclude C come candidato.

Specifica un valore più basso per risposte meno casuali e un valore più alto per più risposte risposte casuali.

0.0–1.0

Default: 0.95

stopSequence

Specifica un elenco di stringhe che indica al modello di interrompere la generazione di testo se viene rilevata una delle stringhe nella risposta. Se una stringa è presente in più volte in una risposta, la risposta viene troncata nel punto in cui viene rilevata per la prima volta. Le stringhe sono sensibili alle maiuscole.

Ad esempio, se la seguente è la risposta restituita quando stopSequences non è specificato:

public static string reverse(string myString)

Quindi la risposta restituita con il campo stopSequences impostato su ["Str", "reverse"] è:

public static string

default: []

groundingConfig

La messa a terra ti consente di fare riferimento a dati specifici quando utilizzi i modelli linguistici. Quando basato su un modello, questo può fare riferimento a dati interni, riservati e comunque specifici repository e includere i dati nella risposta. Sono supportati solo i datastore di Vertex AI Search.

Il percorso deve avere il seguente formato: projects/{project_number_or_id}/locations/global/collections/{collection_name}/dataStores/{DATA_STORE_ID}

candidateCount

Il numero di varianti della risposta da restituire. Per ogni richiesta, ti vengono addebitati i token di output di tutti i candidati, ma solo una volta per i token di input.

L'indicazione di più candidati è una funzionalità in anteprima compatibile con generateContent (streamGenerateContent non è supportato). Sono supportati i seguenti modelli:

  • Gemini 1.5 Flash: 1-8, valore predefinito: 1
  • Gemini 1.5 Pro: 1-8, valore predefinito: 1
  • Gemini 1.0 Pro: 1-8, valore predefinito: 1

1–4

Default: 1

logprobs

Restituisce le probabilità logaritmiche dei token candidati principali in ogni fase di generazione. I token e le probabilità logaritmiche scelti dal modello vengono sempre restituiti in ogni fase, ma potrebbero non essere presenti nell'elenco dei principali candidati. Specifica numero di candidati da restituire utilizzando un valore intero nell'intervallo di 1-5.

0-5

frequencyPenalty

I valori positivi penalizzano i token che appaiono ripetutamente nel testo generato, diminuendo probabilità di ripetere i contenuti. I valori accettati sono -2.0-2.0.

Minimum value: -2.0

Maximum value: 2.0

presencePenalty

I valori positivi penalizzano i token già presenti nel testo generato, aumentando la probabilità di generare contenuti più diversi. I valori accettati sono -2.0-2.0.

Minimum value: -2.0

Maximum value: 2.0

echo

Se impostato su true, il prompt viene riproposto nel testo generato.

Optional

seed

Quando il seed è fissato a un valore specifico, il modello fa del suo meglio per fornire la stessa risposta per richieste ripetute. L'output deterministico non è garantito. Inoltre, la modifica del modello o delle impostazioni dei parametri, ad esempio la temperatura, può causare variazioni nella risposta anche se utilizzi lo stesso valore seed. Per impostazione predefinita, viene utilizzato un valore seed casuale.

Questa è una funzionalità in anteprima.

Optional

Richiesta di esempio

REST

Per testare un prompt di testo utilizzando l'API Vertex AI, invia una richiesta POST al l'endpoint del modello del publisher.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

Per gli altri campi, consulta la tabella Corpo della richiesta.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "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
  }
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere una risposta JSON simile alla risposta di esempio.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.

import vertexai

from vertexai.language_models import TextGenerationModel

# TODO(developer): Update project_id and location
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}")

Node.js

Prima di provare questo esempio, segui le istruzioni di configurazione Node.js riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Vertex AI.

Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

/**
 * 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

Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta API Java Vertex AI documentazione di riferimento.

Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.


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);
    }
  }
}

Corpo della risposta

{
  "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
      }
    }
  }
}
Elemento risposta Descrizione
content Il risultato generato dal testo inserito.
categories I nomi visualizzati delle categorie degli attributi di sicurezza associate ai contenuti generati. L'ordine corrisponde ai punteggi.
scores I punteggi di confidenza di ogni categoria. Un valore più alto corrisponde a una confidenza maggiore.
blocked Un indicatore che indica se l'input o l'output del modello è stato bloccato.
errors Un codice di errore che identifica il motivo per cui l'input o l'output è stato bloccato. Per un elenco dei codici di errore, consulta Filtri e attributi di sicurezza.
startIndex Indice nell'output della previsione dove inizia la citazione (inclusa). Devono essere >= 0 e < end_index.
endIndex Indice nell'output della previsione dove termina la citazione (esclusa). Deve essere maggiore di start_index e minore di len(output).
url URL associato a questa citazione. Se presente, questo URL rimanda alla pagina web della fonte di questa citazione. Possibili URL includono siti web di notizie, repository GitHub e così via.
title Titolo associato a questa citazione. Se presente, si riferisce al titolo della fonte di questa citazione. I titoli possibili includono titoli di notizie, libri e così via.
license Licenza associata a questo suggerimento. Se presente, si riferisce alla licenza della fonte di questa citazione. Le licenze possibili includono licenze di codice, ad esempio la licenza MIT.
publicationDate Data di pubblicazione associata a questa citazione. Se presente, si riferisce alla data di pubblicazione della fonte di questa citazione. I formati possibili sono AAAA, AAAA-MM, AAAA-MM-GG.
input_token_count Numero di token di input. Si tratta del numero totale di token in tutti i prompt, prefissi e suffissi.
output_token_count Numero di token di output. Questo è il numero totale di token in content per tutte le previsioni.
tokens I token campionati.
tokenLogProbs I token campionati registrare le probabilità.
topLogProb I token candidati più probabili e le relative probabilità in logaritmo in ogni passaggio.
logprobs Risultati del parametro "logprobs". Mappatura 1:1 sui "candidati".

Esempio di risposta

{
  "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
        }
      }
    }
  ]
}

Trasmetti la risposta dai modelli di IA generativa

I parametri sono gli stessi per le richieste di flusso e non di streaming a le API.

Per visualizzare richieste e risposte di codice di esempio che utilizzano l'API REST, consulta Esempi di utilizzo dell'API REST.

Per visualizzare richieste e risposte di codice di esempio che utilizzano l'SDK Vertex AI per Python, consulta Esempi di utilizzo dell'SDK Vertex AI per Python.