Codey for Code Generation (code-bison
) è il nome del modello che supporta la generazione del codice. È una
modello di base che genera codice basato su una descrizione in linguaggio naturale.
Il tipo di contenuti che Codey per Code Generation può creare include funzioni, pagine web,
e test delle unità. Codey for Codey Generation è supportato dalle API Codey di generazione del codice.
Le API Codey fanno parte della famiglia di API PaLM.
Per esplorare questo modello nella console, vedi la scheda del modello Codey for Code Generation in Model Garden.
Vai a Model Garden
Casi d'uso
Ecco alcuni casi d'uso comuni per la generazione del codice:
Test delle unità: utilizza il prompt per richiedere un test delle unità per una funzione.
Scrivi una funzione: passa un problema al modello per ottenere una funzione che può risolvere il problema.
Crea un corso: utilizza un prompt per descrivere lo scopo di un corso e ottenere codice che definisce la classe restituita.
Richiesta HTTP
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/code-bison:predict
Versioni modello
Per utilizzare la versione più recente del modello,
specifica il nome del modello senza numero di versione, ad esempio code-bison
.
Per utilizzare una versione del modello stabile,
specifica il numero di versione del modello, ad esempio code-bison@002
.
Ogni versione stabile è 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 code-bison | Data di uscita | Data di interruzione |
---|---|---|
codice-bison@002 | 6 dicembre 2023 | 9 ottobre 2024 |
Per saperne di più, consulta Versioni dei modelli e ciclo di vita.
Corpo della richiesta
{
"instances": [
{ "prefix": string }
],
"parameters": {
"temperature": number,
"maxOutputTokens": integer,
"candidateCount": integer,
"stopSequences": [ string ]
"logprobs": integer,
"presencePenalty": float,
"frequencyPenalty": float,
"echo": boolean,
"seed": integer
}
}
Di seguito sono riportati i parametri per il modello di generazione del codice denominato code-bison
.
Il modello code-bison
è uno dei modelli di Codey. Puoi utilizzare questi
per ottimizzare il prompt di completamento del codice. Per maggiori informazioni
informazioni, consulta Modelli di codice
panoramica e Crea prompt per
il completamento del codice.
Parametro | Descrizione | Valori accettabili |
---|---|---|
(obbligatorio) |
Per i modelli di codice, prefix rappresenta l'inizio di una porzione di
un codice di programmazione significativo o un prompt in linguaggio naturale che descrive il codice
essere generati.
|
Una stringa di testo valida |
|
La temperatura viene utilizzata per il campionamento durante la generazione della risposta. La temperatura controlla il grado di
casualità nella selezione dei token. Le temperature più basse sono ideali per prompt che richiedono una temperatura
una risposta aperta o creativa, mentre le temperature più alte possono portare a una maggiore diversificazione o creatività
che consentono di analizzare i dati
e visualizzare i risultati. Una temperatura di 0 indica che i token con la probabilità più alta sono sempre
selezionato. In questo caso, le risposte per un determinato prompt sono per lo più deterministiche, ma una piccola quantità
una variante è ancora possibile.
|
|
|
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. |
|
(facoltativo) |
Il numero di varianti della risposta da restituire. |
|
(facoltativo) |
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
|
Un elenco di stringhe |
(facoltativo) |
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.
|
|
(facoltativo) |
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 .
|
|
(facoltativo) |
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 .
|
|
(facoltativo) |
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. 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/code-bison:predict
Corpo JSON della richiesta:
{ "instances": [ { "prefix": "PREFIX" } ], "parameters": { "temperature": TEMPERATURE, "maxOutputTokens": MAX_OUTPUT_TOKENS, "candidateCount": CANDIDATE_COUNT } }
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/code-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/code-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": false,
"scores": [ float ],
"errors": [ int ]
},
"score": float
}
]
}
Elemento risposta | Descrizione |
---|---|
blocked |
Un flag boolean associato a un attributo di sicurezza che indica se l'input del modello
o l'output è stato bloccato. Se blocked è true , allora errors
della risposta contiene uno o più codici di errore. Se blocked è
false , la risposta non include il campo errors .
|
categories |
Un elenco dei nomi delle categorie degli attributi di sicurezza associati al
generati. L'ordine dei punteggi nel parametro scores
corrisponda all'ordine delle categorie. Ad esempio, il primo punteggio nel
Il parametro scores indica la probabilità che la risposta violi
la prima categoria nell'elenco categories .
|
citationMetadata |
Un elemento che contiene un array di citazioni. |
citations |
Un array di citazioni. Ogni citazione contiene i relativi metadati. |
content |
Il risultato generato dal modello utilizzando il testo di input. |
endIndex |
Un numero intero che specifica il punto in cui termina una citazione in content .
|
errors |
Un array di codici di errore. Il campo di risposta errors è incluso solo nella risposta
quando il campo blocked della risposta è true . Per informazioni
sui codici di errore, consulta
Errori di sicurezza.
|
license |
La licenza associata a una citazione. |
publicationDate |
La data di pubblicazione di una citazione. I suoi formati validi
YYYY , YYYY-MM e YYYY-MM-DD .
|
safetyAttributes |
Un array di attributi di sicurezza. L'array contiene un attributo di sicurezza per ogni risposta candidata. |
score |
Un valore float minore di zero. Più alto è il valore di
score , maggiore è la fiducia che il modello ha nella sua risposta.
|
startIndex |
Un numero intero che specifica dove inizia una citazione in content .
|
title |
Il titolo della fonte di una citazione. Esempi di titoli di origine potrebbero essere quelli di un un articolo di giornale o un libro. |
url |
L'URL della fonte della citazione. Esempi di una sorgente URL possono essere un sito web di notizie o un repository GitHub. |
tokens |
I token campionati. |
tokenLogProbs |
I token campionati registrare le probabilità. |
topLogProbs |
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": [ ],
"categories": [ ],
"blocked": false
},
"content": "CONTENT",
"score": -1.1161688566207886
}
]
}
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 il flusso di dati.
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 per i flussi.