ChatGPT/LangChainによるチャットシステム構築[実践]入門 Kindle版 吉田 真吾 (著) ChatGPTのAPIとLangChainを使って、大規模言語モデル(LLM)を本番レベルのシステムに組み込むための知識をステップバイステップで学習
生成AIが登場し、APIやフレームワークのエコシステムが充実してきたことによって、これまで機械学習やプログラミングの十分な知識が必要だったことに対してアプリケーション開発者が挑戦しやすくなりました。LLMの性質を活かしたサービスや業務システム構築の基礎を理解し、LLMのモデルやワークフローを抽象化して取り扱ううえで、LangChainというフレームワークが非常に便利です。本書でOpenAI APIやLangChainをしっかり学ぶことで、生成AI関連の知識を体系的にイメージできるようになります。
(目次)
●第1章 大規模言語モデル(LLM)を使ったアプリケーションを開発したい!
1.1 ChatGPTにふれてみよう
1.2 プロンプトの工夫でできること
1.3 プログラミングで使ってみよう
1.4 ChatGPTを使うときに気をつけること
1.5 ChatGPTの有料プランでできること
1.6 大規模言語モデル(LLM)のビジネスへの活用
1.7 LLMを活用したビジネスやアプリケーションの事例紹介
1.8 LLMを使ったアプリケーション開発で気をつけること
1.9 本書で扱う技術について
●第2章 プロンプトエンジニアリング
2.1 なぜいきなりプロンプトエンジニアリング?
2.2 プロンプトエンジニアリングとは
2.3 プロンプトの構成要素の基本
2.4 Prompt Engineering Guideから:ChatGPTの無限の可能性を引き出す
●第3章 ChatGPTをAPIから利用するために
3.1 OpenAIの文書生成モデル
3.2 ChatGPTのAPIの基本
3.3 入出力の長さの制限や課金に影響する「トークン」
3.4 Chat Completions APIにふれる環境の準備
3.5 Chat Completions APIをさわってみる
3.6 Function calling
●第4章 LangChainの基礎
4.1 LangChainの概要
4.2 Language models
4.3 Prompts
4.4 Output parsers
4.5 Chains
4.6 Memory
●第5章 LangChainの活用
5.1 Data connection
5.2 Agents
●第6章 外部検索、履歴を踏まえた応答をするWebアプリの実装
6.1 第6章で実装するアプリケーション
6.2 Cloud9を起動して開発環境を構築する
6.3 StreamlitのHello World
6.4 ユーザーの入力を受け付ける
6.5 入力内容と応答を画面に表示する
6.6 会話履歴を表示する
6.7 LangChainを使ってOpenAIのChat Completions APIを実行する
6.8 Agentを使って必要に応じて外部情報を検索させる
6.9 チャットの会話履歴をふまえて応答する
6.10 Streamlit Community Cloudにデプロイする
●第7章 ストリーム形式で履歴を踏まえた応答をするSlackアプリの実装
7.1 なぜSlackアプリを作るのか
7.2 環境準備
7.3 環境設定ファイルを作成する
7.4 Slackアプリを新規作成する
7.5 ソケットモードを有効化する
7.6 アプリケーションを作成する
7.7 イベントを設定する
7.8 アクションを送信して応答する
7.9 スレッド内で返信する
7.10 OpenAI APIを呼び出す
7.11 ストリーミングで応答する
7.12 会話履歴を保持する
7.13 LazyリスナーでSlackのリトライ前に単純応答を返す
7.14 AWS Lambdaで起動されるハンドラー関数を作成する
7.15 chat.update API制限を回避する
7.16 Slack投稿をリッチにする
7.17 デプロイする
7.18 Socket ModeからAWS Lambdaに切り替える
●第8章 社内文書に答えるSlackアプリの実装
8.1 独自の知識をChatGPTに答えさせる
8.2 埋め込み表現(embeddings)とは
8.3 実装するアプリケーションの概要
8.4 開発環境を構築する
8.5 サンプルデータの準備
8.6 Pineconeのセットアップ
8.7 ベクターデータベース(Pinecone)にベクターデータを保存する
8.8 Pineconeを検索して回答する
8.9 会話履歴も踏まえて質問できるようにする
8.10 ConversationalRetrievalChainを使う
●第9章 LLMアプリの本番リリースに向けて
9.1 企業で生成AIを活用していくために
9.2 JDLA発行『生成AIの利用ガイドライン』をもとにした自社ガイドラインの作成
9.3 サービスの企画・設計段階での課題
9.4 テスト・評価について
9.5 セキュリティ対策について
9.6 個人データ保護の観点
9.7 EUが定める禁止AI・ハイリスクAIの取り扱いの動向
●付録 Webアプリ、Slackアプリ開発の環境構築
A.1 AWSのサインアップ
A.2 Cloud9の環境作成
A.3 Cloud9とGitHubの連携
A.4 Cloud9上のPythonの環境構築
A.5 Momentoのサインアップ