すきやねん7月_GPT4oで社内文書を活かそう!!

>100 Views

July 23, 25

スライド概要

profile-image

愛知 / SE / Azure / AzPoC部

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

Explorerでの検索は終わり!! ~ GPT4oで社内文書を活かすんやで!!! ~ ~ AOAI Dev Dayから見た生成AIの今後 ~ #すきやねんAzure

2.

自己紹介 しろくま / shirokuma 愛知 SE / PoC部 Expertise  Azure  Oracle Database  OutSystems SNS  Zenn : https://zenn.dev/nomhiro  X : @Shrkm1204 趣味  テニス 野球 ピアノ

3.

Agenda  社内文書を生成AIに活かす  Build2024のRAGに関わるサービスアップデート  Azure Functions OpenAI拡張機能の何が嬉しい?  RAGの構成例とデモ  まとめ

4.

Agenda  社内文書を生成AIに活かす  Build2024のRAGに関わるサービスアップデート  Azure Functions OpenAI拡張機能の何が嬉しい?  RAGの構成例とデモ  AOAI DevDayから見た生成AIの今後  まとめ

5.

社内文書を生成AIに活かす?

6.

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

7.

背景 言語をまたぐ対話 数万字以上のテキストを瞬時に読解  複数言語以外にも、プログラム言語、  ドキュメント、Webページなど大量な文章を 役割やタスクを柔軟に変更可能 Web上の情報を学習した大量な知識  役割を指示して振る舞いを変えられる  生成AIのAPIを呼ぶだけで大量の知識をもとに SQLなども 伝えられる 応答してくれる 社内ドキュメントなどの知識は生成AIは知らない。 生成AIが知らない知識を回答してほしい!!!

8.

RAGで社内文書を活かす  RAG:Retrieval-Augmented Generation 例)Microsoft Copilot (取得拡張生成)  生成AIに外部知識を与えて、回答を生成させる。 ≠LLMの再学習

9.

RAG構成の概要 ②検索 XXシステムの手順書など XXシステムのYYについて教えて ①チャット内容送信 回答 YYとは~~~~です。 プログラム ③チャット内容+検索結果 回答 社内文書 などのDB

10.

RAGの利用シーン  社内文書の情報を使って回答してほしい  特定の業界用語に対応して回答してほしい  顧客対応用のチャットボット(ヘルプデスク等) など

11.

利用シーンが思いついたら、何から始めれば? 1. 質問と回答の具体化(対象業務のブレイクダウン) 2. データの用意 3. プロンプト検証 4. 仕組みの構築 こちらの内容について掘り下げていきます。

12.

仕組みの構築のための選択肢  Azure OpenAI On Your Data  Azure上でコード実装なくRAGができる仕組み  自前でRAGを構築する こちらの内容について掘り下げていきます。  既存DBとの連携などの要件によりOn Your Dataが使えない場合に、RAGを自前で構築します。

13.

本セッションで紹介する内容のモチベーション とはいっても、いきなり自前で一から実装するのはハードル高いでしょ!? なるべく簡単に実装して早く検証したい!

14.

Microsoft Build 2024 RAGに関わるサービスアップデート

15.

RAGに関わる主なサービスアップデート Azure Functions • Flex従量課金プランがPreview • OpenAI拡張機能がPreview Azure Cosmos DB for NoSQL • ベクトル検索機能がPreview Azure OpenAI • GPT4o(omni)モデルのGA

16.

Azure OpenAI  OpenAIのLLMモデルにREST APIできるサービス  コンテンツの生成、要約、画像の解釈、ベクトル化、翻訳などが可能。 GPT4o(omni)モデルがGA  トークン制限が大きく、賢く、レスポンスが早く、安くなったGPTモデル  トークン制限: 128k  レスポンス: GPT-4の2倍(控え目)  金額: GPT-4の半額  (個人的に嬉しいこと)10枚まで画像をINPUTにしても精度が落ちにくい  GPT4-visionでも複数枚画像をINPUTにできたが、推論精度がかなり落ちる現象があった。

