Stand Up and Shout!

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

OpenAI GPT-4/ChatGPT/LangChain 人工知能プログラミング実践入門

2023年7月4日に『OpenAI GPT-4/ChatGPT/LangChain 人工知能プログラミング実践入門』が出版されました。

7月4日は私の誕生日なので、こういった偶然がとても嬉しいです。

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


目次の俯瞰

# OpenAI GPT-4/ChatGPT/LangChain 人工知能プログラミング実践入門
## はじめに
## 1章 GPT-4/ChatGPT/LangChainの概要
### 1-1 GPT-4ChatGPT & LangChain
#### ChatGPTとは
#### ChatGPTのはじめ方
#### GPT-4とGPT-3.5とは
#### 大規模言語モデルとは
#### OpenAI APIとは
#### OpenAl Playground &DALL-EWeb UI
#### Llamalndexとは
#### LangChainとは
#### 大規模言語モデルの活用事例
### 1-2 人工知能機械学習と深層学習
#### 人工知能機械学習と深層学習の概要
#### ニューロンニューラルネットワーク
#### モデル作成と学習と推論
### 1-3 自然言語処理の深層学習モデル
#### 自然言語処理の深層学習モデルの歴史
##### RNN (1986年)
##### Seq2Seq (2014年)
##### Attention (2015年)
##### Transformer (2017年)
##### BERT ( 2018年)
##### GPT-2 (2019年)
##### T5 (2019)
##### GPT-3 (2020年).
##### GPT-3.5 (2022年).
##### GPT-4 (2023年).
#### 深層学習モデルの画像処理への応用
##### Image GPT (2020年)
##### CLIP (2021年)
##### DALL-E (2021年)
##### DALL-E2 (2022年)
#### 深層学習モデルの音声処理への応用
##### Tacotron2+ Wave Glow (2017年).
##### NEUTRINO (2020年)
##### Jukebox (2020年)
##### Whisper (2022年)
## 2章 ChatGPT/OpenAl Playground/DALL-Eの利用法
### 2-1 Chat GPTの使い方
#### ChatGPTの画面構成
#### ChatGPTで実行できる主なタスク
#### テキスト生成
#### 質問応答
#### 要約
#### 翻訳
#### プログラム生成
### 2-2 OpenAl Playgroundの使い方
#### OpenAl Playgroundのはじめ方
#### OpenAI API の利用料金
#### OpenAl Playgroundの画面構成
#### テキスト生成モード
#### チャットモード
#### 挿入モード
#### 編集モード
### 2-3 DALL-Eの使い方
#### DALL-Eの概要
#### DALL-Eのはじめ方
#### OpenAI API の利用料金
#### DALL-Eの画面構成
#### DALL-Eで実行できる主なタスク
#### バリエーション
#### インペインティング
#### アウトペインティング
### 2-4 GitHub Copilotの使い方
#### GitHub Copilot の概要
#### GitHub Copilot の利用料金
#### GitHub Copilotのはじめ方
#### GitHub Copilotの有効/無効
#### コードの候補の表示
#### コードの代替候補の表示
#### コメントからのコードの候補の表示
## 3章 Python開発環境の準備
### 3-1 Pythonの概要
#### Pythonとは
### 3-2 Google Colab の概要
#### Google Colab とは
#### Google Colabのはじめ方
#### Pythonスクリプトの実行
#### Pythonパッケージのインストール
#### テキストの追加
#### Google Colabのツールバー
#### Google Colabのメニュー
#### GPUの使用
#### Google ドライブのマウント
#### Google Colabの制限と対策
#### Colab Pro/Pro+/Pay As You Go
### 3-3 Pythonの文法
#### 文字列の表示
#### 変数と演算子
#### 文字列
#### リスト
#### 辞書
#### タプル
#### 制御構文
#### 関数とlambda式
#### クラス
#### パッケージのインポートとコンポーネントの直接呼び出し
## 4章 OpenAI API
### 4-1 テキスト生成
#### OpenAI API とは
#### OpenAI APIのライブラリ
#### APIキーの取得
#### テキスト生成とは
#### OpenAI APIの利用料金
#### OpenAI API の前準備
#### テキスト生成
#### 文章生成
#### 質問応答
#### 要約
#### 翻訳
#### プログラム生成
#### チャット
#### 挿入
#### 編集
### 4-2 画像生成
#### 画像生成とは
#### OpenAI APIの利用料金
#### OpenAI APIの前準備
#### テキストからの画像生成
#### 画像とテキストからの画像編集
#### 画像からのバリエーション生成
### 4-3 埋め込み
#### 埋め込みとは
#### OpenAI API の利用料金
#### OpenAI APIの前準備
#### 埋め込み生成
#### 近傍探索
### 4-4 ファインチューニング
#### ファインチューニングとは
#### OpenAI API の利用料金
#### OpenAI APIの前準備
#### 学習データの準備
#### ファインチューニングの実行
#### 推論の実行
#### ファインチューニングしたモデルの一覧取得
#### ファインチューニングモデルの削除
### 4-5 モデレーション
#### モデレーションとは
#### OpenAI API の利用料金
#### OpenAI APIの前準備
#### モデレーションの利用手順
### 4-6 音声のテキスト変換
#### 音声のテキスト変換とは
#### OpenAI APIの利用料金
#### OpenAI APIの前準備
#### 音声の文字起こし
#### 音声を英語に翻訳して文字起こし
#### より長いオーディオファイルの翻訳
#### プロンプトによる文字起こしの品質向上
### 4-7 トークナイザー
#### トークナイザーとは
#### トークナイザーの利用
#### 日本語と英語のトークン数の比較
#### 最大トークン数
## 5章 Llamalndex
### 5-1 Llamalndexのはじめ方
#### Llamalndex とは
#### ドキュメントの準備
#### Llamalndexの前準備
#### Llamalndexの質問応答
#### インデックスの保存と読み込み
### 5-2 Llamalndexの機能詳細
#### Llamalndexの作成手順
#### Llamalndexの前準備
#### ドキュメントの読み込み
#### インデックスの作成
#### クエリエンジンの作成
#### 質問応答
### 5-3 LlamaHub
#### LlamaHubとは
#### Webページへの質問応答
#### Youtube動画への質問応答
### 5-4 ベクトルデータベース
#### ベクトルデータベースとは
#### Llamalndexの前準備
#### Faissを使った質問応答
#### Pineconeを使った質問応答
## 6章 LangChain
### 6-1 LangChain のはじめ方
#### LangChainとは
#### LangChainのモジュール
#### LangChainの前準備
#### LLMの使い方
#### プロンプトテンプレートの使い方
#### チェーンの使い方
#### エージェントとツールの使い方
#### メモリの使い方
### 6-2 LLM
#### LLMとは
#### LangChainでサポートされている LLM一覧
#### LangChainの前準備
#### テキスト生成モデルのLLM呼び出し
#### チャットモデルのLLM呼び出し
#### LLMのキャッシュ
#### LLMの非同期処理
#### LLMのストリーミング
### 6-3 プロンプトテンプレート
#### プロンプトテンプレートとは
#### LangChain で提供されているプロンプトテンプレート一覧
#### LangChainの前準備
#### プロンプトテンプレートの作成
#### 回答例を含むプロンプトテンプレートの作成
#### 多くの回答例を含むプロンプトテンプレートの作成
### 6-4 チェーン
#### チェーンとは
#### LangChainで提供されているチェーン一覧
#### LangChainの前準備
#### ジェネリックチェーン
#### インデックスチェーン
#### ユーティリティチェーン
### 6-5 エージェント
#### エージェントとは
#### LangChain で提供されているエージェント一覧
#### LangChainの前準備
#### エージェントの作成
### 6-6 ツール
#### ツールとは
#### LangChain で提供されているツール一覧
#### LangChainの前準備
#### Googleカスタム検索ツール (google-search)
#### Wolfram Alpha-(wolfram-alpha)
### 6-7 メモリ
#### メモリとは
#### LangChainで提供されているメモリ一覧
#### LangChainの前準備
#### ConversationBufferMemory
#### ConversationBufferWindowMemory
#### Conversation Token BufferMemory
#### ConversationSummaryMemory
#### ConversationSummaryBufferMemory
## 7章 ChatGPTプラグイン
### 7-1 ChatGPTプラグインの使い方
#### ChatGPTプラグインの概要
#### 提供されているChatGPTプラグイン
### 7-2 ChatGPTプラグインの使い方
#### ChatGPTプラグインの作り方
#### ChatGPTプラグインの作成の概要
#### ChatGPTプラグインの作成の流れ
### 7-3 ChatGPT Retrieval Plugin
#### ChatGPT Retrieval Pluginの概要
#### ベクトルデータベースの準備
#### JWT トークンの準備
#### Webアプリケーションの起動
#### インデックスへの初期データの追加
#### Webアプリケーションの動作確認
#### LangChain からの操作
## Pythonの文法関連の索引
## 索引
## コラム一覧
### OpenAI とは
### ChatGPT Plusの概要
### 自然言語自然言語処理
### 系列データ
### ラベル付きデータとラベルなしデータ
### オートエンコーディングモデル
### rinnaとは
### 自己回帰モデル
### Sequence-to-Sequenceモデル
### 人間のフィードバックからの強化学習を行う 「RLHF」
### OpenAI の製品リリース年表
### EdgeとBingのチャットUIの使用手順
### 「Zero Shot」 と 「One Shot」と「Few Shot」による推論
### OpenAI APIの現在の利用料金の確認
### OpenAl Cookbook
### Image Creator
### Codexとは
### GitHub Copilot X とは
### Google Chrome
### 主なLinuxコマンド
### 主なpipコマンド
### 主なMarkdown記法の書式
### 「TPU」とは
### GPU RAMのサイズ
### Python関連の APIリファレンス
### エンドユーザーID
### Llamalndex GPT Index
### default_prompts.py
### Hugging Face
### Llamalndexのインデックスの種類
### 高レベルAPIと低レベルAPI
### LangChain Llamalndex
### 英語の回答を日本語に直す その1
### 英語の回答を日本語に直す その2
### OpenAPIとは