😺

Azure OpenAI Assistants とは

2024/02/03に公開2

はじめに

こちらの記事はAzure OpenAI Assistants(執筆した2024年2月3日時点ではPreview版)を紹介していきます。
以下のドキュメントを参考に解説しています。
ちなみに執筆時点ではMicrosoftからの発表はまだなので、最速で解説しているかもしれないです。
https://review.learn.microsoft.com/en-us/azure/ai-services/openai/assistants-quickstart?branch=pr-en-us-264938&tabs=command-line&pivots=programming-language-studio

Azure OpenAI Assistants とは

ユーザー独自の指示、カスタムの命令を通じて、ニーズに合わせたAIアシスタントを作成することができます。また、自作の関数、検索、コートインタープリターなどの高度なツールを用いて強化されたAIアシスタントの作成も可能です。

使用する際の前提条件

Azure OpenAI Assistantsを利用するには、以下の条件を満たしてる必要があります。

  • Azureのサブスクリプションが用意されていること
  • Azure OpenAIの利用申請が許可されていること(申請はこちら)
  • gpt-4(1105-preview)モデルがAzure OpenAIにデプロイされていること
  • gptモデルがSweden Central、East US 2、Australia Eastのリージョンにデプロイされていること(記載のリージョンでのみAzure OpenAI Assistantsは利用できます)

使い方

まずは、Azure OpenAI Studioにアクセスします。
左のナビゲーションにあるAssistantsを選択します。


このAssistantsプレイグランドでは、コードを実行することなく、検索、プロトタイプ作成、テストを実行できます。このページから、あなたが思いついたアイデアや試してみたいことを、素早く反復、検証することができます。

Assistant setup

画像を見ると、Assistant name、Instructions、Deployment、Functions、Code interpreter、Filesという入力欄があります。それぞれ何を入力すべきか解説します。

項目名 説明
Assistant name gptモデルのデプロイ名です。
Instructions システムメッセージです。ここでルールや制御、性格の付与などのコンテキスト情報を記載します。ここでプロンプトエンジニアリングが必要になります。
Deployment デプロイしたgptモデルを選択します。※デプロイ名ではなくモデル名を選択することになります。
Functions カスタム関数を作成します。これによりAPIコールやデータ出力の構造化などを実現します。
Code interpreter モデルをテストし、コードを実行するためのサンドボックス化されたPython環境にアクセスできます。
Files 最大20ファイルアップロードできます。サイズは512MBまでです。ファイルのデータを元に回答を得ることができます。

Chat session

ユーザーとアシスタント間で会話を行う場所です。
この会話スレッド内でメッセージ数に制限はありません。 ここが従来のチャットセッションとは異なる点ですね。
アシスタントはモデルの入力トークンに合わせてリクエストを圧縮してくれます。つまり、メッセージが続きトークンが制限を超えても、新たな入力トークンによって溢れる分のメッセージ履歴をリクエストから除外していくことで、トークンオーバーを防ぎます。そのためメッセージが中断されることはないということです。アシスタントAPI内で完全にトークン管理、処理を行っています。

またプレイグランドを使用している間はいつでも View code を選択でき、Pythonやcurl、jsonのコードサンプルを見ることが可能です。これらのコードを利用してアプリ開発を進めることが可能になるわけです。

Log

アシスタントAPIのアクティビティの詳細をスナップショットとして提供してくれます。

結局何が変わるか

ざっくりとした使い方は分かりました。Azure OpenAI Assistantsによって何が変わるのかピンとこない方もいるかもしれません。
私個人の解釈としては、FunctionsやCode interpreterなどを利用してAPI開発を進められる、簡単にテストできることが大きな利点かなと思いました。
例えばFilesと組み合わせて、「このファイルデータをどの用に分割すれば回答精度が上がるか」をさくっとこのプレイグランド上で試すことができそうです。

ヘッドウォータース

Discussion