I modelli di base di PaLM 2 per il testo (text-bison
, text-unicorn
) sono ottimizzati per una serie di attività di linguaggio naturale, come l'analisi del sentiment, l'estrazione di entità e la creazione di contenuti. I tipi di contenuti che i modelli PaLM 2 per il testo possono creare includono riepiloghi di documenti, risposte alle domande e 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 le attività di testo che richiedono interazioni con scambi di messaggi, utilizza l'API IA generativa su Vertex AI per le 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 le 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 da un paragrafo lungo che lo descrive in dettaglio.
Risposta alle domande: fornisce risposte alle domande nel testo. Ad esempio, potresti automatizzare la creazione di un documento sulle domande frequenti (FAQ) 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:si tratta di 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à:consente di estrarre una 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 ulteriori informazioni, consulta il metodo predict
.
Versioni modello
Per utilizzare la versione più recente del modello,
specifica il nome del modello senza un 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 ritiro |
---|---|---|
text-unicorn@001 | 30 novembre 2023 | 9 aprile 2025 |
Per ulteriori informazioni, consulta la sezione 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 |
---|---|---|
|
Input di testo per generare la risposta del modello. I prompt possono includere un preambolo, domande, suggerimenti, istruzioni o esempi. | Testo |
|
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 più 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. Con una temperatura pari a 0
viene sempre selezionato il 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. |
|
|
Numero massimo di token che possono essere generati nella risposta. Un token equivale a 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. |
|
|
Top-K cambia il modo in cui il modello seleziona i token per l'output. Un top-K pari a
1 indica che il token successivo selezionato è il più probabile tra tutti
i token nel vocabolario del modello (chiamato anche decodifica greedy). Un top-K pari a
3 indica invece che il token successivo viene selezionato tra i tre
token più probabili 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. |
|
|
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 risposte più casuali. |
|
|
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 viene visualizzata più volte nella 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)
La risposta restituita con stopSequences impostato su ["Str",
"reverse"] è:
public static string
|
|
|
La messa a terra ti consente di fare riferimento a dati specifici quando utilizzi i modelli linguistici. Quando basamenti un modello, questo può fare riferimento a dati interni, riservati e altrimenti specifici del tuo repository e includerli nella risposta. Sono supportati solo i datastore di Vertex AI Search. |
Il percorso deve avere il seguente formato: |
|
Il numero di varianti di 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.
La specifica di più candidati è una funzionalità di anteprima che funziona con
|
|
|
Restituisce le probabilità logaritmiche dei token candidati principali in ogni fase di generazione. Il token scelto dal modello potrebbe non essere uguale al token candidato principale in ogni passaggio. Specifica il numero di candidati da restituire utilizzando un valore intero nell'intervallo 1 -5 .
|
|
|
I valori positivi penalizzano i token che appaiono ripetutamente nel testo generato, diminuendo la probabilità di ripetere i contenuti. Il valore minimo è -2.0 . Il valore massimo è fino a, ma non incluso, 2.0 .
|
|
|
I valori positivi penalizzano i token già presenti nel testo generato, aumentando la probabilità di generare contenuti più diversi. Il valore minimo è -2.0 . Il valore
massimo può arrivare fino a 2.0 , escluso.
|
|
|
Se il valore è true, il prompt viene ripetuto nel testo generato. |
|
|
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. |
|
Richiesta di esempio
REST
Per testare un prompt di testo utilizzando l'API Vertex AI, invia una richiesta POST all'endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
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 saperne di più, consulta la documentazione di riferimento dell'API Python.
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 autenticarti a Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione Java riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Vertex AI.
Per autenticarti a Vertex AI, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
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 Response | Descrizione |
---|---|
content |
Il risultato generato dal testo inserito. |
categories |
I nomi visualizzati delle categorie di attributi di sicurezza associati ai contenuti generati. L'ordine corrisponde ai punteggi. |
scores |
I punteggi di affidabilità di ogni categoria: un valore più alto indica una maggiore affidabilità. |
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 in cui inizia la citazione (incluso). Deve essere maggiore o uguale a 0 e minore di end_index. |
endIndex |
Indice nell'output di previsione in cui termina la citazione (esclusivo). 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. I 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 questa recita. 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. Si tratta del numero totale di token in content in tutte le previsioni. |
tokens |
I token campionati. |
tokenLogProbs |
Le probabilità in logaritmo dei token campionati. |
topLogProb |
I token candidati più probabili e le relative probabilità in logaritmo in ogni passaggio. |
logprobs |
Risultati del parametro "logprobs". Mappatura 1:1 a "candidates". |
Risposta di esempio
{
"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
}
}
}
]
}
Streaming della risposta dai modelli di IA generativa
I parametri sono gli stessi per le richieste in streaming e non in streaming alle API.
Per visualizzare richieste e risposte di codice campione che utilizzano l'API REST, consulta Esempi di utilizzo dell'API REST.
Per visualizzare richieste e risposte di codice campione che utilizzano l'SDK Vertex AI per Python, consulta Esempi di utilizzo dell'SDK Vertex AI per Python.