コース一覧へ戻る
AI010 Professional

開発者向け大規模言語モデル入門

このコースは、アンドリュー・ニーとOpenAIが共同で展開した3部構成の大規模言語モデルシリーズの中国語対応版です。プロンプトエンジニアリング、ChatGPT APIを使ったシステム構築、LangChainアプリケーション開発、およびプライベートデータにアクセスするためのLangChain活用をカバーしています。大規模言語モデルの機能を活用して要約、推論、変換、拡張、チャット機能を持つアプリケーションを開発する方法について、明確かつ分かりやすく解説します。

4.8
24h
916 受講者
8 いいね
人工知能

コース概要

📚 コンテンツ概要

このコースは、アンドリュー・インとOpenAIが共同開発した3部作の大型言語モデル(LLM)シリーズを中国語版に適応したものであり、プロンプトエンジニアリング、ChatGPT APIに基づくシステム構築、LangChainアプリケーション開発、およびプライベートデータへのアクセスにおけるLangChainの活用についてカバーしています。本コースでは、要約、推論、変換、拡張、チャット機能を備えたアプリケーションを開発するために、大型言語モデルの能力を活用するための深くも理解しやすい導入が提供されます。

プロンプトエンジニアリングとLangChainフレームワークを習得し、大規模モデル時代のAIアプリケーション開発者へと成長しましょう。

🎯 学習目標

  1. ベース型LLMと指示微調整型LLMの違いを識別する。
  2. 明確かつ具体的な指示を書くために4つの特定の戦略(デリミタ、構造化出力、条件チェック、少しだけ例提示)を適用する。
  3. タスクのステップを明示し、独立した問題解決を要求することで、モデルに「考える時間」を与える戦略を実装する。
  4. 構造化テキスト処理を実装:単一または複数のドキュメントから特定情報を要約・抽出し、出力長や焦点を制御する。
  5. 自動テキスト分析を実行:感情を分類し、特定の感情を識別し、プロンプトを使用してゼロショットトピック分類を実行する。
  6. マルチモーダル変換を実行:言語間の翻訳、データ形式の変換(例:JSONからHTML)、文法・スペルのプログラムによる修正を行う。
  7. ベース型LLMと指示微調整型LLMの違いを識別し、トークナイゼーションがモデルの挙動に与える影響を理解する。
  8. システム、ユーザー、アシスタントのメッセージロールを使って構造化されたシステムアーキテクチャを実装し、モデルのキャラクターを定義する。
  9. 分類およびモデレーション技術を適用し、ユーザー入力を安全性和ルーティングのために評価する。
  10. プロンプトチェーンを実装:複雑なタスクを管理可能なサブタスクに分解し、信頼性を向上させ、コストを削減する。

🔹 レッスン1:プロンプト設計の原則と反復的開発

概要: このレッスンでは、開発者向けのプロンプトエンジニアリングの基本原則について解説し、基礎的な「ベース型LLM」から「指示微調整型LLM」への移行を扱います。効果的な相互作用の2つの主要支柱、すなわち明確で具体的な指示の書き方、およびモデルに十分な「考える時間」を与えることの重要性を紹介します。さらに、長さ制限やフォーマット要件など、特定のビジネス要件を満たすためにプロンプトを精緻化するための反復的ワークフローを確立します。

学習成果:

  • ベース型LLMと指示微調整型LLMの違いを識別する。
  • 明確で具体的な指示を書くために4つの特定の戦略(デリミタ、構造化出力、条件チェック、少しだけ例提示)を適用する。
  • タスクのステップを明示し、独立した問題解決を要求することで、モデルに「考える時間」を与える戦略を実装する。

🔹 レッスン2:コアプロンプト機能とチャットボット

概要: このレッスンでは、大型言語モデル(LLM)の実践的な応用を、要約、推論、変換、拡張、およびインタラクティブチャットボットの5つの主要機能領域で探求します。開発者には、PythonとOpenAI APIを使用してテキスト処理、構造化データの抽出、言語スタイルの調整、コンサルテーションコンテキストの維持を行い、カスタマーサポートボットなどの現実世界の応用に役立つ実践ガイドが提供されます。

学習成果:

  • 構造化テキスト処理を実装:単一または複数のドキュメントから特定情報を要約・抽出し、出力長や焦点を制御する。
  • 自動テキスト分析を実行:感情を分類し、特定の感情を識別し、プロンプトを使用してゼロショットトピック分類を実行する。
  • マルチモーダル変換を実行:言語間の翻訳、データ形式の変換(例:JSONからHTML)、文法・スペルのプログラムによる修正を行う。

🔹 レッスン3:システム論理:入力分類と推論

概要: このレッスンでは、大型言語モデル(LLM)の基本的な仕組みについて探求し、基礎的なトークナイゼーションやメッセージロールから、高度な入力処理戦略へと進みます。ユーザー意図の分類、安全性のためのコンテンツモデレーション、そして「思考の連鎖(CoT)」推論を通じて精度を向上させ、ユーザー体験を制御する「内なる独白」により堅牢なシステムを構築する方法を学びます。

