Codey for Code Chat (codechat-bison
) è il nome del modello che supporta la chat del codice. È un
modello di base che supporta conversazioni multi-turno specializzate per il codice.
Il modello consente agli sviluppatori di chattare con un chatbot per ricevere assistenza relativamente al codice
domande. L'API Codey Chat viene utilizzata per interfacciarsi con Codey for Codey Chat
un modello di machine learning.
Codey per Codey Chat è ideale per attività di programmazione completate con delle interazioni in maniera continuativa, in modo da poter avere una conversazione continua. Per le attività di codice che richiedono una singola interazione, utilizza l'API per il completamento del codice o l'API per la generazione di codice.
Per esplorare questo modello nella console, consulta la scheda del modello Codey for Code Chat in Model Garden.
Vai a Model Garden
Casi d'uso
Ecco alcuni casi d'uso comuni per la chat di codice:
Ricevi assistenza per il codice: ricevi assistenza per le tue domande sul codice, ad esempio su un'API, sulla sintassi di un linguaggio di programmazione supportato o sulla versione di una libreria richiesta per il codice che stai scrivendo.
Debug: ricevi assistenza per il codice di debug che non si compila o che contiene un bug.
Documentazione: ricevi assistenza per comprendere il codice in modo da documentarlo accuratamente.
Scopri di più sul codice: ricevi assistenza per conoscere il codice che non conosci.
Richiesta HTTP
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/codechat-bison:predict
Versioni modello
Per utilizzare la versione più recente del modello,
specifica il nome del modello senza numero di versione, ad esempio codechat-bison
.
Per utilizzare una versione del modello stabile,
specifica il numero di versione del modello, ad esempio codechat-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 codechat-bison | Data di uscita | Data di ritiro |
---|---|---|
codechat-bison@002 | 6 dicembre 2023 | 9 aprile 2025 |
Per ulteriori informazioni, consulta Versioni e ciclo di vita dei modelli.
Corpo della richiesta
{
"instances": [
{
"context": string,
"messages": [
{
"content": string,
"author": string
}
]
}
],
"parameters":{
"temperature": number,
"maxOutputTokens": integer,
"candidateCount": integer,
"logprobs": integer,
"presencePenalty": float,
"frequencyPenalty": float,
"seed": integer
}
}
Di seguito sono riportati i parametri per il modello di chat codice denominato codechat-bison
.
Il modello codechat-bison
è uno dei modelli di Codey. Puoi utilizzare questi parametri per ottimizzare il prompt per una conversazione con il chatbot sul codice.
Per ulteriori informazioni, consulta Modelli di codice
panoramica e
Creare prompt per parlare di codice.
Parametro | Descrizione | Valori accettati |
---|---|---|
|
Testo da fornire prima al modello per stabilire la risposta. | Testo |
(obbligatorio) |
Cronologia delle conversazioni fornita al modello in un formato strutturato con autore alternativo. I messaggi vengono visualizzati in ordine cronologico: dal meno recente al più recente. Quando la cronologia dei messaggi fa sì che l'input superi la lunghezza massima, i messaggi meno recenti vengono rimossi finché l'intero prompt non rientra nel limite consentito. |
List[Structured Message] "author": "user", "content": "user message" |
(facoltativo) |
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 è ancora possibile una piccola variazione.
|
|
(facoltativo) |
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. |
|
(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) |
Restituisce le probabilità di log dei token candidati principali in ogni generazione
passaggio. 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 il
numero di candidati da restituire utilizzando un valore intero nell'intervallo
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 .
|
|
|
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 delle impostazioni del modello o dei parametri, come la temperatura, può
causano variazioni nella risposta anche se utilizzi lo stesso valore seed. Di
predefinito, viene usato 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, apporta 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/codechat-bison:predict
Corpo JSON della richiesta:
{ "instances": [ { "messages": [ { "author": "AUTHOR", "content": "CONTENT" } ] } ], "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/codechat-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/codechat-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.
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 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 maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Corpo della risposta
{
"predictions": [
{
"candidates": [
{
"author": string,
"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 ]
},
"score": float
}
]
}
Elemento Response | Descrizione |
---|---|
author |
Un string che indica l'autore di una risposta in chat.
|
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 , il campo errors
nella 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 corrisponde 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 .
|
content |
I contenuti di una risposta in chat. |
endIndex |
Un numero intero che specifica dove termina una citazione in content .
|
errors |
Un array di codici di errore. Il campo della risposta errors è incluso nella risposta solo
quando il campo blocked nella 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 .
|
safetyAttributes |
Un array di attributi di sicurezza. L'array contiene un attributo di sicurezza per ogni risposta candidata. |
score |
Un valore float inferiore a zero. Maggiore è il valore di
score , maggiore è la confidenza del modello nella sua risposta.
|
scores |
Un array di valori float . Ogni valore è un punteggio che indica
probabilità che la risposta violi la categoria di sicurezza in base alla quale viene controllata.
Più basso è il valore, più sicura è la risposta considerata dal modello. L'ordine
degli score nell'array corrisponde all'ordine degli attributi di sicurezza nell'elemento di risposta
categories .
|
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. Esempi di una sorgente URL possono essere un sito web di notizie o un repository GitHub. |
tokens |
I token campionati. |
tokenLogProbs |
Le probabilità in logaritmo dei token campionati. |
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". |
Risposta di esempio
{
"predictions": [
{
"citationMetadata": [
{
"citations": []
}
],
"candidates": [
{
"author": "AUTHOR",
"content": "RESPONSE"
}
],
"safetyAttributes": {
"categories": [],
"blocked": false,
"scores": []
},
"score": -1.1161688566207886
}
]
}
Trasmetti la 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 di esempio che utilizzano l'API REST, consulta Esempi di utilizzo dell'API REST in streaming.
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 per lo streaming.