本文へスキップ
IFAI

AIモデル

OpenAI、APIに「Function calling」を追加 GPT-3.5の16k版提供と値下げも実施

公開 拡散指数 56

OpenAIはChat Completions APIに「Function calling」機能を追加したと発表した。モデルが関数の引数を構造化JSONとして正確に出力できるようになり、外部ツールやDBとの連携が容易になる。あわせてGPT-3.5 Turboの16kコンテキスト版の提供や各種値下げも実施された。

OpenAI、APIに「Function calling」を追加 GPT-3.5の16k版提供と値下げも実施
画像:openai.com

大規模言語モデルに外部ツールやデータベースを操作させようとする際、開発者はこれまで「余計な挨拶は省き、JSON形式だけで出力してほしい」とプロンプトで懇願する必要がありました。それでもモデルが親切心から前置きを出力してしまい、プログラムが停止することは日常茶飯事でした。

OpenAIはAPIの大幅アップデートを発表し、gpt-4-0613およびgpt-3.5-turbo-0613に「Function calling(関数呼び出し)」機能を導入しました。あわせてGPT-3.5の16kコンテキスト対応、大幅な値下げ、旧モデルの廃止スケジュールも公開されています。

モデルがツールの引数を正しく返す仕組み

Function callingは、開発者がAPIリクエスト内で利用可能な関数をJSON Schema形式で定義できる機能です。

モデルはユーザーの入力を解釈し、外部関数を呼び出す必要があるかどうかを自律的に判断します。呼び出しが必要な場合、自然言語のテキストではなく、その関数の引数を含んだJSONオブジェクトを出力します。

活用例は大きく3つあります。1つ目は外部ツールと連携するチャットボットで、「アーニャにメールを送る」という指示をsend_email関数へのパラメータに変換します。2つ目は自然言語からのSQLや社内APIクエリの自動生成、3つ目は長文記事から人名や日付などの構造化データを抽出する処理です。

一方でOpenAIはセキュリティ上の注意点も挙げています。外部ツールから返された信頼できないデータによって、モデルが意図しない操作を実行してしまう脆弱性の懸念があるため、重要なアクションの前にはユーザーの確認ステップを挟むことが推奨されています。

16kモデルの登場と最大75%の値下げ

もうひとつの大きな変更点がコンテキスト長と価格です。新たに提供されるgpt-3.5-turbo-16kは、従来の4kからコンテキスト長が4倍に拡張され、1回のリクエストで約20ページのテキストを処理できるようになりました。

価格体系も改定され、標準のgpt-3.5-turboは入力トークンが25%値下げされ、1,000トークンあたり0.0015ドルとなりました。テキスト埋め込みモデルのtext-embedding-ada-002は75%値下げされ、1,000トークンあたり0.0001ドルで利用できます。

既存のgpt-3.5-turbo-0301やgpt-4-0314は、パラメータで指定すれば継続利用可能です。コミュニティからのフィードバックを受け、OpenAIはこれらの初期モデルのサポート期間を少なくとも2024年6月13日まで延長することを決定しました。

なぜ重要か

Function callingの導入により、LLMは単なる「おしゃべりAI」から「ソフトウェアの制御盤」へと役割を進化させたと評価できます。これまで不安定な正規表現や力技のプロンプトに頼っていた出力解析が、APIの標準機能として保証される意義は極めて大きいです。

開発者にとっては、社内システムやサードパーティAPIと連携した自律型エージェントの構築ハードルが一気に下がりました。また、LangChainなどの周辺フレームワークが担っていた「ツール呼び出しのための糊付けコード」の多くが、モデル自身の基本機能として吸収された形です。

さらに、16k版GPT-3.5の投入と大幅な値下げは、長文要約やドキュメント解析のコストを現実的な水準に引き下げました。ただし、モデルが外部アクションを実行できるようになることで、プロンプトインジェクションなどの攻撃を受けた際の実害リスクも跳ね上がります。安全設計の責任が本格的に開発者側に委ねられた点は注視すべき課題です。

情報源 (1)

  1. [1]
    openai.com(新しいタブで開きます)原文openai.com

毎日のAIピックアップ