Skip to main content
CAMEL-AI は、インテリジェントなエージェントを構築するためのオープンソースフレームワークです。マルチエージェントシステムを効率的に作成、カスタマイズ、デプロイできます。

前提条件

  • SambaCloud の API キー
    SambaCloud アカウント を作成し、「API Keys」 タブから API キーを生成して取得してください。
  • Python 3.10 〜 3.14。camel-ai は Python 3.9 以前と Python 3.15 以降をサポートしていません。
  • API キーを SAMBA_API_KEY としてエクスポートしておくこと:
クイックスタート と 2 つのエージェントの連携の例 に必要なのは SambaCloud のキーだけです。サンプルノートブック では、さらに Firecrawl の API キー、Discord のボットトークン、GPU ランタイムが必要です。完全な一覧は該当セクションに記載しています。
CAMEL-AI は SAMBANOVA_API_KEY ではなく SAMBA_API_KEY からキーを読み取ります。他の SambaNova 連携ガイドの手順に従ったことがある場合は、ここでは変数名が異なる点にご注意ください。
macOS に標準搭載されている Python は 3.9 で、要求される下限を下回っており、python ではなく python3 として提供されています。python3 --version でバージョンを確認してください。3.10 未満の場合は、pyenv、uv、または brew install python@3.12 でサポート対象のバージョンをインストールしてから先へ進んでください。

インストールとセットアップ

  1. 仮想環境を作成します。
  2. 環境がサポート対象のバージョンを使用していることを確認します。
  3. 必要なライブラリをインストールします。"camel-ai[all]~=0.2.90" は必ず引用符で囲んでください。macOS のデフォルトシェルである zsh は角括弧をファイル名パターンとして解釈するため、pip が実行される前に no matches found で失敗します。この extra は大きな依存関係ツリーを取得し、完了まで数分かかることがあるため、時間に余裕を持って実行してください。
    2 つのバージョン制約はどちらも意図的なものです。そのまま維持してください。~=0.2.90 は camel-ai を 0.2 系に固定します。camel-ai は 1.0 未満のため、公開 API はリリース間で変更される可能性があります。本ページのコードは camel-ai 0.2.90 で検証済みです。制約を緩めるのは、ご自身のコードを再テストした後にしてください。"mcp<2" は必須です。camel-ai は上限なしで mcp>=1.3.0 を要求するため、制約なしでインストールすると mcp 2.0.0 が取得されますが、2.0.0 では mcp.server から FastMCP が削除されています。この制約がないと from camel.agents import ChatAgent が ImportError: cannot import name 'FastMCP' from 'mcp.server' で失敗し、以下の例もノートブックも実行できません。camel-ai 側がこの依存関係に上限を設定したら、制約は外して構いません。
  4. インストールを確認します。エージェント API が壊れていても import camel は成功するため、トップレベルのパッケージではなく ChatAgent をインポートして確認します。
    このコマンドが、トレースバックなしで正確に以下を出力すれば成功です。

クイックスタート

大きなコードを書き始める前に、1 回のチャット補完でセットアップをエンドツーエンドで確認しましょう。以下を quickstart.py として保存し、python quickstart.py で実行します。
以下のような短い応答が表示されるはずです。
このスクリプトは環境変数から SAMBA_API_KEY を読み取り、数秒でレスポンスを返します。応答が表示されれば環境とキーは正常に動作しており、以降の失敗はセットアップではなくご自身のコードに起因すると判断できます。model_type には SambaCloud モデル にある現行のモデル ID を指定できます。Meta-Llama-3.3-70B-Instruct は、最初の実行に適した高速で低コストな選択肢です。

2 つのエージェントの連携

CAMEL-AI はマルチエージェントでの利用を想定して設計されているため、単一エージェントではその真価はあまり見えません。以下の例では、2 つのエージェントに異なるシステムメッセージを与え、一方の出力を他方に渡します。プランナーが計画を起草し、レビュアーがそれを批評し、プランナーが修正します。各 ChatAgent は独自の会話履歴を保持しているため、プランナーは 2 回目のターンで、自分が書いた計画をすでに把握しています。 以下を two_agents.py として保存し、python two_agents.py で実行します。
このスクリプトは SambaCloud に 3 回のリクエストを送り、ラベル付きの 3 つのセクションを出力します。文言は実行のたびに変わりますが、構造は変わりません。
両エージェントは 1 つの model オブジェクトを共有するため、スクリプトが開くクライアントは 1 つで、課金対象は 3 回の補完です。ロールごとに異なるモデルを使いたい場合は、エージェントごとに ModelFactory.create() を呼び出してください。

サンプルノートブック

CAMEL-AI、SambaCloud が提供するモデル、Firecrawl、Qdrant を使用してカスタマーサービス用の Discord ボットを構築する方法を示したサンプルノートブックをご覧いただけます。
Camel AI のカスタマーサービス Discord ボットのサンプルノートブック
ノートブックを実行する前に、2 箇所の修正が必要です。いずれもノートブック自体に残っている古い値であり、本ページの問題ではありません。
  • ノートブックは model_type="QwQ-32B" を設定していますが、このモデルは SambaCloud で 2025年6月25日に提供終了 となっており、すでに提供されていません。MiniMax-M2.7 か、SambaCloud モデル にある他の現行 ID に置き換えてください。ノートブックの検索対象コーパスは Qwen モデルに関する内容のため、モデルと合わせてプロンプトの調整も検討してください。
  • ノートブックは DISCORD_TOKEN を設定するよう指示していますが、CAMEL-AI のコードが読み取るのは DISCORD_BOT_TOKEN です。DISCORD_BOT_TOKEN をエクスポートしてください。
