Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GPT4oで社内文書を活かそう!!(すきやねんAzure7月登壇資料)

nmrhrk
August 16, 2024
45

 GPT4oで社内文書を活かそう!!(すきやねんAzure7月登壇資料)

・Microsoft Build 2024で発表された新サービスや機能を用いて、社内文書を生成AIで活かすためのAzureにおけるアーキテクチャを解説します。
・2024年7月の「AOAI DevDay」から見た生成AIの今後について、個人的な意見をまとめます。

nmrhrk

August 16, 2024
Tweet

Transcript

  1. 自己紹介 しろくま / shirokuma 愛知 SE / PoC部 Expertise 

    Azure  Oracle Database  OutSystems SNS  Zenn : https://zenn.dev/nomhiro  X : @Shrkm1204 趣味  テニス 野球 ピアノ
  2. 背景 ~ 生成AIの特徴 ~ 言語をまたぐ対話  複数言語以外にも、プログラム言語、 SQLなども 役割やタスクを柔軟に変更可能 

    役割を指示して振る舞いを変えられる 数万字以上のテキストを瞬時に読解  ドキュメント、Webページなど大量な文章を 伝えられる Web上の情報を学習した大量な知識  生成AIのAPIを呼ぶだけで大量の知識をもとに 応答してくれる 生成AIが持つ能力と知識のみで、使えるシーンが多い ※チャットコミュニケーション、学習済み知識を使った質問回答、コード生成、翻訳 …
  3. 背景 言語をまたぐ対話  複数言語以外にも、プログラム言語、 SQLなども 役割やタスクを柔軟に変更可能  役割を指示して振る舞いを変えられる 数万字以上のテキストを瞬時に読解 

    ドキュメント、Webページなど大量な文章を 伝えられる Web上の情報を学習した大量な知識  生成AIのAPIを呼ぶだけで大量の知識をもとに 応答してくれる 社内ドキュメントなどの知識は生成AIは知らない。 生成AIが知らない知識を回答してほしい!!!
  4. 仕組みの構築のための選択肢  Azure OpenAI On Your Data  Azure上でコード実装なくRAGができる仕組み 

    自前でRAGを構築する  既存DBとの連携などの要件によりOn Your Dataが使えない場合に、RAGを自前で構築します。 こちらの内容について掘り下げていきます。
  5. Azure OpenAI  OpenAIのLLMモデルにREST APIできるサービス  コンテンツの生成、要約、画像の解釈、ベクトル化、翻訳などが可能。 GPT4o(omni)モデルがGA  トークン制限が大きく、賢く、レスポンスが早く、安くなったGPTモデル

     トークン制限: 128k  レスポンス: GPT-4の2倍(控え目)  金額: GPT-4の半額  (個人的に嬉しいこと)10枚まで画像をINPUTにしても精度が落ちにくい  GPT4-visionでも複数枚画像をINPUTにできたが、推論精度がかなり落ちる現象があった。
  6. Cosmos DB for NoSQL  フル マネージドの NoSQLデータベースサービス ベクトル検索機能がPreview 

    従来は、RAGにおける検索部分はAzure AI Searchに任すことが多かったが、 料金が高く、可用性が高くはない。  より安く、DBに直接ベクトル検索できるようになった。  ※Cosmos DBはベクトル検索のみ。 一方でAI Searchには、ハイブリッド検索や、セマンティック検索がある。 ベクトル検索だけでは検索精度が出ない場合には、有用な選択肢。
  7. (脱線)ベクトル検索とは???  コンテンツを数値情報に変換し、コンテンツ同士の類似度を算出する検索方法。  以下のようなシーンでの検索ができる。  意味的または概念的な類似性 ("dog" と "canine"

    は概念的には似ているが言語的には異なる)  多言語コンテンツ (英語では “dog”、日本語では “犬")  複数のコンテンツ タイプ (プレーンテキストの “dog” と画像ファイル内の犬の写真) ※まだ精度に課題あり 検索対象 ベクトル値 文書1 文書2 文書3 文書4 [ -2, -1, 0, 1 ] [ 2, 3, 4, 5 ] [ 6, 7, 8, 9 ] [ -2, 0, 4, 7 ] XXXのYYYとは? クエリ [ 2, 3, 4, 6 ] ベクトル値 最も近い類似度の検索対象 は文書2!!!
  8. Azure Functions  HTTP、Timer、ファイルアップロードなどをトリガーにコードを実行する サーバーレス ソリューション Flex従量課金プランがPreview  費用を抑えながら、VNet統合を利用でき、高スケーラビリティ 

    GAを待ち遠しにしております。  [従来]  VNet統合の機能を使うためには、従量課金プランが使えない。 代わりにApp ServiceプランやPremiumプランを使わざるをえない。  App ServiceプランやPremiumプランは、受信イベントがゼロでも、インスタンス料金が常時発生してしまっていた。 「クラウドだから、”実行した時間だけ”の課金なんでしょ?」 に対するギャップ
  9. OpenAI拡張機能ができること OpenAI • Text Completion(入力候補)API • Chat Completion(チャット応答)API • ベクトル値を生成する

    • アシスタントを作成する • アシスタントにメッセージを送信する • アシスタントの履歴を取得する • 関数を呼び出すアシスタント要求に応答する AI Search • AI Searchにドキュメントとベクトル値を格納 • AI Searchからドキュメントを検索
  10. 本日使うOpenAI拡張機能 今回は赤文字の機能を使って、RAGをしてみます。 OpenAI • Text Completion(入力候補)API • Chat Completion(チャット応答)API •

    ベクトル値を生成する • アシスタントを作成する • アシスタントにメッセージを送信する • アシスタントの履歴を取得する • 関数を呼び出すアシスタント要求に応答する AI Search • AI Searchにドキュメントとベクトル値を格納 • AI Searchからドキュメントを検索
  11. RAG構成の一例 チャット画面 ①チャット内容送信 ③Assistantsで推論 (チャット内容+検索結果) ②ベクトル検索 Functions • Flex従量課金プラン •

    OpenAI拡張機能 OpenAI • GPT4o • Assistants Cosmos DB NoSQL • ベクトル検索 RAG用ドキュメント格納 ✓料金が安い、構成がシンプル
  12. 大まかな処理の流れ 【RAG用ドキュメント格納】 1. ドキュメントの内容をベクトル化 2. Cosmos DBにドキュメントを格納 【RAG】 1. AIアシスタント作成

    2. Cosmos DBで検索 3. 検索結果とともにAIアシスタントで推論 【チャット履歴取得】 1. チャット履歴取得
  13. 大まかな処理の流れ 【RAG用ドキュメント格納】 1. ドキュメントの内容をベクトル化 2. Cosmos DBにドキュメントを格納 【RAG】 1. AIアシスタント作成

    2. Cosmos DBで検索 3. 検索結果とともにAIアシスタントで推論 【チャット履歴取得】 1. チャット履歴取得
  14. RAG用ドキュメント格納 Functions • Flex従量課金プラン • OpenAI拡張機能 ドキュメントUpload Cosmos DB NoSQL

    • ベクトル検索 OpenAI • embedding-large • Assistants ドキュメント ①ドキュメントの内容をベクトル化 ベクトル値 ②ベクトル値とともに ドキュメントの内容を格納
  15. 大まかな処理の流れ 【RAG用ドキュメント格納】 1. ドキュメントの内容をベクトル化 2. Cosmos DBにドキュメントを格納 【RAG】 1. AIアシスタント作成

    2. Cosmos DBで検索 3. 検索結果とともにAIアシスタントで推論 【チャット履歴取得】 1. チャット履歴取得
  16. RAG Functions • Flex従量課金プラン • OpenAI拡張機能 チャット画面 Cosmos DB NoSQL

    • ベクトル検索 OpenAI • GPT4o • Assistants ①AIアシスタント作成 ②AssistantsでAIアシスタント作成 AIアシスタントのID AIアシスタントのID
  17. 処理の概要 【RAG用ドキュメント格納】 1. ドキュメントの内容をベクトル化 2. Cosmos DBにドキュメントを格納 【RAG】 1. AIアシスタント作成

    2. Cosmos DBで検索 3. 検索結果とともにAIアシスタントで推論 【チャット履歴取得】 1. チャット履歴取得
  18. ド キ ュ メ ン ト の ベ ク ト

    ル 化 と Cosmos DB へ の 格 納
  19. RAG

  20. マルチエージェントの例 コーディング エージェント XXX要件の変更! YYYという機能を追加して テスト エージェント ✓ テストケース生成 ✓

    テストコード実行 マネージャ エージェント ✓ 要件や制約を満たしているか ✓ テストコード実行 Sandbox環境
  21. まとめ  Build2024 で発表されたアップデートされたサービスにより、 RAGの仕組みの選択肢が増えました。  Functions OpenAI拡張機能  Cosmos

    DB for NoSQLでのベクトル検索  On Your DataがGA  チャットアプリ単体で終わらせずに、 既存アプリにアドオンする形でCopilot化しよう!  次のフェーズは、マルチエージェントやSLM