coleam00/ottomator-agents

⭐ 2,394 🍴 1,079 Python📄 MIT License GitHubで見る →

主な特徴

  • 30以上の実用的なAIエージェントサンプル
  • 複数の実装パターン(n8n、Python、Voiceflow)をサポート
  • プロダクションレディな実装例(エラーハンドリング、監視機能付き)
  • 知識グラフやコンテキスト検索などの高度な機能
  • 活発なコミュニティとドキュメント

リポジトリ解析: coleam00/ottomator-agents

基本情報

  • リポジトリ名: coleam00/ottomator-agents
  • 主要言語: Python
  • スター数: 2,394
  • フォーク数: 1,079
  • 最終更新: 2025年6月(活発に更新中)
  • ライセンス: MIT License
  • トピックス: AI Agents, oTTomator Live Agent Studio, n8n, RAG, Knowledge Graphs, LLM

概要

一言で言うと

oTTomator Live Agent Studioプラットフォーム上でホストされるオープンソースAIエージェントのコレクション。様々な実装パターンと実用的なAIエージェントのサンプルを提供。

詳細説明

ottomator-agentsは、Cole Medin氏が開発したAIエージェントのプラットフォームで、開発者がAIエージェントを学習、構築、デプロイできる包括的なエコシステムを提供します。n8nワークフロー、Python/FastAPI、Voiceflowなど複数の実装方法をサポートし、RAG(Retrieval Augmented Generation)、知識グラフ、コンテキスト検索など最新のAI技術を実装したエージェントが含まれています。

主な特徴

  • 30以上の実用的なAIエージェントサンプル
  • 複数の実装パターン(n8n、Python、Voiceflow)をサポート
  • プロダクションレディな実装例(エラーハンドリング、監視機能付き)
  • 知識グラフやコンテキスト検索などの高度な機能
  • 活発なコミュニティとドキュメント

使用方法

インストール

前提条件

  • Python 3.8以上(Pythonエージェントの場合)
  • Node.js(n8nエージェントの場合)
  • Docker(コンテナ化デプロイの場合)
  • Supabaseアカウント(データ永続化が必要な場合)

インストール手順

# 方法1: リポジトリのクローン
git clone https://github.com/coleam00/ottomator-agents.git
cd ottomator-agents

# 方法2: 特定のエージェントの使用(例:Python Local AI Agent)
cd python-local-ai-agent/
pip install -r requirements.txt
python main.py

基本的な使い方

Hello World相当の例

# Sample Python Agent
import requests

# エージェントへのリクエスト
response = requests.post("http://localhost:8000/chat", json={
    "query": "Hello, AI Agent!",
    "user_id": "user123",
    "request_id": "req123",
    "session_id": "session123"
})

print(response.json()["response"])

実践的な使用例

# RAG エージェントの使用例
from foundational_rag_agent import RAGAgent

# エージェントの初期化
agent = RAGAgent(
    llm_provider="openai",
    embedding_model="text-embedding-3-small",
    database_url="postgresql://user:pass@localhost/rag_db"
)

# ドキュメントの追加
agent.ingest_document("path/to/document.pdf")

# 質問応答
response = agent.query("What are the key features of the product?")
print(response)

高度な使い方

// n8n Agentic RAG Agentワークフローの例
{
  "nodes": [
    {
      "name": "Document Processor",
      "type": "documentProcessor",
      "parameters": {
        "chunkSize": 1000,
        "overlap": 200,
        "enableContextualRetrieval": true
      }
    },
    {
      "name": "Knowledge Graph Builder",
      "type": "knowledgeGraph",
      "parameters": {
        "graphDatabase": "neo4j",
        "extractEntities": true,
        "buildRelationships": true
      }
    }
  ]
}

ドキュメント・リソース

公式ドキュメント

サンプル・デモ

  • foundational-rag-agent/: 基本的なRAG実装のサンプル
  • agentic-rag-knowledge-graph/: 知識グラフを活用した高度なRAG
  • n8n-agentic-rag-agent/: n8nワークフローベースのRAG実装
  • pydantic-ai-advanced-researcher/: Pydantic AIを使用した研究エージェント

チュートリアル・ガイド

  • YouTubeチャンネルでのビデオチュートリアル
  • 各エージェントフォルダ内のドキュメント
  • コミュニティフォーラムでのディスカッション
  • 公式ガイドでのステップバイステップ説明

技術的詳細

アーキテクチャ

全体構造

エージェントは3つの主要な実装パターンをサポート:

  1. n8nワークフロー: ビジュアルワークフロービルダーを使用したノーコード/ローコード実装
  2. Python/FastAPI: プログラマティックなコントロールが必要な場合の実装
  3. Voiceflow: Dialog APIを通じた直接統合

各エージェントは共通のI/Oフォーマットに従い、プラットフォーム上で統一的に動作します。

ディレクトリ構成

