> ## 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.

# Composio

[Composio](https://composio.dev/) は、AI エージェントおよび大規模言語モデル (LLM) アプリケーション向けの、開発者志向の連携プラットフォームです。AI システムと実世界のツールやサービス (Slack、GitHub、Gmail、CRM、生産性アプリなど) の橋渡し役となり、すべての連携を自作することなく、エージェントがアプリ間で認証・連携できるようにします。本ガイドでは、SambaNova の LLM と Composio の連携をセットアップし、AI エージェントを実世界のツールやサービスに接続する手順を解説します。

<Warning>
  integrations リポジトリのサンプルは `composio-crewai==0.7.19` に固定されており、このバージョンはすでに廃止された Composio の v1 API を呼び出します。Composio は現在 v3 を提供しているため、有効な API キーを使っても、GitHub アカウントを接続する箇所でサンプルが `HTTP 410` で失敗します。インストールの前に [トラブルシューティング](#トラブルシューティング) をお読みください。以下のステップ 1〜5 は、SambaNova のキー、モデルアクセス、環境の確認手段として引き続き有効であり、ステップ 5 の接続確認は Composio とは独立して成功します。
</Warning>

## 前提条件

作業を始める前に、以下の環境を準備してください。

* [SambaCloud](https://cloud.sambanova.ai?utm_source=composio\&utm_medium=external\&utm_campaign=cloud_signup) アカウントと API キー
* [Composio](https://composio.dev/) アカウントと API キー
* [SerpAPI](https://serpapi.com/) アカウント。サンプルのエージェントは Composio 経由の Web 検索に SerpAPI を呼び出し、リポジトリの `.env.example` には `SERPAPI_API_KEY` が含まれています。
* GitHub アカウント。サンプルは初回実行時に Composio 経由で GitHub に接続します。
* `git` がインストールされていること
* Python 3.10 〜 3.13。固定されている `crewai` リリースは、Python 3.9 以前と Python 3.14 以降をサポートしていません。

<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>

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

以下の手順に沿って、リポジトリのクローン、環境のセットアップ、サンプルの実行を行います。

<Steps>
  <Step title="リポジトリのクローン">
    ```bash theme={}
    git clone https://github.com/sambanova/integrations.git
    cd integrations/composio
    ```
  </Step>

  <Step title="仮想環境の作成">
    ```bash theme={}
    python3 -m venv .venv
    source .venv/bin/activate
    ```

    インストールの前に、環境がサポート対象のバージョンを使用していることを確認します。

    ```bash theme={}
    python --version
    ```
  </Step>

  <Step title="依存パッケージのインストール">
    ```bash theme={}
    pip install -r requirements.txt
    ```

    `requirements.txt` はすべての依存関係を固定しているため、再現性のあるインストールが可能です。

    ```text theme={}
    composio-crewai==0.7.19
    composio-openai==0.7.19
    crewai==0.130.0
    openai==1.91.0
    ```

    Python 3.10 〜 3.13 という範囲を定めているのは、`crewai==0.130.0` の固定です。`crewai` は `python-dotenv` も提供しており、`main.py` はこれをインポートして `.env` ファイルを読み込みます。
  </Step>

  <Step title="環境変数の設定">
    プロジェクトディレクトリに `.env` ファイルを作成します。

    ```bash theme={}
    SAMBANOVA_API_KEY=your-sambanova-api-key
    COMPOSIO_API_KEY=your-composio-api-key
    SERPAPI_API_KEY=your-serpapi-api-key
    ```

    または、ターミナルで直接エクスポートします。

    ```bash theme={}
    export SAMBANOVA_API_KEY=your-sambanova-api-key
    export COMPOSIO_API_KEY=your-composio-api-key
    export SERPAPI_API_KEY=your-serpapi-api-key
    ```

    SambaNova の API キーは [SambaCloud ポータル](https://cloud.sambanova.ai/apis) から、Composio の API キーは [Composio ダッシュボード](https://app.composio.dev/) から、SerpAPI のキーは [SerpAPI ダッシュボード](https://serpapi.com/manage-api-key) から取得してください。
  </Step>

  <Step title="SambaNova との接続確認">
    Composio を使い始める前に、SambaNova のキーとモデルアクセスが機能することを確認します。以下を `check_sambanova.py` としてプロジェクトディレクトリに保存し、実行してください。`requirements.txt` でインストール済みの `openai==1.91.0` クライアントを使用します。

    ```python check_sambanova.py theme={}
    import os

    from openai import OpenAI

    client = OpenAI(
        base_url="https://api.sambanova.ai/v1",
        api_key=os.environ["SAMBANOVA_API_KEY"],
    )

    completion = client.chat.completions.create(
        model="Meta-Llama-3.3-70B-Instruct",
        messages=[{"role": "user", "content": "Reply with the single word: connected"}],
    )

    print(completion.choices[0].message.content)
    ```

    ```bash theme={}
    python check_sambanova.py
    ```

    キーとモデルが正常であれば、1 語の回答が出力されます。

    ```text theme={}
    connected
    ```

    このステップが失敗する場合、問題は Composio ではなく、SambaNova のキー、ベース URL、またはモデル ID にあります。[API キーと URL](/docs/ja/get-started/api-keys-urls) と [SambaCloud モデル](/docs/ja/models/sambacloud-models) のページをご参照ください。
  </Step>

  <Step title="サンプルの実行">
    ```bash theme={}
    python main.py
    ```

    このサンプルは、SerpAPI を使って SambaNova とその RDU チップに関する情報を Web 検索する CrewAI エージェントを構築します。モデルは CrewAI の LiteLLM レイヤー経由で呼び出されるため、`main.py` はプロバイダープレフィックス付きでモデルを指定しています。

    ```python theme={}
    llm = LLM(model='sambanova/Meta-Llama-3.3-70B-Instruct', api_key=os.getenv('SAMBANOVA_API_KEY'))
    ```

    [SambaCloud モデル](/docs/ja/models/sambacloud-models) ページの別のモデル ID に差し替える場合も、`sambanova/` プレフィックスは維持してください。このプレフィックスがリクエストを SambaNova にルーティングします。プレフィックスを使うのはこの CrewAI の形式だけで、前のステップで示した直接のクライアント呼び出しでは使用しません。

    初回実行時、スクリプトは GitHub の認可 URL を出力して待機します。

    ```text theme={}
    Open this URL to authenticate: https://backend.composio.dev/api/v1/auth-apps/add?...
    ```

    この URL をブラウザで開き、接続を承認します。その後エージェントが実行され、reasoning のステップに続いて最終的な回答が出力されます。

    <Note>
      現在、このステップは `HTTP 410` で失敗します。固定されている `composio-crewai` リリースが、廃止された Composio の v1 API にリクエストを送るためです。[トラブルシューティング](#トラブルシューティング) をご参照ください。
    </Note>
  </Step>
</Steps>

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

<AccordionGroup>
  <Accordion title="command not found: python">
    macOS には `python` という実行ファイルはなく、`python3` のみが用意されています。環境の作成には `python3 -m venv .venv` を使用してください。`source .venv/bin/activate` で有効化した後は、環境内で `python` が期待どおりに動作します。
  </Accordion>

  <Accordion title="ERROR: Could not find a version that satisfies the requirement crewai==0.130.0">
    Python のバージョンがサポート範囲外です。`pip` は最終的なエラーの前に、「Ignored the following versions that require a different python version」という長いリストを表示します。有効化した環境内で `python --version` を実行してください。3.10 〜 3.13 でない場合は、`.venv` を削除し、サポート対象の Python をインストールしてから環境を再作成してください。
  </Accordion>

  <Accordion title="composio.exceptions.ApiKeyError: Unexpected error: HTTP 410">
    固定されている `composio-crewai` リリースは、すでに廃止された Composio の v1 API を呼び出します。このエンドポイントは、API キーの有効・無効にかかわらず、すべてのリクエストに対して `This endpoint is no longer available. Please upgrade to v3 APIs.` を返します。[integrations リポジトリ](https://github.com/sambanova/integrations/tree/main/composio) が v3 対応の Composio SDK にアップグレードされるまで、このサンプルは完了できません。
  </Accordion>

  <Accordion title="composio.exceptions.ApiKeyNotProvidedError">
    `COMPOSIO_API_KEY` が設定されていません。スクリプトは SambaNova に接続する前、ツールセットの構築時にこの値を読み取るため、環境変数のステップを飛ばした場合に最初に発生する失敗がこれです。トレースバックは長くなりますが、対処に必要なメッセージは最後の行にあります。
  </Accordion>
</AccordionGroup>

## 参考情報

* [SambaCloud モデル](/docs/ja/models/sambacloud-models) - この連携で使用できるモデル ID
* [API キーと URL](/docs/ja/get-started/api-keys-urls) - キーの生成とベース URL の確認
* [CrewAI 連携ガイド](/docs/ja/integrations/crew-ai) - Composio を使わずに SambaNova 上で CrewAI エージェントを構築
* [Composio ドキュメント](https://docs.composio.dev/docs/welcome)
* [SambaNova integrations リポジトリ](https://github.com/sambanova/integrations/tree/main/composio)
