Codey per il completamento del codice (code-gecko
) è il nome del modello che supporta il completamento del codice. È un
modello di base che genera codice in base al codice scritto. Codey per il completamento del codice completa il codice digitato di recente da un utente. Codey per Codey è supportato
dall'API di generazione del codice. Le API Codey fanno parte della famiglia di API PaLM.
Per scoprire di più sulla creazione di prompt per il completamento del codice, consulta Crea prompt per il completamento del codice.
Per esplorare questo modello nella console, consulta la scheda del modello Codey per Codey in Model Garden.
Vai a Model Garden
Casi d'uso
Ecco alcuni casi d'uso comuni per il completamento del codice:
Scrivi il codice più velocemente: utilizza il modello
code-gecko
per scrivere il codice più velocemente prendendo vantaggio del codice consigliato per te.Riduci al minimo i bug nel codice: utilizza i suggerimenti di codice che sai essere sintatticamente corretti per evitare errori. Il completamento del codice aiuta a ridurre al minimo il rischio di errori introducendo bug che possono verificarsi quando si scrive il codice rapidamente.
Richiesta HTTP
POST https://us-central1-googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/code-gecko:predict
Versioni modello
Per utilizzare la versione più recente del modello,
specifica il nome del modello senza un numero di versione, ad esempio code-gecko
.
Per utilizzare una versione del modello stabile,
specifica il numero di versione del modello, ad esempio code-gecko@002
. Ciascuna
stabile sarà disponibile per sei mesi dopo la data di rilascio dell'
alla versione stabile successiva.
La tabella seguente contiene le versioni stabili del modello disponibili:
modello code-gecko | Data di uscita | Data di ritiro |
---|---|---|
codice-gecko@002 | 6 dicembre 2023 | 9 aprile 2025 |
Per saperne di più, consulta Versioni dei modelli e ciclo di vita.
Corpo della richiesta
{
"instances":[
{
"prefix": string,
"suffix": 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 completamento del codice denominato
code-gecko
. Il modello code-gecko
è uno dei modelli Codey. Puoi utilizzare la modalità
per ottimizzare il prompt di completamento del codice. Per ulteriori informazioni, consulta la Panoramica dei modelli di codice e Creare prompt per il completamento del codice.
Parametro | Descrizione | Valori accettabili |
---|---|---|
(obbligatorio) |
Per i modelli di codice, prefix rappresenta l'inizio di un codice di programmazione significativo o un prompt in linguaggio naturale che descrive il codice da generare. Il modello tenta di inserire il codice tra le
prefix e suffix .
|
Una stringa di testo valida |
(facoltativo) |
Per il completamento del codice, suffix rappresenta la fine di un frammento di codice di programmazione significativo. Il modello tenta di inserire il codice tra
prefix e suffix .
|
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 risposte meno creative o aperte, mentre le temperature più alte possono portare a risultati più diversificati o creativi. Una temperatura pari a 0 indica 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 una piccola quantità
una variante è ancora possibile.
|
|
|
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. |
|
(facoltativo) |
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.
L'indicazione di più candidati è una funzionalità in anteprima compatibile con
|
(facoltativo) |
(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)
La risposta restituita con stopSequences impostato su ["Str",
"reverse"] è:
public static string
|
Un elenco di stringhe |
(facoltativo) |
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 .
|
|
(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 la probabilità di generare contenuti più diversi. I valori accettati sono
-2.0 -2.0 .
|
|
(facoltativo) |
Se il valore è true, il prompt viene ripetuto nel testo generato. |
|
|
Quando il seed è fissato a un valore specifico, il modello fa il possibile per fornire
la stessa risposta per le 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 al l'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 Testo della richiesta.
Metodo HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/code-gecko:predict
Corpo JSON della richiesta:
{ "instances": [ { "prefix": "PREFIX", "suffix": "SUFFIX"} ], "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
,
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/code-gecko: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/code-gecko: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.
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 la documentazione di riferimento dell'API Node.js di Vertex AI.
Per autenticarti in 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 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.
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 ]
},
"score": float
}
]
}
Elemento Response | 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 dove 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 su come interpretare i codici di errore, consulta Errori relativi alla 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 .
|
score |
Un valore float inferiore a 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 di una fonte della citazione. Esempi di titoli delle fonti possono essere quelli di un articolo di notizie o di un libro. |
url |
L'URL di una fonte della citazione. Alcuni esempi di origine URL sono 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 a "candidates". |
Esempio di risposta
{
"predictions": [
{
"safetyAttributes": {
"blocked": false,
"categories": [],
"scores": []
},
"content": " reverses a string",
"citationMetadata": {
"citations": []
}
},
"score": -1.1161688566207886
]
}
Streaming della 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.