エンジニア選書シリーズAzure OpenAI Serviceではじめる ChatGPT/LLMシステム構築入門

[表紙]Azure OpenAI Serviceではじめる ChatGPT/LLMシステム構築入門

紙版発売
電子版発売

B5変形判/304ページ

定価3,520円(本体3,200円+税10%)

ISBN 978-4-297-13929-2

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

Microsoft AzureはChatGPTをはじめとするOpenAIモデルを利用できる,現在唯一のパブリッククラウドサービスです。本書はLLM(大規模言語モデル)に興味があるITエンジニアを対象に,AzureからOpenAIモデルにアクセスできる「Azure OpenAI Service」を使い,ChatGPTを利用した社内AIシステムの開発と導入を実現してもらうのが目的です。

前半では,生成AIとChatGPTモデルの基本的な概念とその仕組みを解説します。また,Azure OpenAI Serviceの概要と具体的な利用方法を解説し,プロンプトエンジニアリングについても紹介します。後半ではChatGPTを利用する社内システムの開発手法について,実際にAzure OpenAI Serviceを使いながら学んでいきます。RAGを利用した社内文章検索システムの実装を経て,LLMを組み込んだアプリケーション(Copilot)の構築へとステップアップしていきます。また,Azure OpenAI Serviceの利用におけるガバナンス実現に必要な共通基盤化と責任あるAIについても解説しています。

こんな方におすすめ

  • OpenAIモデルやChatGPTに興味がある,また,それらを使ったシステムを開発したいITエンジニア

本書のサンプル

本書の一部ページを,PDFで確認することができます。

本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。

サンプル画像1

サンプル画像2

サンプル画像3

目次

第1部 Microsoft AzureでのChatGPT活用

第1章 生成AIとChatGPT

  • 1.1 生成AIとChatGPTの衝撃
    • 1.1.1 「AIの時代が始まった」
    • 1.1.2 ChatGPTがこなせるタスク
    • COLUMN Open Interpreter
    • 1.1.3 ChatGPTを利用するうえでの注意点
  • 1.2 ChatGPTの仕組み
    • 1.2.1 従来の「チャットボット」との違い
    • 1.2.2 GPTとは
    • 1.2.3 人間が好む文章を生成するための手法「RLHF」
    • 1.2.4 ChatGPTができるまで
  • 1.3 まとめ

第2章 プロンプトエンジニアリング

  • 2.1 プロンプトエンジニアリングとは
  • 2.2 基本的なテクニック
    • 2.2.1 指示を具体的に書く
    • 2.2.2 モデルの逃げ道となる「アウト」を指定する
    • 2.2.3 役割を明確にする
    • 2.2.4 入出力例を与える
    • COLUMN Zero-shot LearningとFew-shot Learning
    • 2.2.5 構造的に書く
  • 2.3 思考の連鎖(Chain of Thought)
    • COLUMN GPT-3.5 TurboとGPT-4の性能の違い
  • 2.4 その他のテクニック
  • 2.5 まとめ

第3章 Azure OpenAI Service

  • 3.1 Azure OpenAI Serviceとは
    • 3.1.1 OpenAI社のAPIサービスとAzure OpenAI Service
    • 3.1.2 Azure OpenAIの全体像
  • 3.2 Azure OpenAIの始め方
    • 3.2.1 Azure OpenAI利用申請
    • 3.2.2 リソース作成
    • 3.2.3 GPTモデルのデプロイ
  • 3.3 チャットプレイグラウンドでChatGPTアプリを開発する
    • 3.3.1 アシスタントのセットアップ
    • 3.3.2 構成
    • 3.3.3 チャットセッション
    • COLUMN チャットプレイグラウンドはどこで動作する?
    • 3.3.4 チャットアプリケーションのデプロイ
    • COLUMN プレイグラウンドからデプロイされたWebアプリのソースコード
  • 3.4 考慮するポイント
    • 3.4.1 コストの考え方
    • 3.4.2 リクエスト制限
  • 3.5 まとめ

第2部 RAGによる社内文章検索の実装

第4章 RAGの概要と設計

  • 4.1 ChatGPTの問題点と解決手法
  • 4.2 Retrieval-Augmented Generationとは
  • 4.3 検索システム
  • 4.4 Azure AI Search
    • 4.4.1 インデックス作成
    • 4.4.2 ドキュメント検索
  • 4.5 オーケストレータ
    • 4.5.1 Azure OpenAI on your data
    • 4.5.2 Azure Machine Learningプロンプトフロー
    • 4.5.3 フルスクラッチ(自前で実装)
  • 4.6 Azure OpenAI on your data
    • 4.6.1 データソース
    • 4.6.2 使用方法
  • 4.7 Azure Machine Learningプロンプトフロー
    • 4.7.1 利用の流れ
    • COLUMN Azure Machine Learningとは
  • 4.8 大規模言語モデル
  • 4.9 Azure OpenAI API
    • 4.9.1 Chat Completions API
    • 4.9.2 Embeddings API
  • 4.10 まとめ
    • COLUMN RAG vs. ファインチューニング

