商品情報
商品説明
内容紹介
【ChatGPTのAPIとLangChainで大規模言語モデルをシステムに組み込む知識をステップバイステップで実践できる!】
ChatGPTのようなしくみを業務システムなどに組み込み、複数タスクを一連のワークフロー処理として実現したり、ステートレスなOpenAI APIに記憶を持たせたり、必要に応じてWeb検索などを行うエージェント処理をさせるなど、実践的な知識をステップバイステップで学習できる書籍です!
生成AIが登場し、APIやフレームワークのエコシステムが充実してきたことによって、これまで機械学習やプログラミングの十分な知識が必要だったことに対してアプリケーション開発者が挑戦しやすくなりました。LLMの性質を活かしたサービスや業務システム構築の基礎を理解し、LLMのモデルやワークフローを抽象化して取り扱ううえで、LangChainというフレームワークが非常に便利です。本書でOpenAI APIやLangChainをしっかり学ぶことで、生成AI関連の知識を体系的にイメージできるようになります。
本書ではまず、OpenAI APIとLangChainについて解説します。ChatGPTのようなしくみを業務システムなどに組み込むためには、単にLLMに1つ入力して1つ出力を得るような実装ではなく、複数のタスクを一連のワークフロー処理として実現する必要があります。また、ChatGPTが知識を持たない専門知識を答えてほしいとか、意図した形式で応答が欲しいなど、実用性を高める必要も出てきます。これらを実現するためのLangChainのつかいかたをわかりやすく解説します。
後半では、ステートレスなOpenAI APIに記憶を持たせたり、必要に応じてWeb検索などを行うエージェント処理、さらにそれらチャット形式の処理を、ステップバイステップでWebアプリやSlackアプリとして実装します。
さらに、LLMアプリを本番稼働させるうえで必要となる、ユーザー体験、セキュリティ、コンプライアンスへの準拠などのためのヒントや注意点も解説します。
■こんな方におすすめ
・ChatGPTのようなチャットベースのアプリケーション開発を行いたいエンジニア
■目次
●第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のサインアップ
■著者プロフィール
吉田 真吾:株式会社サイダス 取締役CTO / 株式会社セクションナイン 代表取締役CEO ChatGPT Community(JP)主催。HCM Suite「CYDAS PEOPLE」の開発・運用。サーバーレステクノロジーのコミュニティ主催を通じて、日本におけるサーバーレスの普及を促進。『AWSによるサーバーレスアーキテクチャ』(翔泳社)監修、『サーバーレスシングルページアプリケーション』(オライリー)監訳、『AWSエキスパート養成読本』(技術評論社)共著。
大嶋 勇樹:ソフトウェアエンジニア。IT企業からフリーランスエンジニアを経て会社を設立。現在は実務に就き始めたエンジニアのスキルアップをテーマに、勉強会の開催や教材作成の活動を実施。オンラインコースUdemyではベストセラー講座多数。AWSやDocker/Kubernetes、サーバレス技術などを扱う「野生」のクラウドネイティブ人材。最近はLangChain芸人。勉強会コミュニティStudyCo運営。
商品レビュー(3件)
- 総合評価
- 5.00
楽天Koboのレビュー
まだレビューがありません。 レビューを書く