適切に機能するプロンプトを設計するには、さまざまなバージョンのプロンプトをテストし、プロンプト パラメータを使用してテストを行い、最適なレスポンスが得られるかどうかを判断します。プロンプトは、Codey API を使用してプログラムでテストできます。また、Google Cloud コンソールの Vertex AI Studio でテストすることもできます。
チャット プロンプトをテストする
コードチャットのプロンプトをテストするには、次のいずれかの方法を選択します。
REST
Vertex AI API を使用してコードチャット プロンプトをテストするには、パブリッシャー モデル エンドポイントに POST リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際のプロジェクト ID。
- メッセージ: 構造化された形式でモデルに提供される会話の履歴。メッセージは古い順、新しい順に表示されます。メッセージの履歴のために入力が最大文字数を超えると、プロンプト全体が上限内に収まるまで最も古いメッセーが削除されます。モデルがレスポンスを生成するためには、メッセージの数(AUTHOR-CONTENT ペア)が奇数である必要があります。
- AUTHOR: メッセージの作成者。
- CONTENT: メッセージの内容。
- TEMPERATURE: 温度は、レスポンス生成時のサンプリングに使用されます。温度は、トークン選択のランダム性の度合いを制御します。温度が低いほど、確定的で自由度や創造性を抑えたレスポンスが求められるプロンプトに適しています。一方、温度が高いと、より多様で創造的な結果を導くことができます。温度が
0
の場合、確率が最も高いトークンが常に選択されます。この場合、特定のプロンプトに対するレスポンスはほとんど確定的ですが、わずかに変動する可能性は残ります。 - MAX_OUTPUT_TOKENS: レスポンス内に生成できるトークンの最大数。1 トークンは約 4 文字です。100 トークンは約 60~80 語に相当します。
レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。
- CANDIDATE_COUNT: レスポンスのバリエーションの数。有効な値の範囲は 1~4 の
int
です。
HTTP メソッドと URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/codechat-bison:predict
リクエストの本文(JSON):
{ "instances": [ { "messages": [ { "author": "AUTHOR", "content": "CONTENT" } ], "parameters": { "temperature": TEMPERATURE, "maxOutputTokens": MAX_OUTPUT_TOKENS, "candidateCount": CANDIDATE_COUNT } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
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
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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
次のような JSON レスポンスが返されます。
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
このサンプルを試す前に、Vertex AI クライアント ライブラリをインストールするにある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
コンソール
Google Cloud コンソールで Vertex AI Studio を使用してコードチャット プロンプトをテストする手順は次のとおりです。
- Google Cloud コンソールの [Vertex AI] セクションで、[Vertex AI Studio] に移動します。
- [開始] をクリックします。
- [ コードチャット] をクリックします。
- [モデル] で、名前が
codechat-bison
で始まるモデルを選択します。codechat-bison
の後の 3 桁の数字は、モデルのバージョン番号を示します。たとえば、codechat-bison@001
はコードチャット モデルのバージョン 1 の名前です。 - [Temperature] と [トークンの上限] を調整して、レスポンスへの影響をテストします。詳細については、コードチャット モデル パラメータをご覧ください。
- [プロンプトを入力して会話を開始] に、コードに関する会話を開始するプロンプトを入力します。
- [会話を継続] をクリックして、チャットにプロンプトを送信します。
- レスポンスを受け取ったら、前の 2 つのステップを繰り返して会話を継続します。
- プロンプトを保存する場合は [ 保存] をクリックします。
- [ コードを表示] をクリックして、プロンプトの Python コードまたは curl コマンドを表示します。
コードチャット プロンプトの例
MODEL_ID="codechat-bison"
PROJECT_ID=PROJECT_ID
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/us-central1/publishers/google/models/${MODEL_ID}:predict -d \
$"{
'instances': [
{
'messages': [
{
'author': 'user',
'content': 'Hi, how are you?',
},
{
'author': 'system',
'content': 'I am doing good. What Can I help you with in the coding world?',
},
{
'author': 'user',
'content': 'Please help write a function to calculate the min of two numbers',
}
]
}
],
'parameters': {
'temperature': 0.2,
'maxOutputTokens': 1024,
'candidateCount': 1
}
}"
チャット プロンプトの設計方法については、チャット プロンプトをご覧ください。
コードチャット モデルからのレスポンスをストリーミングする
REST API を使用してサンプルコードのリクエストとレスポンスを表示するには、ストリーミング REST API の使用例をご覧ください。
Vertex AI SDK for Python を使用してサンプルコードのリクエストとレスポンスを表示するには、ストリーミングでの Vertex AI SDK for Python の使用例をご覧ください。
次のステップ
- コード補完プロンプトを作成する方法を学習する。
- コード生成プロンプトの作成方法を学習する。
- 責任ある AI のベスト プラクティスと Vertex AI の安全フィルタについて学習する。