17.

Cosmos DB for NoSQL  フル マネージドの NoSQLデータベースサービス ベクトル検索機能がPreview  従来は、RAGにおける検索部分はAzure AI Searchに任すことが多かったが、 料金が高く、可用性が高くはない。  より安く、DBに直接ベクトル検索できるようになった。  ※Cosmos DBはベクトル検索のみ。 一方でAI Searchには、ハイブリッド検索や、セマンティック検索がある。 ベクトル検索だけでは検索精度が出ない場合には、有用な選択肢。

18.

(脱線)ベクトル検索とは???  コンテンツを数値情報に変換し、コンテンツ同士の類似度を算出する検索方法。  以下のようなシーンでの検索ができる。  意味的または概念的な類似性 ("dog" と "canine" は概念的には似ているが言語的には異なる)  多言語コンテンツ (英語では “dog”、日本語では “犬")  複数のコンテンツ タイプ (プレーンテキストの “dog” と画像ファイル内の犬の写真) ※まだ精度に課題あり 検索対象 ベクトル値 文書1 [ -2, -1, 0, 1 ] 文書2 [ 2, 3, 4, 5 ] 文書3 [ 6, 7, 8, 9 ] 文書4 [ -2, 0, 4, 7 ] ベクトル値 クエリ XXXのYYYとは? [ 2, 3, 4, 6 ] 最も近い類似度の検索対象 は文書2!!!

19.

Azure Functions  HTTP、Timer、ファイルアップロードなどをトリガーにコードを実行する サーバーレス ソリューション Flex従量課金プランがPreview  費用を抑えながら、VNet統合を利用でき、高スケーラビリティ  GAを待ち遠しにしております。  [従来]  VNet統合の機能を使うためには、従量課金プランが使えない。 代わりにApp ServiceプランやPremiumプランを使わざるをえない。  App ServiceプランやPremiumプランは、受信イベントがゼロでも、インスタンス料金が常時発生してしまっていた。 「クラウドだから、”実行した時間だけ”の課金なんでしょ?」 に対するギャップ

20.

Azure Functions  HTTP、Timer、ファイルアップロードなどをトリガーにコードを実行する サーバーレス ソリューション OpenAI拡張機能  OpenAIやAI Searchとのやり取りをコーディング量少なく実装できる

21.

Azure Functionsの OpenAI拡張機能の何が嬉しい?

22.

OpenAI拡張機能の嬉しいこと  OpenAIやAI Searchとのやり取りをコーディング量少なく実装できる。  OpenAI拡張機能は、各種サービスへのアクセスを勝手に行ってくれるので、 各種サービス変更に伴う変更追従の維持を少なくできる。  AI周辺のサービスはサービスアップデートが頻繁なので、 作成したアプリで各種サービスのバージョン更新対応などの維持が意外と大変

23.

OpenAI拡張機能ができること OpenAI • Text Completion(入力候補)API • Chat Completion(チャット応答)API • ベクトル値を生成する • アシスタントを作成する • アシスタントにメッセージを送信する • アシスタントの履歴を取得する • 関数を呼び出すアシスタント要求に応答する AI Search • AI Searchにドキュメントとベクトル値を格納 • AI Searchからドキュメントを検索

24.

OpenAIのアシスタント機能とは?  ツール群を持ったAI アシスタントを作成できる機能  事前定義した関数の中から適切な関数群を実行する  ファイル検索して検索結果をもとに推論する  永続的なスレッドでメッセージ履歴を保存し、使うモデルのトークン制限に合わせ て会話履歴を推論に使う  プレビュー機能

25.

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

26.

RAG構成の一例

27.

RAG構成の一例 RAG用ドキュメント格納 ✓ 料金が安い、構成がシンプル ②ベクトル検索 Cosmos DB NoSQL • ベクトル検索 チャット画面 ①チャット内容送信 Functions • Flex従量課金プラン • OpenAI拡張機能 ③Assistantsで推論 (チャット内容+検索結果) OpenAI • GPT4o • Assistants

28.

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

29.

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

30.

RAG用ドキュメント格納 ②ベクトル値とともに ドキュメントの内容を格納 ドキュメントUpload ドキュメント Cosmos DB NoSQL • ベクトル検索 ①ドキュメントの内容をベクトル化 Functions • Flex従量課金プラン • OpenAI拡張機能 ベクトル値 • OpenAI embedding-large • Assistants

31.

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

32.

RAG Cosmos DB NoSQL • ベクトル検索 チャット画面 ①AIアシスタント作成 AIアシスタントのID ②AssistantsでAIアシスタント作成 Functions • Flex従量課金プラン • OpenAI拡張機能 AIアシスタントのID OpenAI • GPT4o • Assistants

33.

RAG ②ベクトル検索 検索結果 チャット画面 Cosmos DB NoSQL • ベクトル検索 ①チャット内容送信 Functions • Flex従量課金プラン • OpenAI拡張機能 OpenAI • GPT4o • Assistants

34.

RAG Cosmos DB NoSQL • ベクトル検索 チャット画面 ①チャット内容送信 回答 ③Assistantsで推論 (チャット内容+検索結果) Functions • Flex従量課金プラン • OpenAI拡張機能 回答 OpenAI • GPT4o • Assistants

35.

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

36.

チャット履歴取得 Cosmos DB NoSQL • ベクトル検索 チャット画面 ①チャット履歴を取得 チャット履歴 ②Assistantsに保管された チャット履歴を取得 Functions • Flex従量課金プラン • OpenAI拡張機能 チャット履歴 OpenAI • GPT4o • Assistants

37.

デモ

38.

デモの対象データ

39.

Cosmos DB ド キ ュ メ ン ト の ベ ク ト ル 化 と へ の 格 納

40.

RAG

41.

チ ャ ッ ト 履 歴 取 得

42.

「チャットは飽きたやろ???」 チャットアプリ単体で終わらずに、既存アプリと融合させよう。

43.

チャットは意外と使われない? 普段から使っているアプリと、チャットアプリを別にしてしまうと、 チャットアプリ自体が使われない。 元々使われている業務アプリに、Copilotのイメージで拡張しよう。

44.

例) タスク管理アプリにチャットを拡張 [タスク管理アプリ] AIにやってほしいこと • 登録されているタスクについての回答 • チャットしながら、 足りないタスクを自動で追加してくれる。

