世界一やさしいRAG構築入門 ── Azure OpenAI Serviceで実現する賢いAIチャットボット
著:武井 宜行
出版社:技術評論社
本書の主旨は、MicroSoft の Azure OpenAI Service を使って、RAGを使った 生成AIのチャットボットを作ろうです。そしてその内容は、自然言語処理に特化したモデル、LLM(GPT-3.5,GPT-4 etc) で、ChatGPTとはこのLLMを使ったWebアプリケーションをいいます。RAGはLLMをさらに進化させたものです。
■概要
これまでは、一般的な情報をつかって、深層学習をしていましたが、効率がわるいので、その業務に特化した、外部データベースを参照して、より効率よく アプリケーションを構築しましょうが、RAG です。
法律の質問に答えるのに、新聞ばかり読んでいる一般的な対応ではなく、六法辞典を参照したほうがより正確な回答ができるようなものである
システムは、クラウド Azure 上のアプリを使います。
・Azure Virtual Machines :VM いわゆる仮想マシンです
・Azure App Service : Azure が提供する PaaS です
・Azure Database for MySQL :
・Azure AI Search : クラウドベースの検索サービス
・Azure OpenAI Service : RAGが使える、生成AIサービス
Microsoft Learn という自学のセルフラーニングツールがあります
■開発
言語 Python
開発手順
エディタ Visual Studio Code
+ 日本語
+ Python拡張機能
+ Python ライブラリ をインストール
ソースを書く
必要なライブラリをインポートする
Azure OpenAI Service を設定する
Azure OpenAI Service のクライアントを作成
生成関数を定義する
プロンプトを設定する
機能を生成する
機能を表示する
実行 Python ファイルを作成する
ソースコードをエディタに入力する
ソースコードを保存する
ターミナルを起動する
プログラム本体を実行する
デバッグ
ブレークポイントを設定する
デバックモードを開始する
プログラムをステップ実行する
変数を監視する
デバッグを終了する
■RAGアプリの作成
RAGアプリを使うためには、加えて
Azure AI Search が必要です
AIオーケストレータ プロセス全体を管理するコンポーネント APserverのようなもの
Retriever 外部データベースを検索する検索プロセスを担うコンポーネント
インデクサ 外部データベースに情報を登録するコンポーネント
Generator : Retriever が検索した内容を、自然言語の応答を作成するコンポーネント
Azure AI Search の検索手段
①入力された文を、文の最小単位である、形態素に分解する
②通常は、文内の形態素をつかって、文内のテキストで、検索する
③効率を上げるために、単語やフレーズの意味的関係性に基づいて検索する
(これをベクトル検索という)
■RAG の評価
人手による
LLMによる評価
評価ツール Prompt Flow
■RAG の改善法
文字数や、段落で、文を分割する方法を変える
⇒セマンティクチャンキング
LLMを通して、仮の回答を作成する
⇒HyDE
2つ以上の検索方法の結果を組み合わせる
⇒ハイブリッド検索
■最先端技術
マルチモーダル
テキストだけではなく、図、グラフ、画像、表などをあわせて処理する
GraphRAG
グラフデータを利用してより高度な検索や生成を行う
AIエージェント
人間の代わりにAIが自立的に行動し、環境を認識し目標を達成する
LLMがもたない知識や機能を補うための技術
複雑なタスクの自動化や、プロセスの管理に向いている
目次
第1章 生成AIに挑戦すべき理由
1.1 生成AIとは
1.2 生成AIによって仕事はどう変わるのか
1.3 独自情報に基づいた生成AIによるチャットシステム「RAG」
1.4 まとめ
第2章 OpenAIとAzure OpenAI Service
2.1 OpenAIとは
2.2 OpenAIとAzure OpenAI Serviceの関係
2.3 本書でAzure OpenAI Serviceを利用する理由
2.4 まとめ
第3章 Azureを使ってみよう
3.1 Microsoft Azureとは
3.2 Azureの主要サービス
3.3 Azureの課金体系
3.4 コスト管理の重要性
3.5 Azureのサブスクリプション契約
3.6 Azureの学習方法 ── Microsoft Learnの活用
3.7 まとめ
第4章 Azure OpenAI Serviceを使ってみよう
4.1 Azure OpenAI Serviceを利用するための土台作り
4.2 AIの実行環境 ── Azure AI Foundryでできること
4.3 AIとチャットをしてみる
4.4 AIで画像を生成してみる
4.5 まとめ
第5章 Azure OpenAI Serviceのさまざまな機能
5.1 トークンとは
5.2 モデルとデプロイ
5.3 コンテンツフィルター
5.4 クォータの制限と管理
5.5 認証
5.6 APIの発行
5.7 まとめ
第6章 簡単な生成AIアプリを作ってみよう
6.1 作成する生成AIアプリの概要
6.2 開発方法
6.3 開発環境構築
6.4 ソースコードの説明
6.5 小説生成アプリの実行
6.6 小説生成アプリのデバッグ
6.7 まとめ
第7章 社内ナレッジを活用する生成AIチャットボット(RAGアプリ)を作ってみよう
7.1 RAGの基本のおさらい
7.2 RAGアプリの情報検索を担うAzure AI Search
7.3 Azure AI Searchの検索手法
7.4 作成する社内規程検索RAGアプリの概要
7.5 開発方法
7.6 開発環境構築
7.7 Retriever・Generatorの作成
7.8 AIオーケストレーター・インデクサーの解説
7.9 動かしてみよう
7.10 社内規程検索RAGアプリのデバッグ
7.11 まとめ
7.12 ソースコード全体
第8章 RAGアプリをどうやって運用していくのか
8.1 RAGの運用
8.2 RAGの評価方法
8.3 RAGの評価ツール ── Prompt Flow
8.4 簡単なフローを動かしてみよう
8.5 RAGの評価指標
8.6 社内規程検索RAGアプリの評価方法
8.7 評価用データ作成プログラムの解説
8.8 社内規程検索RAGアプリを評価してみる
8.9 RAGの改善の必要性
8.10 RAGの改善手法その1 ── セマンティックチャンキング
8.11 RAGの改善手法その2 ── HyDE
8.12 RAGの改善手法その3 ── ハイブリッド検索
8.13 まとめ
8.14 ソースコード全体
第9章 進化のはやい生成AIアプリ開発についていくために
9.1 RAG実現のための最先端手法
9.2 最新技術をキャッチアップするための3つのステップ
9.3 まとめ
ISBN:9784297147327
判型:B5変
ページ数:336ページ
定価:3000円(本体)
2025年04月01日初版第1刷発行