coleam00/ottomator-agents
主な特徴
- 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
}
}
]
}
ドキュメント・リソース
公式ドキュメント
- README.md: プロジェクト概要とクイックスタートガイド
- 各エージェントのREADME.md: 個別エージェントの詳細説明と使用方法
- 公式ガイド: https://studio.ottomator.ai/guide
- コミュニティフォーラム: https://thinktank.ottomator.ai
サンプル・デモ
- foundational-rag-agent/: 基本的なRAG実装のサンプル
- agentic-rag-knowledge-graph/: 知識グラフを活用した高度なRAG
- n8n-agentic-rag-agent/: n8nワークフローベースのRAG実装
- pydantic-ai-advanced-researcher/: Pydantic AIを使用した研究エージェント
チュートリアル・ガイド
- YouTubeチャンネルでのビデオチュートリアル
- 各エージェントフォルダ内のドキュメント
- コミュニティフォーラムでのディスカッション
- 公式ガイドでのステップバイステップ説明
技術的詳細
アーキテクチャ
全体構造
エージェントは3つの主要な実装パターンをサポート:
- n8nワークフロー: ビジュアルワークフロービルダーを使用したノーコード/ローコード実装
- Python/FastAPI: プログラマティックなコントロールが必要な場合の実装
- 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を使用したリアルタイム応答
データフロー・処理フロー
- ユーザーリクエスト受信(query, user_id, request_id, session_id)
- セッション履歴の取得(該当する場合)
- ドキュメント検索/知識グラフクエリ
- LLMによる回答生成
- レスポンスのストリーミング/JSON返却
- 使用トークンの記録
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
拡張・プラグイン開発
エージェントの拡張は以下の方法で可能:
- カスタムツールの追加
- 新しいLLMプロバイダーの統合
- 独自のドキュメントプロセッサーの実装
- フロントエンドコンポーネントのカスタマイズ
パフォーマンス・スケーラビリティ
パフォーマンス特性
- ベクトル検索: ミリ秒単位の高速検索
- 知識グラフクエリ: 複雑な関係性も高速に処理
- ストリーミング: 最初のトークンまで1秒以内
スケーラビリティ
- 水平スケーリング対応(ステートレス設計)
- データベース接続プーリング
- 非同期処理によるスループット向上
制限事項
- ベータ版のため、高負荷時にレスポンスが遅くなる可能性
- トークンベースの課金システム
- 入出力フォーマットが固定
評価・所感
技術的評価
強み
- 実践的で即座に使用可能なエージェント例が豊富
- 最新のAI技術(知識グラフ、コンテキスト検索)を実装
- 複数の実装パターンで様々なニーズに対応
- 活発な開発とコミュニティサポート
- 優れたドキュメントと学習リソース
改善の余地
- パフォーマンス最適化の余地(ベータ版)
- より多様なストレージバックエンドのサポート
- エンタープライズ向け機能の充実
向いている用途
- AIエージェント開発の学習と実験
- RAGシステムの構築
- カスタマーサポートボット
- 知識管理システム
- 研究・分析ツール
向いていない用途
- 超低レイテンシが要求されるリアルタイムシステム
- 完全にオフラインでの動作が必要なシステム
- 極めて大規模なエンタープライズ導入(現時点では)
総評
ottomator-agentsは、AIエージェント開発の優れた学習プラットフォームであり、同時に実用的なソリューションも提供しています。豊富な実装例、最新技術の採用、活発なコミュニティにより、AI開発者にとって価値の高いリソースとなっています。特に、RAGや知識グラフを活用した高度なAIエージェントを構築したい開発者にとって、理想的な出発点となるでしょう。