学習成果:

  • ベース型LLMと指示微調整型LLMの違いを識別し、トークナイゼーションがモデルの挙動に与える影響を理解する。
  • システム、ユーザー、アシスタントのメッセージロールを使って構造化されたシステムアーキテクチャを実装し、モデルのキャラクターを定義する。
  • 分類およびモデレーション技術を適用し、ユーザー入力を安全性とルーティングの観点から評価する。

🔹 レッスン4:複雑なワークフローとシステム評価

概要: このレッスンでは、単純なプロンプトから複雑な多段階のLLMワークフローへの移行について扱います。タスクを分解する「プロンプトチェーン」の実装、モデレーションAPIによるセキュリティレイヤーの設置、および正確な答えが1つだけ存在するケースと、主観的で基準に基づく評価が必要なケースの両方に対応する厳密な評価フレームワークの構築について重点的に学びます。

学習成果:

  • プロンプトチェーンを実装:複雑なタスクを管理可能なサブタスクに分解し、信頼性を向上させ、コストを削減する。
  • セキュアなエンドツーエンドシステムを構築:入出力のモデレーションと事実確認機構をプロダクション対応パイプラインに統合する。
  • 評価戦略を開発:「理想の回答」との比較や、LLM補助の評価基準を使用して、LLMのパフォーマンスを測定する検証セットを作成する。

🔹 レッスン5:LangChainの基礎:モデル、プロンプト、メモリ

概要: このレッスンでは、LangChainフレームワークの核心となるコンポーネントを紹介し、大型言語モデル(LLM)とのインタラクションを抽象化する方法に焦点を当てます。直接のAPI呼び出しから、LangChainのモジュラーコンポーネントであるモデル、プロンプトテンプレート、出力パーサーへの移行について学び、最後に会話状態を維持するための4つの異なるメモリ戦略について深く掘り下げます。

学習成果:

  • LangChainのChatOpenAIとモジュラーコンポーネントを使用して基本的なLLM呼び出しを実装する。
  • 複雑なプロンプトロジックと変数を管理するための再利用可能なChatPromptTemplate構造を構築する。
  • StructuredOutputParserを使用して、非構造化なLLMの出力から構造化データ(JSON/Python辞書)を抽出する。

🔹 レッスン6:LangChainチェーン、Q&A、自律型エージェント

概要: このレッスンでは、LangChainのコアアーキテクチャ的な構成要素について学び、単純な線形プロンプト-完了のシーケンスから、複雑で論理駆動型のシステムへと移行します。複数のLLM呼び出しをチェーンでオーケストレーションする方法、ベクトルストアを用いたプライベートドキュメント上のリトリーバー拡張生成(Q&A)の実装、および推論を用いてツールを選択・実行する自律型エージェントのデプロイ方法を学びます。本教材では、単一プロンプトのやり取りを超えて、自動化されスケーラブルなLLMアプリケーションへと進むことが強調されています。

学習成果:

  • SequentialChainとRouterChainを使用して、線形および複雑な多段階ワークフローを構築する。
  • エンベディング、ベクトルストア、およびRetrievalQAチェーンを使用して、ドキュメントベースのQ&Aシステムを構築する。
  • QAGenerateChainとQAEvalChainを使用して、LLMアプリケーションの自動評価を実装する。

🔹 レッスン7:プライベートデータの準備:読み込みとベクトル化

概要: このレッスンでは、LangChainを用いたリトリーバー拡張生成(RAG)システムの初期段階について解説します。開発者は、さまざまなソース(PDF、YouTube、ウェブ、Notionなど)から非構造化データを読み込み、意味的に意味のあるチャンクに分割し、それらのチャンクを数値的な埋め込みに変換して、ベクトルデータベースでの保存および類似性検索を可能にするプロセスをガイドされます。

学習成果:

  • 各種のLangChainドキュメントローダーを実装し、PDF、YouTube音声、ウェブURL、Notionデータベースからデータをインポートする。
  • chunk_sizeとchunk_overlapなどのパラメータを使って、さまざまなテキスト分割器(文字、再帰的、トークン、マークダウン)を設定・比較する。
  • ベクトル化プロセスを実行:埋め込みを作成し、Chromaベクトルストアに格納して、意味的類似性検索を可能にする。

🔹 レッスン8:リトリーバー拡張生成(RAG)とインタラクション

概要: この資料では、基本的な意味的検索から、LLMアプリケーション内の高度なリトリーブと会話型インタラクションへの移行について探求します。最大マージナルリーダンス(MMR)、メタデータフィルタリング、文脈圧縮といった高度なリトリーブ技術について解説した後、LangChainのメモリとGUIコンポーネントを使用して、ステートフルなQ&Aチェーンおよび完全機能のチャットボットを構築する方法を示します。

学習成果:

  • 高度なリトリーブ戦略(MMR、自己クエリ、圧縮)を実装し、取得されたドキュメントの多様性と関連性を向上させる。
  • さまざまなチェーンタイプ(stuff、MapReduce、Refine)を比較・展開し、質問応答タスクにおける取得されたコンテキストの処理に使用する。
  • ConversationalRetrievalChainとConversationBufferMemoryを使用して、会話の文脈を保持するステートフルなチャットボットインターフェースを構築する。