ottomator-agents/
├── ~sample-n8n-agent~/        # n8nエージェントのテンプレート
├── ~sample-python-agent~/     # Pythonエージェントのテンプレート
├── foundational-rag-agent/    # 基本的なRAG実装
│   ├── agent/                 # エージェントコア
│   ├── database/              # データベース設定
│   ├── document_processing/   # ドキュメント処理
│   └── ui/                    # Streamlit UI
├── agentic-rag-knowledge-graph/  # 高度なRAG実装
│   ├── agent/                 # エージェントロジック
│   ├── ingestion/             # データ取り込み
│   └── sql/                   # スキーマ定義
└── [その他30以上のエージェント]

主要コンポーネント

  • エージェントコア: リクエスト処理とレスポンス生成

    • 場所: [agent-name]/agent.py または main.py
    • 依存: LLMプロバイダー、データベース、埋め込みモデル
    • インターフェース: POST /chat エンドポイント
  • ドキュメント処理: PDFやテキストファイルの処理

    • 場所: document_processing/ ディレクトリ
    • 機能: チャンキング、埋め込み生成、メタデータ抽出
  • 知識グラフ: エンティティと関係性の管理

    • 場所: graph_utils.py または graph_builder.py
    • 統合: Neo4j、Graphiti

技術スタック

コア技術

  • 言語: Python 3.8+(主要)、JavaScript/TypeScript(n8n、UI)
  • フレームワーク:
    • FastAPI(APIサーバー)
    • Streamlit(UI)
    • n8n(ワークフロー自動化)
  • 主要ライブラリ:
    • langchain: LLMオーケストレーション
    • chromadb/pgvector: ベクトルデータベース
    • neo4j: 知識グラフ
    • pydantic: データバリデーション

開発・運用ツール

  • ビルドツール: Docker、pip、npm
  • テスト: pytest、テストカバレッジ監視
  • CI/CD: GitHub Actions(一部のエージェント)
  • デプロイ: Docker、Render、Railway対応

設計パターン・手法

  • RAG(Retrieval Augmented Generation): 外部知識を活用した回答生成
  • 知識グラフ: エンティティと関係性を使った高度なコンテキスト理解
  • コンテキスト検索: Anthropicの手法を実装し、検索精度を大幅に向上
  • ストリーミングレスポンス: Server-Sent Eventsを使用したリアルタイム応答

データフロー・処理フロー

  1. ユーザーリクエスト受信(query, user_id, request_id, session_id)
  2. セッション履歴の取得(該当する場合)
  3. ドキュメント検索/知識グラフクエリ
  4. LLMによる回答生成
  5. レスポンスのストリーミング/JSON返却
  6. 使用トークンの記録

API・インターフェース

公開API

チャットエンドポイント

  • 目的: エージェントとの対話
  • 使用例:
# POSTリクエスト
{
    "query": "Explain quantum computing",
    "user_id": "user_123",
    "request_id": "req_456",
    "session_id": "session_789"
}

# レスポンス
{
    "response": "Quantum computing is...",
    "extra_data": {
        "sources": ["doc1.pdf", "doc2.pdf"],
        "confidence": 0.95
    }
}

設定・カスタマイズ

設定ファイル

# .env ファイルの例
OPENAI_API_KEY=your_api_key
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key
EMBEDDING_MODEL=text-embedding-3-small
LLM_MODEL=gpt-4

拡張・プラグイン開発

エージェントの拡張は以下の方法で可能:

  1. カスタムツールの追加
  2. 新しいLLMプロバイダーの統合
  3. 独自のドキュメントプロセッサーの実装
  4. フロントエンドコンポーネントのカスタマイズ

パフォーマンス・スケーラビリティ

パフォーマンス特性

  • ベクトル検索: ミリ秒単位の高速検索
  • 知識グラフクエリ: 複雑な関係性も高速に処理
  • ストリーミング: 最初のトークンまで1秒以内

スケーラビリティ

  • 水平スケーリング対応(ステートレス設計)
  • データベース接続プーリング
  • 非同期処理によるスループット向上

制限事項

  • ベータ版のため、高負荷時にレスポンスが遅くなる可能性
  • トークンベースの課金システム
  • 入出力フォーマットが固定

評価・所感

技術的評価

強み

  • 実践的で即座に使用可能なエージェント例が豊富
  • 最新のAI技術(知識グラフ、コンテキスト検索)を実装
  • 複数の実装パターンで様々なニーズに対応
  • 活発な開発とコミュニティサポート
  • 優れたドキュメントと学習リソース

改善の余地

  • パフォーマンス最適化の余地(ベータ版)
  • より多様なストレージバックエンドのサポート
  • エンタープライズ向け機能の充実

向いている用途

  • AIエージェント開発の学習と実験
  • RAGシステムの構築
  • カスタマーサポートボット
  • 知識管理システム
  • 研究・分析ツール

向いていない用途

  • 超低レイテンシが要求されるリアルタイムシステム
  • 完全にオフラインでの動作が必要なシステム
  • 極めて大規模なエンタープライズ導入(現時点では)

総評

ottomator-agentsは、AIエージェント開発の優れた学習プラットフォームであり、同時に実用的なソリューションも提供しています。豊富な実装例、最新技術の採用、活発なコミュニティにより、AI開発者にとって価値の高いリソースとなっています。特に、RAGや知識グラフを活用した高度なAIエージェントを構築したい開発者にとって、理想的な出発点となるでしょう。