2023年10月24日に『chatgptapi×pythonで始める対話型ai実装入門』が出版されました。
目次の俯瞰
ChatGPT API×Pythonで始める対話型AI実装入門 はじめに 本書の読み方 CHAPTER 1 ChatGPTの基本を学ぼう 1 ChatGPTとは? 1-1 人間のような会話ができる ChatGPT 1-2 ChatGPTを支える技術 1-3 ChatGPTはさまざまな用途で活用できる 1-4 ChatGPTの利用にあたっての注意点 1-5 ChatGPTはブラウザとAPIで利用できる 1-6 GPT-3.5とGPT-4の違いは? 1-7 有料版の ChatGPT Plus の特徴 2 ChatGPT APIの概要を学ぼう 2-1 ChatGPT APIとは? 2-2 GPT-3.5とGPT-4 はどう使い分けるの? 3 ChatGPTの重要キーワードを理解しよう 3-1 プロンプトとは 「AIに対する指示文」 3-2 トークンとは 「文字列を分割する単位」 3-3 パラメータとは 「挙動をコントロールするための設定値」 4 ChatGPT APIの料金体系 4-1 ChatGPT APIの料金体系 4-2 APIの利用料金の計算方法 4-3 「Tokenizer」 でトークン数を確認しよう 4-4 日本語は英語よりもトークン数が多くなる 5 APIで広がる ChatGPTの可能性 5-1 ChatGPT APIでできることについて知ろう 5-2 回答の内容やスタイルを細かく調整できる 5-3 情報を学習させられる 5-4 機能を拡張できる 6 よい回答を得るためのプロンプト作成ガイド 6-1 プロンプトでChatGPTの回答の質を高めよう 6-2 役割を伝える 6-3 文脈を伝える 6-4 目的を伝える 6-5 出力形式を伝える 6-6 適切な文体を選ぶ CHAPTER 2 開発環境やAPIの準備をしよう 1 ChatGPT APIキーを取得しよう 1-1 ChatGPT APIを使うには? 1-2 OpenAlのアカウントを作成しよう 1-3 APIキーを取得しよう 1-4 APIキーの取り扱いに注意 2 Pythonを使う準備をしよう 2-1 そもそもなぜPython を使うの? 2-2 Pythonのバージョンについて 2-3 Pythonをインストールしよう (Windowsの場合) 2-4 Pythonをインストールしよう (macOSの場合) 3 コードエディタの準備をしよう 3-1 Visual Studio Codeとは? 3-2 VS Codeをインストールしよう 3-3 Pythonのコードを書いてみよう 3-4 Pythonのコードを実行しよう 4 PythonでChatGPT APIを使う方法 4-1 PythonでChatGPT APIを使うために必要なこと 4-2 OpenAl のライブラリを使おう 4-3 環境変数とは? 4-4 APIキーを環境変数に設定しよう (Windowsの場合) 4-5 APIキーを環境変数に設定しよう (macOSの場合) 4-6 APIを使ってChatGPTに質問してみよう 5 ChatGPT APIの基本的な使い方 5-1 リクエストとレスポンスについて 5-2 ChatGPT APIのリクエストとレスポンスについて 5-3 ChatGPT APIのパラメータを理解しよう CHAPTER 3 短文の作成とSNS投稿を自動化しよう 1 SNS投稿文の生成ボットの概要と完成形 1-1 完成形を見てみよう 1-2 投稿文生成ボットとは? 1-3 開発の流れ 2 過去の投稿文から文体を学習させよう 2-1 Few-shot 学習とは? 2-1 使用するプロンプト 2-2 Zero-shot の場合 2-3 One-shot 学習の場合 2-4 Few-shot学習の場合 3 Twitter APIを使って投稿しよう 3-1 Twitter APIでできること 3-2 Twitter API の料金プラン 3-3 Twitter APIのAPIキーを取得しよう 3-4 ボットを実装しよう 3-5 投稿内容のランダム性や、口調を制御する 3-6 ボットの応用事例と注意点 COLUMN ニュース記事の制作にも利用される生成AI、問題はデータの透明性・・・ CHAPTER 4 独自のデータを学んだチャットボットを作ろう 1 チャットボットの概要と完成形 1-1 完成形を見てみよう 1-2 開発の流れ 2 独自のデータを学習する方法について 2-1 大量のデータを学習させられる 「RAG」 2-2 ベクトルデータを保持する 「ベクトルDB」 2-3 RAGを活用してデータをもとに回答させるには? 3 独自のデータをエンベディングしてみよう 3-1 学習データのテキストファイルを作ろう 3-2 学習データをCSVに変換しよう 3-3 学習データをエンベディングしよう 4 チャットボットを動かそう 4-1 ChatGPTと対話するプログラムを作成しよう 4-2 与えた知識をもとに回答するプログラムを作成しよう 4-3 対話プログラムを改修してチャットボットを完成させよう 4-4 チャットボットに性格を与える 4-5 独自データを学習したチャットボットの応用事例 COLUMN 独自データをChat GPTに学習させることで、新たな価値が創造できるように CHAPTER 5 音声データを文字起こしして要約してみよう 1 Whisper の概要と完成形 1-1 Whisper の概要 1-2 完成形を見てみよう 1-3 開発のステップ 2 音声を文字起こしできる 「Whisper」 2-1 文字起こしAIの技術的なしくみ 2-2 高精度な文字起こしができる 「Whisper」 2-3 言語による精度の違い 2-4 OSS版とAPI版 2-5 料金体系 3 Whisperで文字起こししてみよう 3-1 音声ファイルを準備しよう 3-2 クライアントの準備をしよう 3-3 APIキーを設定しよう 3-4 文字起こしを実行しよう 3-5 出力形式を変えてみよう 4 文字起こしした文章を要約しよう 4-1 文字起こしをしよう 4-2 要約をしよう 5 Whisperの翻訳機能を使い、 英語に翻訳しつつ文字起こしをしてみよう.. 5-1 Whisperの翻訳機能とはなにか確認しよう 5-2 日本語の音声から翻訳し、 英語の文字起こしを行う 5-3 英語に翻訳しつつ文字起こしを要約してみよう COLUMN マルチモーダルAIでAIはより人間に近づいていく CHAPTER 6 最新情報を含めたニュース記事を作ろ 1 ニュース記事生成プログラムの概要と完成形 1-1 完成形を見てみよう 1-2 開発の流れ 1-3 検索エンジンとChat GPTを連携して活用する 2 複雑なLLMアプリ開発を効率化する 「LangChain」 2-1 LangChain とは? 2-2 LangChain の主な機能 2-3 LangChain を使用する際の注意点 3 最新情報を含めたニュース記事を作ろう 3-1 必要なライブラリをインストールしよう 3-2 Google検索をするためのAPIキーを取得しよう 3-3 最新情報に基づいたニュース記事を生成しよう 3-4 海外サイトから情報収集して記事にする COLUMN LLMをより深く活用するためのさまざまなライブラリ CHAPTER 7 PDFからデータを抽出してグラフ化しよう 1 PDFからデータ抽出するプログラムの概要と完成形 1-1 完成形を見てみよう 1-2 開発の流れ 2 構造化データと非構造化データとは? 2-1 構造化データと非構造化データとは? 2-2 非構造化データの活用が重要な理由 2-3 非構造化データを構造化データに変換する 3 LangChainでPDFを構造化データに変換しよう 3-1 PDFを読み込んで構造化データに変換しよう 3-2 構造化したデータをCSVで出力しよう 3-3 データをビジュアル化する 3-4 活用事例 4 PDFの内容をもとに回答するチャットボットを作成する 4-1 チャットボットの完成形 4-2 PDFの内容をもとにチャットボットに回答させる 4-3 さまざまな応用可能性 COLUMN 非構造化データから価値を引き出すことがビジネスの鍵となる CHAPTER 8 運用上のトラブルを防止しよう 1 ChatGPT APIを利用するうえでの注意点 1-1 OpenAlのデータ利用ポリシーを把握しよう 1-2 個人情報・機密情報を入力させない 1-3 思わぬ高額請求を防ぐために 2 不適切なコンテンツの生成を防ぐために 2-1 不適切なコンテンツの生成を防ぐ必要性について 2-2 問題発言を検出できる 「モデレーション API」 とは? 2-3 モデレーション APIを使ってみよう 2-4 モデレーションAPIの注意点 3 エラーに対処しよう 3-1 OpenAI の API エラーコードと対処方法 3-2 Pythonライブラリエラーの対処方法 3-3 APIへのアクセス回数を制限する 「Rate Limits」 CHAPTER 9 プロンプトインジェクション対策をしよう 1 プロンプトインジェクションとは? 1-1 プロンプトインジェクションはAIへの攻撃手法 1-2 プロンプトインジェクションのしくみ 1-3 プロンプトインジェクションが引き起こす問題 2 プロンプトインジェクションの例 2-1 モデルの出力を乗っ取る 2-2 システムで設定したプロンプトを抜き出す 2-3 倫理的に問題のある内容を出力させる 3 プロンプトインジェクション対策 3-1 プロンプトインジェクションへの対策は難しい 3-2 対策 ①ユーザーの入力値を制限・ 検証する 3-3 対策 ② Chat GPTからの出力を検証する 3-4 対策 ③ ユーザーの入出力テキストを収集する おわりに INDEX