ここ最近、AI関連のアップデートのスピードがとても速いですね。
生成AIが登場して以降、私も、ど忘れしたコードの書き方を教えてもらったり、人が書いたコードの理解を手伝ってもらったり、話し相手になってもらったりと、ほどほどに使っていました。ただ、複数のAIを駆使する猛者と比べると、まだまだ使いこなせているという状態ではありませんでした。
そんなAI初心者の私ですが、ついに手を出す時がやってきてしまいました。まずはどのようなことができるのか、AzureのOpenAIで遊んでみました!
Azure OpenAI Studioのセットアップ
Azure OpenAI(略してAOAIと略すようです)をAzure上で使えるように準備します。
Azure OpenAI のリソースを作成
Azureポータル上で、「Azure OpenAI」のリソース作成を行います。
日本リージョンを選びたくなりますが、今回はGPT4oを使ってみたかったので、East USを選択しています。 各リージョンでどのモデルが使用可能かは、以下のページを参照ください。 Azure OpenAI Service models - Azure OpenAI | Microsoft Learn
リソース作成に必要なのは、リージョンと価格レベルの設定だけです。 リソースの作成ができたら、Azure OpenAI Studio に移動します。 AI系のモデルの準備は、すべてこのStudio内で行います。
モデルのデプロイ
次は使用したいOpenAIのモデルのデプロイを行います。
モデル名は選択式ですので、使いたいモデルをここで選択します。 リージョンによってはデプロイ不可のものもあります。 最近リリースされたばかりの GPT4o「2024-08-06」バージョンを選択していきます。 「デプロイの種類」は、「グローバル標準」にしておけば、使った分だけ課金される従量課金制になります。ここで「Provisioned-Managed」を選ぶと、時間単位で課金され、思いもよらぬ高額請求になる場合があるため、ご注意ください。
モデルのデプロイが成功すると、デプロイ一覧に表示され、いよいよ使うことができます。
チャットで遊んでみよう!
デプロイしたモデルを試すには、「チャット」を選択します。 「DALL-E」のような画像生成モデルをデプロイした場合は「DALL-E」から試せます。そちらで遊ぶのも楽しそうですが、今回はチャットを試します。
チャット プレイグラウンドでは、以下の流れで使用することができます。
- 使いたいモデルを選択
- システムメッセージを設定
- ユーザークエリを入力
簡単ですね!
システムメッセージ部分には、AIがどのように動作するかを決める内部的な指示を設定します。 例えば
システムメッセージが初期状態で「カレーはどうやって作りますか?」と質問すると、このように返ってきました。
カレーの基本的な作り方を紹介します。これは一般的なチキンカレーのレシピです。
材料
鶏肉(もも肉やむね肉)300g
玉ねぎ 1個
にんじん 1本 ・・・システムメッセージを「女子高生になりきって回答してください。」に変更してみます。 システムメッセージを変更した際は、「変更を適用する」ボタンをお忘れなく。(私はよく忘れます)
再度、同じ質問をしてみると・・・
カレーの作り方だね!簡単だよ~。
材料を準備
玉ねぎ、にんじん、じゃがいも、お肉(鶏肉とか牛肉とか好きなの!)
カレールー
水
野菜を切る
玉ねぎは薄切り、にんじんとじゃがいもは一口大に切るよ。 ・・・
とてもフランクな回答が返ってきました。
GPT4o の“o“ を体験してみる
GPT4o の “o“ の部分は「Omni」の略とのことで、このモデルから画像や音声入力ができるようになりました。 画像については、以前は「GPT-4 Turbo with Vision」というモデルでも対応可能だったようですが、GPT4oの登場によって、現在はデプロイモデルの一覧に表示されません。
画像は、ユーザークエリから指定可能です。 ユーザークエリで画像とテキストを同時に送ってみます。
この絵は、椅子に座っている人物がコンピュータの前で両手を挙げている様子を描いています。何かに喜んでいるか、伸びをしているように見えます。背景は黄色で、デスク上にはモニターが置かれています。
このように、画像を読み取って答えを返してくれました。 写真や領収証を読み取ってデータ化するなど、いろいろな使い道がありそうですね!
「2024-08-06」モデルの追加機能
「2024-08-06」モデルでは、応答形式に「JSON object」と「JSON schema」が追加されました。 今までは、JSONで返してほしい場合は、システムメッセージ等で指定する必要がありましたが、JSON以外の余分な文章が入ってくる可能性がありました。(「もちろん!」や「こんにちは!」など) チャットボットならそれでも良いですが、サービス内部で動いてほしい場合はノイズになります。この機能追加はとてもうれしいです。
まずは応答形式「Text形式」で質問してみます。
応答形式を「JSON object」に変えて、同じ質問をすると、
エラーが返ってきました。 メッセージに「JSON」が含まれないといけないようです。
システムメッセージ or ユーザークエリにJSONが含まれていると、このように返してくれます。 JSONのスキーマは指定していないため、AI側で質問にあったスキーマを考えてくれたようです。
応答形式「JSON schema」は、選択と同時にJSONのスキーマ設定画面が表示されます。
「例を試す」をそのまま適用して、同じ質問をしてみます。
指定されたスキーマで返してくれました!
「2024-08-06」モデルでは、その他にも最大応答が 4096 から 16K まで増えるなど、うれしいバージョンアップが入っています。
AOAIには、まだまだ触れていない機能が盛りだくさんですので、今後も触っていきたいと思います。
おわりに
KENTEMでは、様々な拠点でエンジニアを大募集しています! 建設×ITにご興味頂いた方は、是非下記のリンクからご応募ください。 recruit.kentem.jp career.kentem.jp