Codey für Codevervollständigung (code-gecko
) ist der Name des Modells, das die Codevervollständigung unterstützt. Es ist ein Foundation Model, das Code basierend auf geschriebenem Code generiert. Codey für Codevervollständigung vervollständigt Code, der kürzlich von einem Nutzer eingegeben wurde. Codey für Codevervollständigung wird von der Codegenerierungs-API unterstützt. Codey APIs sind Teil der PaLM API-Familie.
Weitere Informationen zum Erstellen von Prompts für den Codeabschluss finden Sie unter Prompts für die Codevervollständigung erstellen.
Weitere Informationen zu diesem Modell finden Sie in der Console auf der Modellkarte "Codey für Codevervollständigung" im Model Garden.
Zum Model Garden
Anwendungsfälle
Typische Anwendungsfälle für die Codevervollständigung:
Code schneller schreiben: Verwenden Sie das Modell
code-gecko
, um Code schneller zu schreiben, indem Sie den für Sie vorgeschlagenen Code nutzen.Fehler im Code minimieren: Verwenden Sie syntaktisch korrekte Codevorschläge, um Fehler zu vermeiden. Mit der Codevervollständigung können Sie das Risiko minimieren, dass Fehler versehentlich auftreten, wenn Sie Code schnell schreiben.
HTTP-Anfrage
POST https://us-central1-googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/code-gecko:predict
Modellversionen
Wenn Sie die neueste Modellversion verwenden möchten, geben Sie den Modellnamen ohne Versionsnummer an, z. B. code-gecko
.
Wenn Sie eine stabile Modellversion verwenden möchten, geben Sie die Modellversionsnummer an, z. B. code-gecko@002
. Stabile Versionen sind ab dem Releasedatum der nachfolgenden stabilen Version noch sechs Monate verfügbar.
Die folgende Tabelle enthält die verfügbaren stabilen Modellversionen:
Code-Gecko-Modell | Veröffentlicht | Einstellungsdatum |
---|---|---|
code-gecko@002 | 6. Dezember 2023 | 9. Oktober 2024 |
Weitere Informationen finden Sie unter Modellversionen und Lebenszyklus.
Anfragetext
{
"instances":[
{
"prefix": string,
"suffix": string
}
],
"parameters": {
"temperature": number,
"maxOutputTokens": integer,
"candidateCount": integer,
"stopSequences": [ string ],
"logprobs": integer,
"presencePenalty": float,
"frequencyPenalty": float,
"echo": boolean,
"seed": integer
}
}
Im Folgenden finden Sie die Parameter für das Codevervollständigungsmodell namens code-gecko
. Das code-gecko
-Modell ist eines der Codey-Modelle. Mit diesen Parametern können Sie den Prompt zur Codevervollständigung optimieren. Weitere Informationen finden Sie unter Codemodelle – Übersicht und Prompts für die Codevervollständigung erstellen.
Parameter | Beschreibung | Zulässige Werte |
---|---|---|
(erforderlich) |
Bei Codemodellen stellt prefix den Anfang eines sinnvollen Programmiercodes oder eines Prompts in natürlicher Sprache dar, die den zu generierenden Code beschreibt. Das Modell versucht, den Code zwischen prefix und suffix auszufüllen.
|
Ein gültiger Textstring |
(optional) |
Bei der Codevervollständigung stellt suffix das Ende eines sinnvollen Programmiercodes dar. Das Modell versucht, den Code zwischen prefix und suffix auszufüllen.
|
Ein gültiger Textstring |
|
Die Temperatur wird für die Probenahme während der Antwortgenerierung verwendet. Die Temperatur bestimmt den Grad der Zufälligkeit bei der Tokenauswahl. Niedrigere Temperaturen eignen sich gut für Prompts, die eine weniger offene oder kreative Antwort erfordern, während höhere Temperaturen zu vielfältigeren oder kreativeren Ergebnissen führen können. Eine Temperatur von 0 bedeutet, dass immer die Tokens mit der höchsten Wahrscheinlichkeit ausgewählt werden. In diesem Fall sind die Antworten auf einen bestimmten Prompt größtenteils deterministisch, aber eine gewisse Abweichung ist dennoch möglich.
|
|
|
Maximale Anzahl an Tokens, die in der Antwort generiert werden können. Ein Token besteht aus etwa vier Zeichen. 100 Tokens entsprechen etwa 60–80 Wörtern.
Geben Sie kürzere Werte für kürzere Antworten und höhere Werte für potentiell längere Antworten an. |
|
(optional) |
Die Anzahl der zurückzugebenden Antwortvarianten. Für jede Anfrage werden Ihnen die Ausgabetokens aller Kandidaten in Rechnung gestellt, aber nur einmal für die Eingabetokens.
Die Angabe mehrerer Kandidaten ist eine Funktion in der Vorabversion, die mit
|
(optional) |
(optional) |
Gibt eine Liste an Strings an, die das Modell anweist, Text nicht mehr zu generieren, wenn einer der Strings in der Antwort gefunden wird. Kommt ein String mehrmals in der Antwort vor, so wird die Antwort an der Stelle abgeschnitten, an der er erfasst wurde.
Bei Strings wird zwischen Groß- und Kleinschreibung unterschieden.
Wenn zum Beispiel folgende Antwort zurückgegeben wird und stopSequences nicht angegeben ist:
public
static string reverse(string myString)
Dann lautet zurückgegebene Antwort mit stopSequences auf ["Str",
"reverse"] gesetzt:
public static string
|
Eine Liste von Strings |
(optional) |
Gibt die wahrscheinlichsten Kandidaten-Token von logprobs mit ihren Log-Wahrscheinlichkeiten bei jedem Generierungsschritt zurück. Die ausgewählten Tokens und ihre Logwahrscheinlichkeiten bei jedem Schritt werden immer zurückgegeben. Das ausgewählte Token befindet sich möglicherweise in den oberen logprobs der wahrscheinlichsten Kandidaten.
|
|
(optional) |
Positive Werte nehmen Abzüge bei Tokens vor, die wiederholt im generierten Text angezeigt werden, wodurch die Wahrscheinlichkeit wiederholter Inhalte verringert wird. Akzeptable Werte sind -2.0 –2.0 .
|
|
(optional) |
Positive Werte nehmen Abzüge bei Tokens vor, die wiederholt im generierten Text angezeigt werden, wodurch die Wahrscheinlichkeit wiederholter Inhalte verringert wird. Akzeptable Werte sind -2.0 –2.0 .
|
|
(optional) |
Bei „true“ wird die Eingabeaufforderung im generierten Text zurückgegeben. |
|
|
Wenn die Seed-Daten auf einen bestimmten Wert festgelegt sind, versucht das Modell, für wiederholte Anfragen dieselbe Antwort bereitzustellen. Die deterministische Ausgabe ist nicht garantiert.
Wenn Sie die Modell- oder Parametereinstellungen ändern, z. B. die Temperatur, kann dies außerdem zu Abweichungen in der Antwort führen, selbst wenn Sie denselben Seed-Wert verwenden. Standardmäßig wird ein zufälliger Startwert verwendet.
Dies ist eine Funktion in der Vorabversion. |
|
Beispielanfrage
REST
Senden Sie zum Testen eines Text-Prompts mit der Vertex AI API eine POST-Anfrage an den Endpunkt des Publisher-Modells.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID. Informationen zu anderen Feldern finden Sie in der Tabelle Anfragetext.
HTTP-Methode und URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/code-gecko:predict
JSON-Text der Anfrage:
{ "instances": [ { "prefix": "PREFIX", "suffix": "SUFFIX"} ], "parameters": { "temperature": TEMPERATURE, "maxOutputTokens": MAX_OUTPUT_TOKENS, "candidateCount": CANDIDATE_COUNT } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie die Beispielantwort erhalten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Antworttext
{
"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
}
]
}
Antwortelement | Beschreibung |
---|---|
blocked |
Ein boolean -Flag, das mit einem Sicherheitsattribut verknüpft ist, das angibt, ob die Ein- oder Ausgabe des Modells blockiert wurde. Wenn blocked den Wert true hat, enthält das Feld errors in der Antwort einen oder mehrere Fehlercodes. Wenn blocked den Wert false hat, enthält die Antwort nicht das Feld errors .
|
categories |
Eine Liste der Namen der Sicherheitsattribute, die den generierten Inhalten zugeordnet sind. Die Reihenfolge der Scores im scores -Parameter entspricht der Reihenfolge der Kategorien. Der erste Wert im scores -Parameter gibt beispielsweise die Wahrscheinlichkeit an, mit der die Antwort gegen die erste Kategorie in der categories -Liste verstößt.
|
citationMetadata |
Ein Element, das ein Array von Zitationen enthält. |
citations |
Ein Array von Zitationen. Jede Zitation enthält ihre Metadaten. |
content |
Das Ergebnis, das vom Modell mit dem Eingabetext generiert wird. |
endIndex |
Eine Ganzzahl, die angibt, wo eine Zitation in content endet.
|
errors |
Ein Array von Fehlercodes. Das Antwortfeld errors ist nur in der Antwort enthalten, wenn das Feld blocked in der Antwort true ist. Informationen zum Verständnis von Fehlercodes finden Sie unter Sicherheitsfehler.
|
license |
Die mit einer Zitation verknüpfte Lizenz. |
publicationDate |
Das Datum, an dem ein Zitat veröffentlicht wurde. Die gültigen Formate sind YYYY , YYYY-MM und YYYY-MM-DD .
|
score |
Ein float -Wert, der kleiner als null ist. Je höher der Wert für score , desto größer ist das Vertrauen des Modells in seine Antwort.
|
startIndex |
Eine Ganzzahl, die angibt, wo eine Zitation im content beginnt. |
title |
Der Titel einer Zitationsquelle. Beispiele für Quelltitel sind der eines Nachrichtenartikels oder eines Buches. |
url |
Die URL einer Zitationsquelle. Beispiele für eine URL-Quelle sind beispielsweise eine Nachrichtenwebsite oder ein GitHub-Repository. |
tokens |
Die Stichprobentokens. |
tokenLogProbs |
Die Logwahrscheinlichkeit der Stichprobentokens. |
topLogProbs |
Die wahrscheinlichsten Tokens und ihre Logwahrscheinlichkeit bei jedem Schritt |
logprobs |
Ergebnisse des Parameters „logprobs”. 1:1-Zuordnung zu "Kandidaten". |
Beispielantwort
{
"predictions": [
{
"safetyAttributes": {
"blocked": false,
"categories": [],
"scores": []
},
"content": " reverses a string",
"citationMetadata": {
"citations": []
}
},
"score": -1.1161688566207886
]
}
Streamantwort von Modellen der generativen KI.
Die Parameter für Streaming- und Nicht-Streaming-Anfragen an die APIs sind identisch.
Beispiele für die Verwendung von REST API-Beispielanfragen und -Antworten finden Sie unter Beispiele, die die Streaming-REST-API verwenden.
Um Beispielcodeanfragen und -antworten mit dem Vertex AI SDK für Python anzuzeigen, lesen Sie Beispiele, die Vertex AI SDK für Python zum Streaming verwenden.