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 vengono
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 Testo sono ideali per attività che possono essere completate con un'unica risposta API, senza il bisogno 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 PaLM 2 per Modello di testo nella
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, potrebbe essere applicata un'etichetta a un testo che ne descriva la correttezza grammaticale.
Analisi del sentiment: è una forma di classificazione che identifica il sentiment del testo. Il sentiment viene convertito in un'etichetta applicata al testo. Ad esempio, il sentiment del testo potrebbe essere polarità come positivo o negativo, o 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 saperne di più sulla progettazione di prompt di testo, consulta l'articolo 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 del modello stabile,
specifica il numero di versione del modello, ad esempio text-bison@002
. Ciascuna
stabile sarà disponibile per sei mesi dopo la data di rilascio dell'
alla versione stabile successiva.
La tabella seguente contiene le versioni dei modelli stabili disponibili:
modello text-bison | Data di uscita | Data di interruzione |
---|---|---|
text-bison@002 | 6 dicembre 2023 | 9 ottobre 2024 |
modello text-unicorn | Data di uscita | Data di interruzione |
---|---|---|
text-unicorn@001 | 30 novembre 2023 | Non prima del 30 novembre 2024 |
Per saperne di più, consulta Versioni dei modelli e ciclo di vita.
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 la sezione Creare prompt di testo.
Parametro | Descrizione | Valori accettabili |
---|---|---|
|
Input di testo per generare la risposta del modello. I prompt possono includere preambolo, domande, suggerimenti, istruzioni o esempi. | Testo |
|
La temperatura viene utilizzata per il campionamento durante la generazione della risposta, che si verifica quando topP
e topK . La temperatura controlla il grado di casualità nella selezione dei token.
Le temperature più basse sono ideali per prompt che richiedono una risposta meno aperta o creativa, mentre
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
sono per lo più deterministici, ma è ancora possibile una piccola variazione.
Se il modello restituisce una risposta troppo generica, troppo breve, oppure fornisce una risposta di riserva di risposta, prova ad aumentare la temperatura. |
|
|
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. |
|
|
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 passaggio di selezione dei token, vengono mostrati i token top-K con il vengono campionate. Quindi i token vengono ulteriormente filtrati in base a top-p con il token finale selezionato utilizzando il campionamento della temperatura. Specifica un valore più basso per risposte meno casuali e un valore più alto per più risposte risposte casuali. |
|
|
Top-P cambia il modo in cui il modello seleziona i token per l'output. Token selezionati
dal più probabile (vedi top-K) al meno probabile fino alla somma delle probabilità
equivale 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. |
|
|
Specifica un elenco di stringhe che indicano al modello di interrompere la generazione di testo se uno
delle stringhe incontrate 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
|
|
|
Il grounding ti consente di fare riferimento a dati specifici quando utilizzi 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: |
|
Il numero di varianti della risposta da restituire. |
|
|
Restituisce i primi logprobs token candidati più probabili con le relative probabilità di log
in ogni passaggio della generazione. I token scelti e le relative probabilità di log in ogni passaggio
vengono sempre restituiti. Il token scelto potrebbe essere o meno tra i primi logprobs con maggiore probabilità
candidati.
|
|
|
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 .
|
|
|
I valori positivi penalizzano i token già presenti nel testo generato, aumentando il valore
probabilità di generare contenuti più diversificati. I valori accettati sono
-2.0 -2.0 .
|
|
|
Se impostato su true, il prompt viene riproposto nel testo generato. |
|
|
Il decodificatore genera rumore casuale con uno pseudo generatore di numeri casuali; viene aggiunto il rumore della temperatura *
ai logit prima del campionamento. Lo pseudo generatore di numeri casuali (prng) prende un seed come input,
genera lo stesso output con lo stesso seed.
Se il seed non è impostato, il seed utilizzato nel decoder non sarà deterministico, quindi l'origine casuale il rumore non sarà deterministico. Se il seed è impostato, il rumore casuale generato sarà deterministici. |
|
Richiesta di esempio
REST
Per testare un prompt di testo utilizzando l'API Vertex AI, invia una richiesta POST al endpoint del modello del publisher.
Prima di utilizzare i dati della richiesta, effettua 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
.
ed esegui questo comando:
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
.
ed esegui questo comando:
$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, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta API Node.js Vertex AI documentazione di riferimento.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
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 eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura 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 risposta | Descrizione |
---|---|
content |
Il risultato generato dal testo di input. |
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. Il valore più elevato corrisponde a una confidenza maggiore. |
blocked |
Un flag 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 < indice_finale. |
endIndex |
Indice nell'output della previsione dove termina la citazione (esclusa). Deve avere > start_index e < len(output). |
url |
URL associato a questa citazione. Se presente, l'URL rimanda alla pagina web della fonte della 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 quelli di notizie, libri e così via. |
license |
Licenza associata a questo suggerimento. Se presente, si riferisce alla licenza della fonte di questa citazione. Le possibili licenze includono licenze di codice, ad esempio mit License. |
publicationDate |
Data di pubblicazione associata a questa citazione. Se presente, si riferisce alla data in cui è stata pubblicata la fonte di questa citazione. I formati possibili sono AAAA, AAAA-MM, AAAA-MM-GG. |
input_token_count |
Numero di token di input. Il numero totale di token per tutti i prompt, i prefissi e i 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à di log 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 di codice e risposte di esempio utilizzando l'API REST, consulta Esempi di utilizzo dell'API REST.
Per visualizzare richieste di codice e risposte di esempio utilizzando l'SDK Vertex AI per Python, consulta Esempi di utilizzo dell'SDK Vertex AI per Python.