第5章 RAGの実装と評価

  • 5.1 アーキテクチャ
  • 5.2 社内文章検索の実装例
    • 5.2.1 使用するAzureサービス一覧と料金
    • 5.2.2 ローカル開発環境を構築する
    • 5.2.3 ローカル開発環境で実行する
    • 5.2.4 ローカルの変更をApp Serviceへデプロイする
    • 5.2.5 環境設定ファイルを変更する
    • 5.2.6 追加のドキュメントをインデックス化する
    • 5.2.7 実際に質問する
    • 5.2.6 機能紹介
  • 5.3 会話履歴の保持
    • 5.3.1 履歴保持の実装例
    • 5.3.2 Cosmos DBに会話履歴が保存されたことを確認する
  • 5.4 検索機能
    • 5.4.1 ベクトル検索
    • COLUMN チャンク分割の重要性
    • 5.4.2 ハイブリッド検索
    • 5.4.3 セマンティックハイブリッド検索
    • COLUMN どの検索モードが最も良い結果を出すか
    • COLUMN カスタマイズポイント
  • 5.5 データインジェストの自動化
  • 5.6 RAGの評価と改善
  • 5.7 検索精度の評価
    • 5.7.1 基本的な評価指標
    • 5.7.2 順位を考慮した評価指標
  • 5.8 生成精度の評価
    • 5.8.1 関連性の評価
    • 5.8.2 一貫性の評価
    • 5.8.3 類似性の評価
    • COLUMN RAGの回答精度を向上させるには?
  • 5.9 まとめ

第3部 Copilot stackによるLLMアプリケーションの実装

第6章 AIオーケストレーション

  • 6.1 Copilot stackとは
    • 6.1.1 第1層:Copilotフロントエンド
    • 6.1.2 第2層:AIオーケストレーション
    • 6.1.3 第3層:基盤モデル
  • 6.2 AIオーケストレーションとエージェント
    • 6.2.1 Reasoning & Acting(ReAct)
    • 6.2.2 Planning&Execution(計画と実行)
    • COLUMN LangChain
    • COLUMN Semantic Kernel
    • 6.2.3 プラグインの実行
  • 6.3 独自Copilot開発のアーキテクチャと実装
    • 6.3.1 ツール選定(ReAct)の実装
    • 6.3.2 チャットUIからの利用
    • 6.3.3 ChatGPTプラグインの実装
    • 6.3.4 ストリーム出力の実装
  • 6.4 まとめ
    • COLUMN Azure AI Studioの登場

第7章 基盤モデルとAIインフラストラクチャ

  • 7.1 基盤モデルとAIインフラストラクチャとは
  • 7.2 ホスティングされたモデルの場合
    • 7.2.1 GPT-3.5とGPT-4
    • COLUMN GPT-4 Turbo
    • 7.2.2 ファインチューニング
    • COLUMN GPT-4のファインチューニング
  • 7.3 公開モデルの場合
    • 7.3.1 モデルの種類
    • 7.3.2 モデルサイズと圧縮方法
    • 7.3.3 モデルのホスト
    • COLUMN Azure Machine Learningモデルカタログ
  • 7.4 まとめ
    • COLUMN OSSライセンスと機械学習モデル

第8章 Copilotフロントエンド

  • 8.1 ユーザーエクスペリエンスの基礎
    • 8.1.1 ユーザビリティ
    • 8.1.2 停止ボタンと再生成ボタン
    • 8.1.3 キャッシュしやすい実装
  • 8.2 LLMの不確実な応答への対処
    • 8.2.1 正確性
    • 8.2.2 透明性(情報の根拠の提示)
    • 8.2.3 UX向上のためのストリーム処理
    • 8.2.4 OpenAIエンドポイントのストリーム出力を直接処理
    • 8.2.5 Flaskアプリケーションでレスポンスをストリーム形式で処理する194
  • 8.3 UX向上のための参考資料
    • COLUMN チャット以外のインターフェース
  • 8.4 まとめ

第4部 ガバナンスと責任あるAI

