Stand Up and Shout!

勉強したことや、思いついたことを気ままに記述します

chatgptapi×pythonで始める対話型ai実装入門

2023年10月24日に『chatgptapi×pythonで始める対話型ai実装入門』が出版されました。

マインドマップによる整理

TBD

目次の俯瞰

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