> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sambanova.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Camel AI

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

## 前提条件

* SambaCloud の API キー\
  [SambaCloud アカウント](https://cloud.sambanova.ai?utm_source=camelai\&utm_medium=external\&utm_campaign=cloud_signup) を作成し、**「API Keys」** タブから API キーを生成して取得してください。
* Python 3.10 〜 3.14。`camel-ai` は Python 3.9 以前と Python 3.15 以降をサポートしていません。
* API キーを `SAMBA_API_KEY` としてエクスポートしておくこと:

  ```bash theme={}
  export SAMBA_API_KEY="your-api-key"
  ```

[クイックスタート](#クイックスタート) と [2 つのエージェントの連携の例](#2-つのエージェントの連携) に必要なのは SambaCloud のキーだけです。[サンプルノートブック](#サンプルノートブック) では、さらに Firecrawl の API キー、Discord のボットトークン、GPU ランタイムが必要です。完全な一覧は該当セクションに記載しています。

<Note>
  CAMEL-AI は `SAMBANOVA_API_KEY` ではなく `SAMBA_API_KEY` からキーを読み取ります。他の SambaNova 連携ガイドの手順に従ったことがある場合は、ここでは変数名が異なる点にご注意ください。
</Note>

<Note>
  macOS に標準搭載されている Python は 3.9 で、要求される下限を下回っており、`python` ではなく `python3` として提供されています。`python3 --version` でバージョンを確認してください。3.10 未満の場合は、[pyenv](https://github.com/pyenv/pyenv)、[uv](https://docs.astral.sh/uv/)、または `brew install python@3.12` でサポート対象のバージョンをインストールしてから先へ進んでください。
</Note>

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

1. 仮想環境を作成します。
   ```bash theme={}
   python3 -m venv .venv
   source .venv/bin/activate
   ```
2. 環境がサポート対象のバージョンを使用していることを確認します。
   ```bash theme={}
   python --version
   ```
3. 必要なライブラリをインストールします。`"camel-ai[all]~=0.2.90"` は必ず引用符で囲んでください。macOS のデフォルトシェルである zsh は角括弧をファイル名パターンとして解釈するため、pip が実行される前に `no matches found` で失敗します。この extra は大きな依存関係ツリーを取得し、完了まで数分かかることがあるため、時間に余裕を持って実行してください。

   ```bash theme={}
   pip install "camel-ai[all]~=0.2.90" "mcp<2" starlette nest_asyncio jupyter ipywidgets
   ```

   <Warning>
     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` 側がこの依存関係に上限を設定したら、制約は外して構いません。
   </Warning>
4. インストールを確認します。エージェント API が壊れていても `import camel` は成功するため、トップレベルのパッケージではなく `ChatAgent` をインポートして確認します。

   ```bash theme={}
   python -c "from camel.agents import ChatAgent; print('Camel-AI ready')"
   ```

   このコマンドが、トレースバックなしで正確に以下を出力すれば成功です。

   ```text theme={}
   Camel-AI ready
   ```

## クイックスタート

大きなコードを書き始める前に、1 回のチャット補完でセットアップをエンドツーエンドで確認しましょう。以下を `quickstart.py` として保存し、`python quickstart.py` で実行します。

```python theme={}
from camel.agents import ChatAgent
from camel.models import ModelFactory
from camel.types import ModelPlatformType

model = ModelFactory.create(
    model_platform=ModelPlatformType.SAMBA,
    model_type="Meta-Llama-3.3-70B-Instruct",
    url="https://api.sambanova.ai/v1",
)
agent = ChatAgent(model=model)
print(agent.step("Say hello in five words.").msgs[0].content)
```

以下のような短い応答が表示されるはずです。

```text theme={}
Hello, how are you today?
```

このスクリプトは環境変数から `SAMBA_API_KEY` を読み取り、数秒でレスポンスを返します。応答が表示されれば環境とキーは正常に動作しており、以降の失敗はセットアップではなくご自身のコードに起因すると判断できます。`model_type` には [SambaCloud モデル](/docs/ja/models/sambacloud-models) にある現行のモデル ID を指定できます。`Meta-Llama-3.3-70B-Instruct` は、最初の実行に適した高速で低コストな選択肢です。

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

CAMEL-AI はマルチエージェントでの利用を想定して設計されているため、単一エージェントではその真価はあまり見えません。以下の例では、2 つのエージェントに異なるシステムメッセージを与え、一方の出力を他方に渡します。プランナーが計画を起草し、レビュアーがそれを批評し、プランナーが修正します。各 `ChatAgent` は独自の会話履歴を保持しているため、プランナーは 2 回目のターンで、自分が書いた計画をすでに把握しています。

以下を `two_agents.py` として保存し、`python two_agents.py` で実行します。

```python theme={}
import os
import sys

from camel.agents import ChatAgent
from camel.models import ModelFactory
from camel.types import ModelPlatformType

if not os.environ.get("SAMBA_API_KEY"):
    sys.exit("Set SAMBA_API_KEY before running this script.")

model = ModelFactory.create(
    model_platform=ModelPlatformType.SAMBA,
    model_type="Meta-Llama-3.3-70B-Instruct",
    url="https://api.sambanova.ai/v1",
)

planner = ChatAgent(
    system_message=(
        "You are a release planner. Given a goal, reply with a numbered plan "
        "of at most four steps. Keep each step to one sentence."
    ),
    model=model,
)
reviewer = ChatAgent(
    system_message=(
        "You are a critical reviewer. Given a plan, name the single riskiest "
        "step and propose one concrete change. Reply in under 80 words."
    ),
    model=model,
)

goal = "Ship a rate limiter for a public REST API."

try:
    plan = planner.step(goal).msgs[0].content
    critique = reviewer.step(plan).msgs[0].content
    revised = planner.step(
        f"Revise your plan using this feedback:\n{critique}"
    ).msgs[0].content
except Exception as exc:
    sys.exit(f"CAMEL request failed: {exc}")

print("PLAN\n", plan)
print("\nREVIEW\n", critique)
print("\nREVISED PLAN\n", revised)
```

このスクリプトは SambaCloud に 3 回のリクエストを送り、ラベル付きの 3 つのセクションを出力します。文言は実行のたびに変わりますが、構造は変わりません。

```text theme={}
PLAN
 1. Define the rate limit policy and the window granularity.
 ...

REVIEW
 The riskiest step is ... Instead, ...

REVISED PLAN
 1. Define the rate limit policy per API key rather than per IP.
 ...
```

両エージェントは 1 つの `model` オブジェクトを共有するため、スクリプトが開くクライアントは 1 つで、課金対象は 3 回の補完です。ロールごとに異なるモデルを使いたい場合は、エージェントごとに `ModelFactory.create()` を呼び出してください。

## サンプルノートブック

CAMEL-AI、SambaCloud が提供するモデル、Firecrawl、Qdrant を使用してカスタマーサービス用の Discord ボットを構築する方法を示したサンプルノートブックをご覧いただけます。

* [Customer Service Discord Bot with Agentic RAG](https://github.com/sambanova/integrations/blob/main/camel/Customer_Service_Discord_Bot_with_Agentic_RAG_Powered_by_Qwen_models_served_by_SambaNova%2C_using_%F0%9F%90%AB_CAMEL%2C_Firecrawl_%26_Qdrant_.ipynb)

<Frame>
  <img alt="Camel AI のカスタマーサービス Discord ボットのサンプルノートブック" src="https://mintcdn.com/sambanova-systems/2geljiA64MqODR9Z/images/docs/integrations/camel-ai/camel-ai1.png?fit=max&auto=format&n=2geljiA64MqODR9Z&q=85&s=69c4bc296c74858835d8efbbb71867f3" width="1280" height="720" data-path="images/docs/integrations/camel-ai/camel-ai1.png" />
</Frame>

<Warning>
  ノートブックを実行する前に、2 箇所の修正が必要です。いずれもノートブック自体に残っている古い値であり、本ページの問題ではありません。

  * ノートブックは `model_type="QwQ-32B"` を設定していますが、このモデルは SambaCloud で [2025年6月25日に提供終了](/docs/ja/models/deprecations) となっており、すでに提供されていません。`MiniMax-M2.7` か、[SambaCloud モデル](/docs/ja/models/sambacloud-models) にある他の現行 ID に置き換えてください。ノートブックの検索対象コーパスは Qwen モデルに関する内容のため、モデルと合わせてプロンプトの調整も検討してください。
  * ノートブックは `DISCORD_TOKEN` を設定するよう指示していますが、CAMEL-AI のコードが読み取るのは `DISCORD_BOT_TOKEN` です。`DISCORD_BOT_TOKEN` をエクスポートしてください。
</Warning>

このノートブックには、SambaCloud のキーに加えて、以下の認証情報とコンピューティング環境が必要です。開始前にセットアップしてください。

* `FIRECRAWL_API_KEY` 用の [Firecrawl](https://www.firecrawl.dev/) アカウント。ナレッジソースのクロールに使用します。
* `DISCORD_BOT_TOKEN` 用に、[Discord Developer Portal](https://discord.com/developers/applications) で登録したボット。
* GPU ランタイム。ノートブックはオープンソースの Embedding モデルをローカルで実行し、そのステップには GPU 対応の Google Colab ランタイム (Tesla T4) を推奨しています。代わりに、CAMEL-AI がサポートする別の Embedding モデルを使用することもできます。

Qdrant にアカウントは不要です。ノートブックはローカルで Qdrant を実行し、ベクトルストアを `data/vectordb/` に書き込みます。

## トラブルシューティング

<AccordionGroup>
  <Accordion title="zsh: no matches found: camel-ai[all]">
    macOS のデフォルトシェルである zsh は角括弧をファイル名パターンとして展開するため、pip が実行される前にインストールコマンドが失敗します。引数全体を引用符で囲んでください: `pip install "camel-ai[all]~=0.2.90"`。bash では引用符は不要ですが、付けても問題ありません。
  </Accordion>

  <Accordion title="ImportError: cannot import name 'FastMCP' from 'mcp.server'">
    `mcp` 2.0.0 がインストールされています。`camel-ai` は上限なしで `mcp>=1.3.0` を要求しますが、2.0.0 では `camel.toolkits` がインポートする `FastMCP` が削除されました。その結果、ノートブックの最初のセルを含め、`camel.agents` 配下のすべてのインポートが失敗します。なお `import camel` は成功するため、トップレベルのインポート確認ではこの問題は検出できません。`pip install "mcp<2"` で修正してください。
  </Accordion>

  <Accordion title="ModuleNotFoundError: No module named 'camel'">
    仮想環境が有効になっていません。もう一度 `source .venv/bin/activate` を実行し、プロンプトに `(.venv)` が表示されることを確認してから、インストールコマンドを再実行してください。`python -c "import camel; print('Camel-AI ready')"` で確認できます。
  </Accordion>

  <Accordion title="インストールに時間がかかる、または途中で失敗する">
    `camel-ai[all]` はすべてのオプション依存関係をインストールするため、ダウンロードサイズが大きく、回線速度によっては数分かかることがあります。途中で失敗した場合は、まず `pip install "camel-ai~=0.2.90"` でベースパッケージをインストールし、その後 extra を追加してください。サンプルノートブックには extra が必要なため、恒久的に省略しないでください。
  </Accordion>

  <Accordion title="アップグレード後に camel から ImportError や TypeError が発生する">
    新しい `camel-ai` により、本ページが依存する API が変更されています。`camel-ai` は 1.0 未満であり、公開 API はリリース間で変わる可能性があります。`pip install "camel-ai[all]~=0.2.90"` で検証済みバージョンを再インストールし、`pip show camel-ai` で現在のバージョンを確認した上で、制約を緩める前に [CAMEL-AI ドキュメント](https://docs.camel-ai.org/) で最新のシグネチャを確認してください。
  </Accordion>

  <Accordion title="ノートブックのモデルが model_not_found を返す">
    サンプルノートブックは `model_type="QwQ-32B"` を設定していますが、このモデルは SambaCloud で [2025年6月25日に提供終了](/docs/ja/models/deprecations) となっており、すでに提供されていません。`MiniMax-M2.7` か、[SambaCloud モデル](/docs/ja/models/sambacloud-models) にある他の現行モデル ID に置き換えてください。なお、ノートブックの検索対象コーパス自体が Qwen モデルに関する内容のため、モデルと合わせてプロンプトの調整も検討してください。
  </Accordion>

  <Accordion title="ValueError: DISCORD_BOT_TOKEN not found">
    リンク先のノートブックは `DISCORD_TOKEN` を設定するよう指示していますが、CAMEL-AI のコードが読み取るのは `DISCORD_BOT_TOKEN` です。CAMEL-AI 自体の docstring も古い名前のままであり、ノートブックの指示は本ページの誤りではなく、アップストリーム側の更新漏れです。`DISCORD_TOKEN` ではなく `DISCORD_BOT_TOKEN` を設定してください。
  </Accordion>

  <Accordion title="ValueError: Missing or empty required API keys in environment variables: SAMBA_API_KEY">
    多くの SambaNova 連携とは異なり、CAMEL-AI は `SAMBA_API_KEY` を必要とします。`SAMBANOVA_API_KEY` を設定しても効果はありません。CAMEL-AI はリクエスト送信前の `ModelFactory.create()` の時点でこのエラーを送出するため、トレースバックは API 呼び出しではなくモデルのセットアップ箇所を指します。`SAMBA_API_KEY` をエクスポートしてください。
  </Accordion>

  <Accordion title="スクリプトが応答しない、またはリクエストがタイムアウトする">
    CAMEL-AI のデフォルトは、リクエストごとに 180 秒のタイムアウトと、失敗した呼び出しの 3 回の再試行です。試行錯誤している間は、`ModelFactory.create()` に `timeout=30` を渡すか、環境変数 `MODEL_TIMEOUT` を設定してタイムアウトを短くすると、フィードバックを早く得られます。すべての呼び出しがタイムアウトする場合は、エンドポイントに到達できることを確認してください: `curl -H "Authorization: Bearer $SAMBA_API_KEY" https://api.sambanova.ai/v1/models`
  </Accordion>

  <Accordion title="ノートブック用のサードパーティ認証情報が不足している">
    サンプルノートブックには、SambaCloud のキーに加えて、Firecrawl の API キー、Discord のボットトークン、GPU ランタイムが必要です。完全な一覧と各項目の入手先は [サンプルノートブック](#サンプルノートブック) をご参照ください。クイックスタートと 2 つのエージェントの例には、いずれも不要です。
  </Accordion>
</AccordionGroup>

## 参考情報

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