2022 年末に公開されて以来、「ChatGPT」は一般にも知られるキーワードとなり、非常に盛り上がっています。
ChatGPT が使っている GPT-3.5 や GPT-4 などのモデルは、「大規模言語モデル(LLM:Large Language Model)」と呼ばれます。
ChatGPT の API を使ったアプリケーションの開発も注目されており、多くの組織が取り組むようになっています。
2022 年末に公開されて以来、「ChatGPT」は一般にも知られるキーワードとなり、非常に盛り上がっています。
ChatGPT が使っている GPT-3.5 や GPT-4 などのモデルは、「大規模言語モデル(LLM:Large Language Model)」と呼ばれます。
ChatGPT の API を使ったアプリケーションの開発も注目されており、多くの組織が取り組むようになっています。
ChatGPT の API など、LLM を使ったアプリケーションの例としてはチャットボットが定番です。
しかし、LLM が役立つ可能性があるのはチャットボットだけではなく、様々なアプリケーションへの応用が考えられます。
この講座では、単なるチャットボットではない LLM の応用例として、5 つのアプリケーションの実装に挑戦します。
コースで実装するのは、以下の 5 つのアプリケーションです。
JSON 形式の文字列の生成(例:レシピ生成アプリ)
テキストからの属性抽出(例:ブログ記事への自動タグ付け)
独自データの検索結果を踏まえた Q&A(例:PDF への Q&A)
自然言語から SQL を生成・実行
AI エージェント(例:スケジュール管理の AI アシスタント)
Python で Web アプリを簡単に実装できる「Streamlit」を使い、これらのアプリケーションをできるだけシンプルに実装していきます。
■このコースで学ぶこと
このコースで学ぶのは、ChatGPT の API の「チャットボット以外の応用例」です
Streamlit を使い、簡易的に Web アプリケーションを実装していきます
LangChain や LlamaIndex といった有名なフレームワークにも少しふれます
■このコースで学ばないこと
チャットボットを実装する例
LangChain や LlamaIndex の使い方や仕組みの詳細
本番システムを意識したシステムの構築や評価
LLM や機械学習自体の仕組み
このコースは、LLM のチャットボット以外の応用例を知り、受講者の方が自分なりのアイデアに繋げることを目標としています。
更新履歴
2023/10/19:レクチャー「(追記)Zapier NLA の廃止について」を追加
2023/10/30:レクチャー「(追記)init_sqlite の不備について」を追加
2023/11/06:
セクション「【新】AI エージェント(例:スケジュール管理の AI アシスタント)」を追加
もとのセクション「AI エージェント(例:スケジュール管理の AI アシスタント)」を【旧】に変更
2023/11/20:レクチャー「(追記)画像生成に使うモデルのアップデートについて」を追加
2023/11/24:レクチャー「(追記)RateLimitError について」を追加
このコースの概要や学習すること、対象者や前提知識を確認します。
このコースを受講するときの進め方について説明します。
このコースでの Python とパッケージ管理ツールのセットアップの方針を説明します。
Python の実行環境として Visual Studio Code の Dev Containers をセットアップします。
poetry init コマンドを使い、pyproject.toml を生成して、Python での実装の準備をします。
Streamlit をインストールして、タイトルを表示するだけのページを実装します。
Dev Container に Python のフォーマッタである Black を導入します。
OpenAI の文章生成モデルや Chat Completions API の基本を学習します。
OpenAI の API を使うのに必要な、API キーを発行します。
Chat Completions API にふれる準備として、Streamlit でシンプルな入力と出力の UI を実装します。
Streamlit で Chat Completions API を呼び出す例を実装します。
Chat Completions API を使う上で重要な、トークン数と料金について学習します。
Chat Completions API の Function calling 機能の基本を学習します。
このセクションで学んだ知識を整理します。
このセクションで実装する「レシピ生成アプリ」の概要を説明します。
Streamlit でレシピ生成アプリの UI を実装します。
レシピ生成アプリの実装として、プロンプトで JSON 形式を指定して出力させるコードを実装してみます。
Function calling を使って JSON を生成する処理を実装してみます。
LLM の出力をもとに Stable Diffusion で画像を生成する処理を実装します。
このセクションで実施したことを整理して、応用例を紹介します。
このセクションで実装する「タグ付けアプリ」の概要を説明します。
Streamlit でタグ付けアプリの UI を実装します。
LangChain を使ってタグ付けの処理を実装します。
このセクションで実装する「PDF への Q&A アプリ」の概要を説明します。
Streamlit で PDF への Q&A アプリの UI を実装します。
LlamaIndex を使って PDF への Q&A の処理を実装します。
このセクションで実装する「Text-to-SQL アプリ」の概要を説明します。
Streamlit で Text-to-SQL アプリの UI を実装します。
Text-to-SQL の実装例に使うデータベースをセットアップします。
LlamaIndex を使って Text-to-SQL の処理を実装します。
このセクションで実装する「スケジュール管理の AI アシスタント」の概要を説明します。
Streamlit でスケジュール管理の AI アシスタントの UI を実装します。
Zapier NLA の概要を学び、Google カレンダーとの設定や API キーの準備を実施します。
LangChain と Zapier NLA を使った AI エージェントを実装します。
Streamlit でスケジュール管理の AI アシスタントの UI を実装します。
Make(旧 Integromat)の概要を学び、Google カレンダーとの連携設定を実施します。
LangChain と Make を使った AI エージェントを実装します。
このコースを終えたあと、さらにステップアップする方向性を紹介します。
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.