emarco177/langchain-course

A project-based course repository for developing AI agents using LangChain v1+ and LangGraph: search agents, RAG systems, reflection agents, and code interpreters.

これは何か

このリポジトリは、LangChain と LangGraph ライブラリ(Python、README によると LangChain 1.0+ バージョン)を使用して AI 駆動アプリケーションを構築する方法を教えるコースです。コース教材は、おもちゃの例ではなく実際のプロジェクトの構築を中心に構成されています。ライブ API と実際のユースケースで作業します。

構築するもの

README には10 のプロジェクトがリストされています(1 つのセクションで 7 つ、他のセクションでさらにいくつか)。一部はこのリポジトリの git ブランチ(project/hello-world など)として存在し、一部は別の外部リポジトリに存在します。サンプル:

  • Hello World — 最初の基本的な AI エージェント。
  • Modern Search Agent — 検索ツールとカスタムツールを使用し、構造化出力を持つエージェント。
  • RAG Gist — 検索拡張生成の基本(回答前に AI に関連ドキュメントを供給)。
  • System One Models — モデルルーティングとツールゲーティングによる高速意思決定。
  • Code Interpreter — コードを実行できる AI エージェント。
  • Reflection Agent / Reflexion Agent — 自己批判と自己修正を行うエージェント。
  • Agentic RAG — エージェントが計画と記憶を持つ、より高度な検索拡張システム。

また、Ice Breaker(ソーシャルメディアプロフィール分析)、Blog Analyzer(コンテンツ分析)、Documentation Helper への言及もあります。

学習パス

README は 3 つのフェーズを示しています:

  1. 基礎 — Hello World チェーン、次に Code Interpreter。
  2. 実世界アプリケーション — Ice Breaker、Documentation Helper。
  3. 高度 — Blog Analyzer、Agentic RAG。

使用方法

  • 前提条件: 初心者向けではありません。git、Python、環境変数、クラス、テスト、デバッグにすでに慣れている必要があります。Python 3.10+ が必要です。LLM へのアクセスが必要です(Ollama などのローカル、または OpenAI、Anthropic、Gemini などのクラウド)。機械学習の経験は不要です。
  • セットアップ: リポジトリをクローンし、特定のプロジェクトブランチをチェックアウトして実行します(例:git checkout project/hello-world、次に uv sync と uv run python main.py)。外部プロジェクトは個別にクローンします。
  • 学習方法: 各 git コミットがレッスンを表します。README は、コミット履歴(git log --oneline)を確認し、コミットを順にたどってコードの進化を理解することを推奨しています。

学べること

コース終了時:ゼロからエージェントを構築し、外部 API を呼び出し、ベクトルデータベースで RAG システムを構築し、多段階推論ワークフローを設計し、エージェントをデプロイし、自己修正を処理し、コスト/パフォーマンスを最適化します。

重要な詳細

  • 言及されている技術スタック: LangChain v0.3+、LangGraph、Pinecone、FAISS、Streamlit。
  • パッケージマネージャー: README は uv、poetry、または pipenv を使用するよう指示しています。明示的に conda は不可。
  • ライセンス: Apache 2.0。
  • 著者: Eden Marco。このコースは Udemy にもあります(README にクーポンリンクが記載されています)。

これは何でないか

README はこのリポジトリを完成したソフトウェア製品として説明していません。これは学習リソース(コースコンテンツ、ブランチ、外部リンクされたリポジトリ)です。また、上記にリストされた以外の機能を主張していません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト