Azure OpenAI入門基礎講座 Part3 - チャットプレイグラウンドを使ってみよう
この記事の内容
- Azure OpenAI Studioのチャットプレイグラウンドの基本的な使い方を解説します
- システムメッセージの役割と、AIへの指示の仕組みを理解します
- 会話の「記憶」を制御する「過去のメッセージ数」とトークンの関係を学びます
- セーフティシステムメッセージによる安全対策の方法を紹介します
- フューショットプロンプティングによる応答制御の例を紹介します
Azure OpenAI Studioへのアクセス
Azure管理ポータルからAzure OpenAIリソースに移動しても、そこから直接モデルと対話することはできません。実際に試したい場合は、Azure OpenAI Studioにアクセスする必要があります。
Azure OpenAI Studioを開くと、以下のようなプレイグラウンドが用意されています。
- チャットプレイグラウンド
- アシスタントプレイグラウンド
- 入力候補プレイグラウンド
- DALLEプレイグラウンド
これらはプログラムを書かなくても、ブラウザ上から手軽にモデルを試せる環境です。今回はその中からチャットプレイグラウンドを詳しく見ていきます。
チャットプレイグラウンドの基本操作
チャットプレイグラウンドを開くと、デプロイ済みのモデル(例:GPT-4 Omni)を選択して、すぐにチャットを開始できます。
テキストボックスにメッセージを入力して送信するだけで、AIから返答が得られます。Azure OpenAI ServiceのGPT-4Oは、ChatGPTのGPT-4Oと裏側で同じモデルが動いているため、同等の品質の回答が返ってきます。
チャットGPT Plusに課金しなくても、Azure OpenAI Studioのチャットプレイグラウンドで同様のチャット体験ができるのは大きなメリットです。
システムメッセージとは
チャットプレイグラウンドの左側にはシステムメッセージという設定欄があります。デフォルトでは以下のような英文が設定されています。
このシステムメッセージは、ユーザーのメッセージとは別に、すべての会話の先頭に自動的に送られる「裏の指示」です。通常のChatGPTではこのシステムメッセージは隠されていますが、Azure OpenAI Studioでは内容を直接確認・編集できます。
JSONビューで仕組みを確認する
「JSONの表示」ボタンを押すと、実際にモデルへ送信されているデータの構造を確認できます。メッセージは以下の3種類のロール(役割)に分かれています。
| ロール | 内容 |
|---|---|
system | システムメッセージ(裏の指示) |
user | ユーザーからの入力 |
assistant | AIからの返答 |
[
{
"role": "system",
"content": "You are an AI assistant that helps people find information."
},
{
"role": "user",
"content": "こんにちは、私はYouTuberです。"
},
{
"role": "assistant",
"content": "今日は素晴らしいYouTuberのあなたと一緒にいます!..."
}
]
このように、システムメッセージ・ユーザー入力・過去の会話履歴がまとめて1つのリクエストとして送られ、その全体をもとにAIが次の返答を生成しています。
過去のメッセージ数とトークンの関係
AIは本来、前の会話を「記憶」しているわけではありません。チャットで文脈が保たれているように見えるのは、毎回のリクエストに過去の会話履歴をまとめて含めて送信しているからです。
プレイグラウンドの「過去のメッセージを含む」という設定で、何件分の履歴を送るかを指定できます。
設定値による挙動の違い
- 過去のメッセージ数:1 の場合、直前の1件しか含まれないため、それより前の会話内容は「忘れた」状態になります
- 過去のメッセージ数:10 の場合、直近10件分の履歴を含めるため、以前に教えた情報も踏まえて返答してくれます
トークンとコストへの影響
「トークン」とは、AIが処理するテキストの単位です。英語では約4文字で1トークンに相当します。
- 過去のメッセージを多く含めるほどトークン数が増え、コストが増加します
- モデルごとに処理できるトークンの上限があり、それを超えるとリクエストが失敗します
コストと文脈保持のバランスを考慮しながら、適切なメッセージ数を設定することが重要です。
システムメッセージでキャラクター付けをする
システムメッセージを変更することで、AIの話し方や振る舞いを制御できます。
例えば、以下のように設定すると:
「変更を適用」ボタンを押した後にチャットすると、AIが「ですわ」調で返答するようになります。
「おはようございます。そうですわね、今日は本当にいい天気ですわ。お出かけするにはぴったりの日ですわね。」
このように、システムメッセージによってAIのペルソナを自由に設定できます。
セーフティシステムメッセージ
Azure OpenAI Studioには、有害コンテンツや不適切な応答を防ぐためのテンプレートが用意されています。「セーフティシステムメッセージ」として以下のようなテンプレートが選べます。
- 有害コンテンツを避ける — 差別的・危険な内容の生成を防ぐ
- 根拠のないコンテンツを避ける — 事実に基づかない情報の生成を制限する
- 著作権への配慮 — 著作権に関わるコンテンツへの対処
- ジェイルブレークを避ける — システムメッセージを無視させる操作への対策
「挿入」ボタンを押すと、該当するシステムメッセージのテンプレートが自動的に入力されます。
セーフティシステムメッセージを追加するとトークン数が増加する点には注意が必要です。例えば、追加前は26トークンだったものが、追加後に79トークンになることがあります。
フューショットプロンプティング(例を使った応答制御)
「例」を設定することで、AIの応答パターンをより細かく制御できます。これをフューショットプロンプティングと呼びます。
例えば、「話しかけられた言葉の親密さを数字で返すチャットボット」を作る場合、システムメッセージを以下のように設定します。
さらに「例」として具体的な入出力のペアを追加します。
| ユーザー入力 | アシスタント返答 |
|---|---|
| おはようございます | 5 |
| おはよう | 8 |
このように例を設定しておくと、同様のパターンの入力に対してAIが例に沿った形式で返答するようになります。
プログラムを書かなくても、自然言語でAIの振る舞いをコントロールし、簡単なアプリケーションを試作できる点が、チャットプレイグラウンドの大きな魅力です。
まとめ
今回はAzure OpenAI Studioのチャットプレイグラウンドの基本的な使い方を解説しました。
- Azure OpenAI Studioにアクセスすることで、プログラムなしにモデルを試せます
- システムメッセージはすべての会話に先行して送られる「裏の指示」であり、AIのキャラクターや制約を設定できます
- AIの「記憶」は、過去の会話履歴をまとめてリクエストに含めることで実現されており、過去のメッセージ数でその件数を制御できます
- トークン数はコストに直結するため、システムメッセージや履歴の量は適切に管理する必要があります
- セーフティシステムメッセージを活用することで、有害コンテンツや不適切な操作に対する対策ができます
- フューショットプロンプティング(例の設定)により、AIの応答パターンをより細かく制御できます
次回は、プレイグラウンドのパラメーター設定など、さらに詳しい内容を解説する予定です。