第9章 ガバナンス

  • 9.1 共通基盤とは
  • 9.2 共通基盤のアーキテクチャ
    • 9.2.1 使用するAzureサービス一覧と料金
    • 9.2.2 デプロイ
  • 9.3 認証・認可
    • 9.3.1 認証・認可の流れ
    • 9.3.2 サンプルコードの実行
    • COLUMN API Managementのサブスクリプションキー
    • COLUMN Azure OpenAI APIの利用を特定のユーザーに制限する
  • 9.4 ログ統合
  • 9.5 課金
  • 9.6 流量制限
  • 9.7 閉域化
  • 9.8 負荷分散
    • 9.8.1 Application Gatewayの利用
    • COLUMN Application Gatewayの負荷分散を本番化するときの注意点
    • 9.8.2 API Managementの利用
  • 9.9 まとめ

第10章 責任あるAI

  • 10.1 責任あるAIに対するMicrosoftの取り組み
  • 10.2 責任あるAIの実践
  • 10.3 コンテンツフィルタリング

著者プロフィール

永田祥平(ながたしょうへい)

日本マイクロソフト株式会社 クラウドソリューションアーキテクト

大学院で分子生物学やバイオインフォマティクスを学んだあと,2020年より日本マイクロソフト株式会社に入社。クラウドソリューションアーキテクト(AI)として,主にエンタープライズのお客様を対象に,Azureビッグデータ分析基盤や機械学習基盤の導入・活用支援を行う。推しのプロダクトはAzure Machine Learning。第1部の監修と執筆,全体統括を担当。

X:@shohei_aio


伊藤駿汰(いとうしゅんた)

日本マイクロソフト株式会社 クラウドソリューションアーキテクト/株式会社Omamori 取締役

本業でAI/ML開発(とくに自然言語処理方面)と利活用の技術支援,機械学習基盤やMLOps基盤の構築および活用の技術支援を行うクラウドソリューションアーキテクト,趣味・副業でソフトウェアエンジニア。第3部と付録Bの執筆を担当。

X:@ep_ito


宮田大士(みやたたいし)

日本マイクロソフト株式会社 クラウドソリューションアーキテクト

情報学の修士号を取得後,製造業にてデータ分析,機械学習システムの構築,データ分析基盤の開発を経験し,日本マイクロソフトに入社。現職では,幅広い業界のお客様へのAIの導入/活用を支援。第2部の監修と執筆を担当。

X:@tmiyata25


立脇裕太(たてわきゆうた)

日本マイクロソフト株式会社 クラウドソリューションアーキテクト

Softbank(SBT),Deloitte,DataRobot,現在は日本マイクロソフトでビッグデータ,クラウド,機械学習を活用した企業のデータ活用を支援。MLOps Community(JP)のオーガナイザで,過去にはJDLA AIガバナンスとその評価研究会の研究員,QA4AIガイドラインの改訂,MLOpsやAIガバナンスに関する講演や記事執筆などを実施。第4部の監修と執筆を担当。

LinkedIn:www.linkedin.com/in/yuta-tatewaki


花ケ﨑伸祐(はながさきのぶすけ)

日本マイクロソフト株式会社 パートナーソリューションアーキテクト

NECソフト(現NECソリューションイノベータ),IBM JapanのAIアーキテクトを経て,現在はパートナーAIソリューションの開発支援に携わる。画像認識プロダクト開発や医療画像解析などクロスインダストリーでのAIプロジェクトの開発・アーキテクトとして15年以上の経験がある。推しのプロダクトはAzure AI Search(旧称Azure Cognitive Search)。第3部の監修と執筆,第2部の執筆を担当。

Qiita:@nohanaga


蒲生弘郷(がもうひろさと)

日本マイクロソフト株式会社 クラウドソリューションアーキテクト

大手システムインテグレータにてキャリアをスタート。自動車業界のDMSデータ活用基盤のコンサルティングおよび開発,エンタープライズブロックチェーンを活用した異業種間データ流通プラットフォームの立ち上げなどを担当。数年間,データサイエンティストとして社会インフラ関連企業を対象にしたデータ分析および機械学習システムの開発を経て,現在はソリューションアーキテクトとしてAI導入の技術支援やAzure OpenAI Serviceのエバンジェリスト活動などに従事。第1,2部と第4部の執筆を担当。

X:@hiro_gamo


吉田真吾(よしだしんご)

株式会社セクションナイン 代表取締役

2023年5月にAzure OpenAI/Azure AI Search/Azure Cosmos DBを活用した人事FAQ 機能をリリース。Serverless Community(JP)やChatGPT Community(JP)を主宰。著書,監訳書に『ChatGPT/LangChainによるチャットシステム構築[実践]入門』(技術評論社),『サーバーレスシングルページアプリケーション』(オライリー・ジャパン),『AWSエキスパート養成読本』(技術評論社),『AWSによるサーバーレスアーキテクチャ』(翔泳社)など。第3部の執筆を担当。

X:@yoshidashingo