45.

デ モ

46.

まとめ

47.

まとめ 昨日7/25のAOAI DevDayから見た 生成AIの今後

48.

生成AIに関する世の中の流れ ✓「使ってみる」 →「本番運用」 ✓「チャットアプリ」 →「業務への適用」「マルチエージェント」 ✓「LLM」 →「LLMとSLMの使い分け」

49.

生成AIに関する世の中の流れ ✓「使ってみる」 →「本番運用」 ✓「チャットアプリ」 →「業務への適用」「マルチエージェント」 ✓「LLM」 →「LLMとSLMの使い分け」

50.

マルチエージェント 1. 特定の領域の知識を持ち役割が異なるAIエージェントを組み合わせて、 目的を達成するための議論を行い成果物を生成する。 2. 特定の処理を実行するツールとしてのエージェントを組み合わせ、 目的のためにタスクを実行する。

51.

マルチエージェントの例 Sandbox環境 XXX要件の変更! YYYという機能を追加して ✓ テストコード実行 コーディング エージェント テスト エージェント マネージャ エージェント ✓ 要件や制約を満たしているか ✓ テストケース生成 ✓ テストコード実行

52.

まとめ

53.

まとめ  Build2024 で発表されたアップデートされたサービスにより、 RAGの仕組みの選択肢が増えました。  Functions OpenAI拡張機能  Cosmos DB for NoSQLでのベクトル検索  On Your DataがGA  チャットアプリ単体で終わらせずに、 既存アプリにアドオンする形でCopilot化しよう!  次のフェーズは、マルチエージェントやSLM

54.

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