このノートブックには、SambaCloud のキーに加えて、以下の認証情報とコンピューティング環境が必要です。開始前にセットアップしてください。
  • FIRECRAWL_API_KEY 用の Firecrawl アカウント。ナレッジソースのクロールに使用します。
  • DISCORD_BOT_TOKEN 用に、Discord Developer Portal で登録したボット。
  • GPU ランタイム。ノートブックはオープンソースの Embedding モデルをローカルで実行し、そのステップには GPU 対応の Google Colab ランタイム (Tesla T4) を推奨しています。代わりに、CAMEL-AI がサポートする別の Embedding モデルを使用することもできます。
Qdrant にアカウントは不要です。ノートブックはローカルで Qdrant を実行し、ベクトルストアを data/vectordb/ に書き込みます。

トラブルシューティング

macOS のデフォルトシェルである zsh は角括弧をファイル名パターンとして展開するため、pip が実行される前にインストールコマンドが失敗します。引数全体を引用符で囲んでください: pip install "camel-ai[all]~=0.2.90"。bash では引用符は不要ですが、付けても問題ありません。
mcp 2.0.0 がインストールされています。camel-ai は上限なしで mcp>=1.3.0 を要求しますが、2.0.0 では camel.toolkits がインポートする FastMCP が削除されました。その結果、ノートブックの最初のセルを含め、camel.agents 配下のすべてのインポートが失敗します。なお import camel は成功するため、トップレベルのインポート確認ではこの問題は検出できません。pip install "mcp<2" で修正してください。
仮想環境が有効になっていません。もう一度 source .venv/bin/activate を実行し、プロンプトに (.venv) が表示されることを確認してから、インストールコマンドを再実行してください。python -c "import camel; print('Camel-AI ready')" で確認できます。
camel-ai[all] はすべてのオプション依存関係をインストールするため、ダウンロードサイズが大きく、回線速度によっては数分かかることがあります。途中で失敗した場合は、まず pip install "camel-ai~=0.2.90" でベースパッケージをインストールし、その後 extra を追加してください。サンプルノートブックには extra が必要なため、恒久的に省略しないでください。
新しい camel-ai により、本ページが依存する API が変更されています。camel-ai は 1.0 未満であり、公開 API はリリース間で変わる可能性があります。pip install "camel-ai[all]~=0.2.90" で検証済みバージョンを再インストールし、pip show camel-ai で現在のバージョンを確認した上で、制約を緩める前に CAMEL-AI ドキュメント で最新のシグネチャを確認してください。
サンプルノートブックは model_type="QwQ-32B" を設定していますが、このモデルは SambaCloud で 2025年6月25日に提供終了 となっており、すでに提供されていません。MiniMax-M2.7 か、SambaCloud モデル にある他の現行モデル ID に置き換えてください。なお、ノートブックの検索対象コーパス自体が Qwen モデルに関する内容のため、モデルと合わせてプロンプトの調整も検討してください。
リンク先のノートブックは DISCORD_TOKEN を設定するよう指示していますが、CAMEL-AI のコードが読み取るのは DISCORD_BOT_TOKEN です。CAMEL-AI 自体の docstring も古い名前のままであり、ノートブックの指示は本ページの誤りではなく、アップストリーム側の更新漏れです。DISCORD_TOKEN ではなく DISCORD_BOT_TOKEN を設定してください。
多くの SambaNova 連携とは異なり、CAMEL-AI は SAMBA_API_KEY を必要とします。SAMBANOVA_API_KEY を設定しても効果はありません。CAMEL-AI はリクエスト送信前の ModelFactory.create() の時点でこのエラーを送出するため、トレースバックは API 呼び出しではなくモデルのセットアップ箇所を指します。SAMBA_API_KEY をエクスポートしてください。
CAMEL-AI のデフォルトは、リクエストごとに 180 秒のタイムアウトと、失敗した呼び出しの 3 回の再試行です。試行錯誤している間は、ModelFactory.create() に timeout=30 を渡すか、環境変数 MODEL_TIMEOUT を設定してタイムアウトを短くすると、フィードバックを早く得られます。すべての呼び出しがタイムアウトする場合は、エンドポイントに到達できることを確認してください: curl -H "Authorization: Bearer $SAMBA_API_KEY" https://api.sambanova.ai/v1/models
サンプルノートブックには、SambaCloud のキーに加えて、Firecrawl の API キー、Discord のボットトークン、GPU ランタイムが必要です。完全な一覧と各項目の入手先は サンプルノートブック をご参照ください。クイックスタートと 2 つのエージェントの例には、いずれも不要です。

参考情報

  • CAMEL-AI ドキュメント – フレームワークの完全なリファレンス。
  • CAMEL-AI societies – 上記の 2 エージェントの例より高度な RolePlaying と Workforce のパターン。
  • camel-ai (GitHub) – ソースでシグネチャを確認したり、アップストリームに Issue を報告したりする場合。
  • SambaCloud モデル – 現行のモデル ID とコンテキスト長。