Codey untuk Pembuatan Kode (code-bison
) adalah nama model yang mendukung pembuatan kode. Ini adalah model dasar yang menghasilkan kode berdasarkan deskripsi natural language.
Jenis konten yang dapat dibuat oleh Codey untuk Pembuatan Kode mencakup fungsi, halaman web,
dan pengujian unit. Codey untuk Pembuatan Kode didukung oleh Codey API pembuatan kode.
Codey API berada dalam kelompok PaLM API.
Untuk mempelajari model ini di konsol, lihat kartu model Codey untuk Pembuatan Kode di Model Garden.
<a{: class="button button-primary" l10n-attrs-original-order="href,target,class,track-name,track-type" l10n-encrypted-href="kDsq5VTi6ASK/vNFlrWmnltigmNHgUGOXn/QVSGplOi71dheYhG9dKuv3S+0ajmQkfzB9oP/Mo2x7xIe1klR5YSKTX7LV1jkkg0C2Ndofq2g0LY5rER9QL0JoE/A8FHO" target="console" track-name="consoleLink" track-type="tasks" }="">Go to the Model Garden</a{:>
Kasus penggunaan
Beberapa kasus penggunaan umum untuk pembuatan kode adalah:
Pengujian unit: Gunakan perintah untuk meminta pengujian unit untuk suatu fungsi.
Menulis fungsi: Teruskan masalah ke model untuk mendapatkan fungsi yang memecahkan masalah tersebut.
Membuat class: Gunakan perintah untuk menjelaskan tujuan class dan memiliki kode yang menentukan class yang ditampilkan.
Permintaan HTTP
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/code-bison:predict
Versi model
Untuk menggunakan versi model terbaru, tentukan nama model tanpa nomor versi, misalnya code-bison
.
Untuk menggunakan versi model stabil,
tentukan nomor versi model, misalnya code-bison@002
.
Setiap versi stabil tersedia selama enam bulan setelah tanggal rilis
versi stabil berikutnya.
Tabel berikut berisi versi model stabil yang tersedia:
model code-bison | Tanggal rilis | Tanggal penghentian |
---|---|---|
kode-bison@002 | 6 Desember 2023 | 9 Oktober 2024 |
code-bison@001 | 29 Juni 2023 | 6 Juli 2024 |
Untuk mengetahui informasi selengkapnya, baca Versi dan siklus proses model.
Isi permintaan
{
"instances": [
{ "prefix": string }
],
"parameters": {
"temperature": number,
"maxOutputTokens": integer,
"candidateCount": integer,
"stopSequences": [ string ]
"logprobs": integer,
"presencePenalty": float,
"frequencyPenalty": float,
"echo": boolean,
"seed": integer
}
}
Berikut adalah parameter untuk model pembuatan kode bernama code-bison
.
Model code-bison
adalah salah satu model di Codey. Anda dapat menggunakan parameter ini untuk membantu mengoptimalkan prompt penyelesaian kode. Untuk mengetahui informasi selengkapnya, lihat Ringkasan model kode dan Membuat perintah untuk penyelesaian kode.
Parameter | Deskripsi | Nilai yang dapat diterima |
---|---|---|
(wajib) |
Untuk model kode, prefix mewakili awal bagian kode pemrograman yang bermakna atau perintah natural language yang menjelaskan kode yang akan dibuat.
|
String teks yang valid |
|
Suhu digunakan untuk pengambilan sampel selama pembuatan respons. Suhu mengontrol tingkat keacakan dalam pemilihan token. Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu 0 berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk perintah tertentu sebagian besar bersifat deterministik, tetapi sejumlah kecil variasi masih memungkinkan.
|
|
|
Jumlah maksimum token yang dapat dibuat dalam respons. Token terdiri dari sekitar empat karakter. 100 token setara dengan sekitar 60-80 kata.
Tentukan nilai yang lebih rendah untuk respons yang lebih pendek dan nilai yang lebih tinggi untuk respons yang berpotensi lebih lama. |
|
(opsional) |
Jumlah variasi respons yang akan ditampilkan. |
|
(opsional) |
Menentukan daftar string yang memberi tahu model untuk berhenti menghasilkan teks jika salah satu string ditemukan dalam respons. Jika string muncul beberapa kali dalam respons, respons akan dipotong di tempatnya pertama kali ditemukan.
String peka huruf besar/kecil.
Misalnya, jika kode berikut adalah respons yang ditampilkan saat stopSequences tidak ditentukan:
public
static string reverse(string myString)
Maka respons yang ditampilkan di mana stopSequences ditetapkan ke ["Str",
"reverse"] adalah:
public static string
|
Daftar string |
(opsional) |
Menampilkan token kandidat logprobs teratas yang kemungkinan besar beserta probabilitas lognya pada setiap langkah pembuatan. Token yang dipilih dan probabilitas lognya di setiap langkah akan selalu ditampilkan. Token yang dipilih mungkin termasuk atau tidak termasuk dalam kandidat logprobs teratas.
|
|
(opsional) |
Nilai positif akan berdampak terhadap token yang berulang kali muncul dalam teks yang dihasilkan, sehingga mengurangi kemungkinan pengulangan konten. Nilai yang dapat diterima adalah -2.0 —2.0 .
|
|
(opsional) |
Nilai positif akan merugikan token yang sudah muncul dalam teks yang dihasilkan, sehingga meningkatkan kemungkinan menghasilkan konten yang lebih beragam. Nilai yang dapat diterima adalah
-2.0 —2.0 .
|
|
(opsional) |
Jika true (benar), perintah akan diulangi dalam teks yang dihasilkan. |
|
|
Decoder menghasilkan derau acak dengan generator angka acak semu, derau suhu * ditambahkan
ke logits sebelum pengambilan sampel. Generator angka acak semu (prng) mengambil seed sebagai input, dan
menghasilkan output yang sama dengan seed yang sama.
Jika seed tidak ditetapkan, seed yang digunakan dalam decoder tidak akan bersifat determenistik, sehingga derau acak yang dihasilkan tidak akan deterministik. Jika seed ditetapkan, derau acak yang dihasilkan akan bersifat deterministik. |
|
Permintaan sampel
REST
Untuk menguji prompt teks menggunakan Vertex AI API, kirim permintaan POST ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID Anda. Untuk kolom lainnya, lihat tabel Isi permintaan.
Metode HTTP dan URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/code-bison:predict
Isi JSON permintaan:
{ "instances": [ { "prefix": "PREFIX" } ], "parameters": { "temperature": TEMPERATURE, "maxOutputTokens": MAX_OUTPUT_TOKENS, "candidateCount": CANDIDATE_COUNT } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
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
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$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
Anda akan menerima respons JSON yang mirip seperti contoh respons.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Python API.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Java Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Isi respons
{
"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
}
]
}
Elemen respons | Deskripsi |
---|---|
blocked |
Flag boolean yang terkait dengan atribut keamanan yang menunjukkan apakah input
atau output model diblokir. Jika blocked adalah true , kolom errors
dalam respons akan berisi satu atau beberapa kode error. Jika blocked adalah
false , respons tidak akan menyertakan kolom errors .
|
categories |
Daftar nama kategori atribut keamanan yang terkait dengan konten yang dihasilkan. Urutan skor dalam parameter scores sesuai dengan urutan kategori. Misalnya, skor pertama dalam parameter scores menunjukkan kemungkinan respons melanggar kategori pertama dalam daftar categories .
|
citationMetadata |
Elemen yang berisi array kutipan. |
citations |
Array kutipan. Setiap kutipan memuat metadatanya. |
content |
Hasil yang dihasilkan oleh model menggunakan teks input. |
endIndex |
Bilangan bulat yang menentukan tempat kutipan diakhiri dalam content .
|
errors |
Array kode error. Kolom respons errors disertakan dalam respons hanya
jika kolom blocked dalam respons adalah true . Untuk informasi
tentang memahami kode error, lihat
Error keamanan.
|
license |
Lisensi yang terkait dengan kutipan. |
publicationDate |
Tanggal penerbitan kutipan. Formatnya yang valid adalah
YYYY , YYYY-MM , dan YYYY-MM-DD .
|
safetyAttributes |
Array atribut keamanan. Array berisi satu atribut keamanan untuk setiap kandidat respons. |
score |
Nilai float yang kurang dari nol. Makin tinggi nilai untuk score , makin besar keyakinan model terhadap responsnya.
|
startIndex |
Bilangan bulat yang menentukan tempat kutipan dimulai dalam konten. |
title |
Judul sumber kutipan. Contoh judul sumber mungkin dari artikel berita atau buku. |
url |
URL sumber kutipan. Contoh sumber URL dapat berupa situs berita atau repositori GitHub. |
tokens |
Token yang diambil sampelnya. |
tokenLogProbs |
Probabilitas log token yang diambil sampelnya. |
topLogProbs |
Token kandidat yang paling mungkin dan probabilitas lognya di setiap langkah. |
logprobs |
Hasil parameter `logprobs`. Pemetaan 1-1 ke `kandidat`. |
Contoh respons
{
"predictions":[
{
"citationMetadata": {
"citations": [ ]
},
"safetyAttributes": {
"scores": [ ],
"categories": [ ],
"blocked": false
},
"content": "CONTENT",
"score": -1.1161688566207886
}
]
}
Streaming respons dari model AI Generatif
Parameternya sama untuk permintaan streaming dan non-streaming ke API.
Untuk melihat contoh permintaan dan respons kode menggunakan REST API, lihat Contoh menggunakan REST API streaming.
Untuk melihat contoh permintaan dan respons kode menggunakan Vertex AI SDK untuk Python, lihat Contoh penggunaan Vertex AI SDK untuk Python untuk streaming.