見出し画像

OpenAI Assistants APIとは何か

2023年11月に公開されたOpenAI Assistants APIについて、GPTsやLangChainとの違いについてまとめました。




OpenAI Assistants APIでできること

Assistants APIは、アシスタントボットを作成するためのAPIです。以下のような機能が用意されています。

機能リスト

  • ファイル参照

  • コード実行

  • ファンクション呼び出し

  • 会話履歴の保存

  • プロンプト保存

機能名とのマッピング

上記機能をAssistants APIでの機能名とマッピングすると以下のようになります。 

機能名とのマッピング

なお、プログラムを組んでAPIを叩かなくても、OpenAIのサイト上から手軽にアシスタントの作成やテスト実行が可能です。

Assistants画面

端的にいえば、Assistants APIは同時期に発表されたGPTsの「カスタムGPTをAPIで作成できるもの」です。

GPTsとの違い

GPTsはWebサービスとしての「ChatGPT」に新しく搭載された機能(利用にはChatGPT Plus契約が必要)です。

GPTsの特長

  • 事前にInstructionsを設定できるので、毎回プロンプトで指示を出さなくて済む

  • Web参照、画像生成、コード生成機能を簡単に追加できる

  • 外部APIの呼び出しが可能

これまで個別に提供されていたWeb参照、画像生成、Plungins、Code Interpreter、Function Callingなどの機能が使いやすく統合されたサービスとなっています。

比較: Assistants API vs GPTs

では、Assistants APIとGPTsの違いについて見ていきます。

Assistants API vs GPTs

前提としてWebサービスとAPIという違いはありますが、機能的にはほぼ同等と言えます。
ただし、Web BrowsingやDALL-Eの機能そのものはAssistants APIで提供されているわけではないので、Functions + 専用APIを用意する必要があります。

LangChainとの違い

OpenAI Assistants APIのようにLLMをエージェント化する方法は、これまでLangChainなどのライブラリを使って実装することが一般的でした。
そこで、LangChainとの違いについても見ていきます。

LangChainのメリット

  • 様々なToolsが用意されている

    • 様々なツールがコミュニティ上で提供されていて、簡単に機能を追加できます。

    • 一方Assistants APIのFunctionsは、ファンクションの呼び出しを行うだけであり機能そのものは独自に用意する必要があります。

  • OpenAI以外のモデルを使うことができる

  • LangFlowLangSmithLangGraphなどの開発・運用のためのエコシステムが充実している

LangChainのデメリット

  • 肥大化したライブラリ

    • 豊富すぎる機能のためライブラリが肥大化、複雑化している印象です。

  • 速すぎる開発サイクル

    • 頻繁に仕様変更があり、業務で使う場合は互換性維持に苦労するかもしれません。

  • ベクターストアの準備

    • テキスト参照機能を実現するにはベクターストアが必要となるため、以下のような課題が発生します。

      • アプリケーションの実装上の手間

      • データの読み込みにかかるオーバーヘッド

      • マルチテナント環境でのデータ同期問題

まとめ

以上、OpenAI Assistants APIについて、GPTsやLangChainとの違いについてまとめてみました。
Assistants APIを利用することで、カスタマイズしたボットアプリケーションを手軽に構築できるので、仕事でもプライベートでも色々と試していきたいと思います。
なお、本記事執筆時点(2024年1月)でこのAPIはまだβ版なので仕様については今後変更される可能性があります。


Header Photo by Unsplash Andrew Neel

この記事が気に入ったらサポートをしてみませんか?