Codey untuk Chat Kode (codechat-bison
) adalah nama model yang mendukung chat kode. Ini adalah model dasar
yang mendukung percakapan multi-giliran yang khusus untuk kode.
Model ini memungkinkan developer melakukan chat dengan chatbot guna mendapatkan bantuan untuk berbagai pertanyaan terkait kode. API chat kode digunakan untuk berinteraksi dengan model Codey untuk Chat Kode.
Codey untuk Chat Kode ideal untuk tugas kode yang diselesaikan dengan interaksi dua arah sehingga Anda dapat terlibat dalam percakapan yang berkelanjutan. Untuk tugas kode yang memerlukan satu interaksi, gunakan API untuk penyelesaian kode atau API untuk pembuatan kode.
Untuk menjelajahi model ini di konsol, lihat kartu model Codey for Code Chat di Model Garden.
Buka Model Garden
Kasus penggunaan
Beberapa kasus penggunaan umum untuk chat kode adalah:
Mendapatkan bantuan tentang kode: Mendapatkan bantuan terkait pertanyaan yang Anda miliki tentang kode, seperti pertanyaan tentang API, sintaksis dalam bahasa pemrograman yang didukung, atau versi library mana yang diperlukan untuk kode yang Anda tulis.
Proses debug: Mendapatkan bantuan terkait kode proses debug yang tidak dikompilasi atau yang berisi bug.
Dokumentasi: Mendapatkan bantuan untuk memahami kode agar Anda dapat mendokumentasikannya dengan akurat.
Pelajari kode: Mendapatkan bantuan untuk mempelajari kode yang belum Anda pahami.
Permintaan HTTP
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/codechat-bison:predict
Versi model
Untuk menggunakan versi model terbaru, tentukan nama model tanpa nomor versi, misalnya codechat-bison
.
Untuk menggunakan versi model stabil,
tentukan nomor versi model, misalnya codechat-bison@002
. Setiap
versi stabil tersedia selama enam bulan setelah tanggal rilis dari versi stabil
berikutnya.
Tabel berikut berisi versi model stabil yang tersedia:
model codechat-bison | Tanggal rilis | Tanggal penghentian |
---|---|---|
codechat-bison@002 | 6 Desember 2023 | 9 April 2025 |
Untuk mengetahui informasi selengkapnya, baca Versi dan siklus proses model.
Isi permintaan
{
"instances": [
{
"context": string,
"messages": [
{
"content": string,
"author": string
}
]
}
],
"parameters":{
"temperature": number,
"maxOutputTokens": integer,
"candidateCount": integer,
"logprobs": integer,
"presencePenalty": float,
"frequencyPenalty": float,
"seed": integer
}
}
Berikut adalah parameter untuk model chat kode bernama codechat-bison
.
Model codechat-bison
adalah salah satu model di Codey. Anda dapat menggunakan parameter
ini guna membantu mengoptimalkan perintah untuk percakapan chatbot tentang kode.
Untuk informasi selengkapnya, lihat Ringkasan model kode dan Membuat perintah untuk membahas kode.
Parameter | Deskripsi | Nilai yang dapat diterima |
---|---|---|
|
Teks yang harus disediakan ke model terlebih dahulu untuk melandasi respons. | Teks |
(wajib) |
Histori percakapan yang diberikan kepada model dalam formulir penulis alternatif terstruktur. Pesan muncul dalam urutan kronologis: terlama dulu, terbaru terakhir. Jika histori pesan menyebabkan input melebihi panjang maksimum, pesan yang paling lama akan dihapus hingga seluruh perintah berada dalam batas yang diizinkan. |
List[Structured Message] "author": "user", "content": "user message" |
(opsional) |
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.
|
|
(opsional) |
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 singkat dan nilai yang lebih tinggi untuk respons yang berpotensi lebih panjang. |
|
(opsional) |
Jumlah variasi respons yang akan ditampilkan. Untuk setiap permintaan, Anda dikenai biaya untuk
token output dari semua kandidat, tetapi hanya dikenai biaya satu kali untuk token input.
Menentukan beberapa kandidat adalah fitur Pratinjau yang berfungsi dengan
|
|
(opsional) |
Menampilkan log probabilitas token kandidat teratas pada setiap langkah pembuatan. Token yang dipilih
model mungkin tidak sama dengan token kandidat teratas di setiap langkah. Tentukan jumlah kandidat yang akan ditampilkan menggunakan nilai bilangan bulat dalam rentang 1 -5 .
|
|
(opsional) |
Nilai positif akan menghukum token yang berulang kali muncul dalam teks yang dihasilkan, sehingga mengurangi kemungkinan konten berulang. Nilai minimumnya adalah -2.0 . Nilai maksimumnya adalah hingga, tetapi tidak termasuk, 2.0 .
|
|
(opsional) |
Nilai positif akan menghukum token yang sudah muncul dalam teks yang dihasilkan, sehingga meningkatkan
probabilitas untuk menghasilkan konten yang lebih beragam. Nilai minimumnya adalah -2.0 . Nilai maksimumnya
adalah hingga, tetapi tidak termasuk, 2.0 .
|
|
|
Jika seed ditetapkan ke nilai tertentu, model akan berusaha sebaik mungkin untuk memberikan
respons yang sama untuk permintaan berulang. Output deterministik tidak dijamin.
Selain itu, mengubah setelan model atau parameter, seperti suhu, dapat
menyebabkan variasi respons meskipun Anda menggunakan nilai seed yang sama. Secara
default, nilai seed acak akan digunakan.
Ini adalah fitur pratinjau. |
|
Permintaan sampel
REST
Untuk menguji prompt teks menggunakan Vertex AI API, kirim permintaan POST ke endpoint model penayang.
Sebelum menggunakan data permintaan mana pun, 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/codechat-bison:predict
Isi JSON permintaan:
{ "instances": [ { "messages": [ { "author": "AUTHOR", "content": "CONTENT" } ] } ], "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/codechat-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/codechat-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": [
{
"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
}
]
}
Elemen respons | Deskripsi |
---|---|
author |
string yang menunjukkan penulis respons chat.
|
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 .
|
content |
Konten respons chat. |
endIndex |
Bilangan bulat yang menentukan tempat kutipan diakhiri dalam content .
|
errors |
Array kode error. Kolom respons errors hanya disertakan dalam respons
jika kolom blocked dalam respons adalah true . Untuk informasi tentang cara memahami kode error, lihat Error keselamatan.
|
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.
|
scores |
Array nilai float . Setiap nilai merupakan skor yang menunjukkan kemungkinan bahwa respons melanggar kategori keamanan yang diperiksa.
Makin rendah nilainya, makin aman model mempertimbangkan respons. Urutan
skor dalam array sesuai dengan urutan atribut keamanan dalam elemen respons categories .
|
startIndex |
Bilangan bulat yang menentukan tempat kutipan dimulai dalam content .
|
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 sampel. |
tokenLogProbs |
Probabilitas log token sampel. |
topLogProbs |
Token kandidat yang paling mungkin dan probabilitas lognya di setiap langkah. |
logprobs |
Hasil parameter `logprobs`. Pemetaan 1-1 ke `candidates`. |
Contoh respons
{
"predictions": [
{
"citationMetadata": [
{
"citations": []
}
],
"candidates": [
{
"author": "AUTHOR",
"content": "RESPONSE"
}
],
"safetyAttributes": {
"categories": [],
"blocked": false,
"scores": []
},
"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.