• HOME
  • 記事一覧
  • 【生成 AI】Microsoft Foundry の提供する LLM の Responses API について
  • クラウド
  • AI基盤

【生成 AI】Microsoft Foundry の提供する LLM の Responses API について

a.hayashi
a.hayashi
  • AI Agent
  • AIチャット
  • 生成AI活用基盤
  • 生成AI
【生成 AI】Microsoft Foundry の提供する LLM の Responses API について

こんにちは、ソリューション統括本部第三ソリューション本部第二部門兼生成 AI 推進センタの林です。

皆さんは生成 AI サービスで AI 相手にチャットをどの程度しますか?

私は毎日しています。社内の情報を参照したいときは M365 Copilot、一般的な情報の調査を行いたい場合は Excellia というふうに使う生成 AI サービスを使い分けています。

さて、そんな生成 AI サービスのコアとなっている存在があります。それは LLM (大規模言語モデル) です。

生成 AI サービスを利用する際、ユーザーがあまり意識することのない LLM の使い方について、この記事では確認していきます。

LLM とは

LLM (Large Language Model : 大規模言語モデル) は、大量の文章を学習することで、人間が書いたかのような自然な文章を生成できる AI モデルです。現在広く利用されている ChatGPT 、Copilot 、また我々が社内に提供している Excellia などの生成 AI サービスも、その裏側では LLM が動作しています。

ユーザーから質問を受け取り、その内容を理解し、適切な文章を生成することが LLM の役割です。私たちは日頃から「AI と会話している」と感じながら利用していますが、実際の LLM の動作は少し想像と異なります。

LLM は毎度「はじめまして」

実は LLM 自体は会話履歴を覚えていません。例えば以下のような会話を考えてみます。

Excellia でのチャットの様子
ユーザー:
私の名前は林です

AI:
承知しました

ユーザー:
私の名前は何ですか?

多くの人は AI が「林さんですね」と答えることから、「AI が私の名前を覚えている」と考えます。

しかし実際にはそうではありません。LLM が受け取っているのは、

私の名前は林です
↓
承知しました
↓
私の名前は何ですか?

という会話全体です。もし LLM に送信される内容が

私の名前は何ですか?

だけだった場合、AI は答えることができません。

LLM 自体は会話履歴を保持しない

つまり LLM は人間のような意味での記憶を持っておらず、毎回受け取った入力だけをもとに回答を生成しています。極端な言い方をすると、LLM にとっては毎回が「はじめまして」なのです。

会話履歴を送信する必要がある

ではなぜ ChatGPT のようなサービスでは自然な会話が継続できるのでしょうか。答えはシンプルです。会話履歴をアプリケーション側で保持し、毎回 LLM に送信しているからです。

ユーザーが新たな質問を入力すると、

過去の会話履歴
+
今回の質問

がまとめて LLM へ渡されます。そのため AI は過去のやり取りを踏まえて回答しているように見えるのです。

ユーザーは意識することはありませんが、ChatGPT や Copilot、Excellia のような生成 AI サービスでは、この会話履歴の管理が自動的に行われています。AI が記憶しているのではなく、生成 AI サービスが過去の会話を管理していると考えると理解しやすいでしょう。

Microsoft Foundry

Microsoft は生成 AI を業務システムやサービスへ組み込むための Microsoft Foundry というプラットフォームを Azure 上で提供しています。

Microsoft Foundry

Microsoft Foundry では GPT シリーズをはじめとして、さまざまな AI モデルを利用することができます。Excellia においても、こうした Azure 上の AI モデルを活用することで、高品質な生成 AI サービスを実現しています。

それでは、アプリケーションはどのような方法で LLM と通信しているのでしょうか。

従来の API「Chat Completions API」

Azure OpenAI Service を利用する際、長らく標準的に利用されてきたのが Chat Completions API です。この API では、前述の通り、会話履歴を含めて毎回リクエストを送信する必要があります。

イメージとしては以下のようになります。

ユーザー
↓
アプリケーション
↓
会話履歴を組み立てる
↓
Chat Completions API
↓
LLM

例えば、

質問 1
回答 1

質問 2
回答 2

質問 3

という会話を行う場合、質問 3 の時点では過去のやり取りも含めて送信されます。そのため、

  • 会話が長くなるほど送信データ量が増える
  • 処理コストが増える
  • 応答時間が長くなる

といった課題があります。もちろん非常にシンプルで扱いやすい API であり、現在でも多くのシステムで利用されていますが、生成 AI の利用が高度化するにつれて課題も見えてきました。

新しい API「Responses API」

そうした背景の中で登場したのが Responses API です。Responses API は単なる後継 API ではありません。

Microsoft が AI エージェントの実現を見据えて設計した、より高機能な API です。

従来の Chat Completions API と比較すると、

  • 会話状態の管理
  • Web 検索
  • Function Calling
  • AI エージェント向け機能

などが統合されています。

会話履歴管理を簡素化できる

従来はアプリケーション側で会話履歴を管理していました。Responses API では API 側で会話状態を扱うことができるため、開発者は履歴管理の実装負荷を軽減できます。

これにより、よりシンプルなコードで会話型システムを開発できるようになります。

Web 検索と連携できる

従来の Chat Completions API においては、モデルが学習済みの知識をもとに回答していました。一方で Responses API では Web 検索機能と連携することが可能です。

例えば、

今日の AI 関連ニュースを教えて

といった質問に対して、最新情報を確認した上で回答するといったことが実現できます。近年は情報の鮮度が重要になるケースも増えているため、非常に大きな進化といえるでしょう。

Excellia で Web 検索機能を有効化するスイッチ

Excellia でも現在はこの Responses API の中で提供される Web 検索機能を利用しています。

AI エージェントとの相性が良い

最近では「AI エージェント」という言葉を耳にする機会が増えました。

単純に質問へ回答するだけではなく、

  • 情報を調査する
  • ファイルを検索する
  • 外部システムと連携する
  • 複数のステップを自律的に実行する

といった仕組みが求められています。

Responses API はそうした利用を想定して設計されており、今後の生成 AI 活用の中心的な API の一つになると考えられています。

まとめ

今回は LLM と生成 AI サービスの関係について紹介しました。

一見すると AI が会話内容を記憶しているように見えますが、実際には LLM 自体は会話履歴を持っていません。会話履歴は生成 AI サービス側で保持され、その履歴を含めて LLM に送信することで自然な対話が実現されています。

Azure で提供される LLM の従来の Chat Completions API は、この履歴管理をアプリケーション側で実装する前提の API でした。

一方で Microsoft が提供する Responses API は、

  • 会話状態管理
  • Web 検索
  • AI エージェント向け機能

などを統合した次世代 API として登場しています。

生成 AI の活用がチャット中心から AI エージェント中心へと広がる中で、Responses API の重要性は今後さらに高まっていくでしょう。

皆さんが普段利用している生成 AI サービスの裏側では、今回紹介したような仕組みが動いています。生成 AI サービスのちょっとした裏側の話でした。

ありがとうございました。

新着記事一覧へ