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

# Agno

<Note>
  **本ガイドで構築するもの:** わずか 10 行あまりの Python コードで、SambaCloud でホストされているモデルと対話する最小構成の Agno エージェントを構築します。
</Note>

## 概要

[Agno](https://github.com/agno-agi/agno) は、マルチモーダル AI エージェントを構築するための軽量な Python フレームワークです。SambaCloud と接続することで、高速かつ手軽に、以下のようなエージェントを構築できます。

<CardGroup cols={2}>
  <Card title="Reasoning と応答" icon="brain">
    シンプルな `Agent` インターフェースを通じて、SambaCloud でホストされている任意の LLM から自然言語の応答をストリーミングします。
  </Card>

  <Card title="ツールの利用" icon="wrench">
    Python の型ヒントを完備したデコレーターベースのツールを組み立てられます。スキーマは Agno が自動生成します。
  </Card>

  <Card title="モデル非依存" icon="shuffle">
    `id=` 引数 1 つでモデルを切り替えられます。同じコードのまま、バックエンドだけを変更できます。
  </Card>

  <Card title="迅速なリリース" icon="bolt">
    スクリプト、ノートブックのセル、FastAPI サービスのバックエンドとして、最小限のフレームワークオーバーヘッドで実行できます。
  </Card>
</CardGroup>

## 前提条件

* [SambaCloud](http://cloud.sambanova.ai?utm_source=agno\&utm_medium=external\&utm_campaign=cloud_signup) アカウントと、[SambaCloud ポータル](https://cloud.sambanova.ai/apis) で取得した API キー
* Python 3.9 以上がインストールされていること (`python --version` で確認できます)
* Python の仮想環境とターミナルの基本操作に関する知識

## セットアップ

<Steps>
  <Step title="仮想環境の作成と有効化">
    <CodeGroup>
      ```bash macOS / Linux theme={}
      python -m venv .venv
      source .venv/bin/activate
      ```

      ```powershell Windows theme={}
      python -m venv .venv
      .venv\Scripts\Activate.ps1
      ```
    </CodeGroup>
  </Step>

  <Step title="Agno と OpenAI SDK のインストール">
    ```bash theme={}
    pip install agno openai
    ```

    <Tip>
      Agno の `Sambanova` モデルは `OpenAILike` をベースにしており、内部で `openai` パッケージを使用します。`pip install agno` だけでは不十分なため、両方をインストールしてください。
    </Tip>
  </Step>

  <Step title="SambaCloud API キーのエクスポート">
    ```bash theme={}
    export SAMBANOVA_API_KEY="your-sambacloud-api-key"
    ```

    <Warning>
      API キーは決してソース管理にコミットしないでください。`.env` ファイルまたはシェルのシークレット管理ツールを使用してください。
    </Warning>
  </Step>
</Steps>

## 使用例

`Agent` のモデルとして `Sambanova` を使用します。ライブラリのデフォルトモデルは SambaCloud では提供終了となっているため、必ず `id=` を明示的に指定してください。

```python horror_agent.py theme={}
from agno.agent import Agent
from agno.models.sambanova import Sambanova

agent = Agent(
    model=Sambanova(id="Meta-Llama-3.3-70B-Instruct"),
    markdown=True,
)

# Print the response in the terminal
agent.print_response("Share a 2 sentence horror story.")
```

実行します。

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

<Info>
  `id=` は、[SambaCloud 対応モデル](/docs/ja/models/sambacloud-models) ページに記載されている任意のモデルに切り替えられます。それ以外のコードはそのまま使用できます。
</Info>

## パラメータ

`Sambanova` モデルクラスは、以下の引数を受け付けます。

| パラメータ | 型 | デフォルト値 | 説明 |
| :- | :- | :- | :- |
| `id` | `str` | `"Meta-Llama-3.1-8B-Instruct"` | 使用するモデルの ID。**ライブラリのデフォルトは SambaCloud では提供終了となっているため、必ず `id=` を明示的に指定してください。** |
| `name` | `str` | `"Sambanova"` | このチャットモデルインスタンスの表示名。 |
| `provider` | `str` | `"Sambanova"` | モデルのプロバイダー。 |
| `api_key` | `Optional[str]` | `None` | SambaCloud で認証するための API キー。デフォルトでは環境変数 `SAMBANOVA_API_KEY` が使用されます。 |
| `base_url` | `str` | `"https://api.sambanova.ai/v1"` | API リクエストのベース URL。プロキシ経由でルーティングする場合のみ変更してください。 |

## 参考情報

<CardGroup cols={2}>
  <Card title="Agno リポジトリ" icon="github" href="https://github.com/agno-agi/agno">
    Agno フレームワークのソースコード、サンプル、リリースノート。
  </Card>

  <Card title="Agno ドキュメント" icon="book" href="https://docs.agno.com">
    エージェント、ツール、マルチモーダル入力、ストレージに関する公式ガイド。
  </Card>

  <Card title="対応モデル" icon="layer-group" href="/docs/ja/models/sambacloud-models">
    SambaCloud で現在利用可能なモデルの一覧。
  </Card>

  <Card title="提供終了モデル" icon="triangle-exclamation" href="/docs/ja/models/deprecations">
    提供終了が予定されているモデルと、推奨される代替モデル。
  </Card>
</CardGroup>

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

<AccordionGroup>
  <Accordion title="ModuleNotFoundError: agno または openai">
    * 両方のパッケージをインストールしてください: `pip install agno openai`
    * Agno の `Sambanova` モデルクラスは内部で `openai` に依存しています。`pip install agno` だけでは不十分です
    * 仮想環境が有効化されていることを確認してください。`which python` の出力が `.venv` 内を指している必要があります
  </Accordion>

  <Accordion title="認証エラーが発生する、または API キーが見つからない">
    * キーがエクスポートされていることを確認してください: `echo $SAMBANOVA_API_KEY`
    * `export SAMBANOVA_API_KEY="your-key"` で再エクスポートし、再試行してください
    * `Sambanova` クラスは `SAMBANOVA_API_KEY` を自動的に読み込みます。上書きする場合を除き、`api_key=` を明示的に渡す必要はありません
  </Accordion>

  <Accordion title="提供終了モデルの警告が表示される、または想定外の応答が返される">
    * ライブラリのデフォルトの `id` (`Meta-Llama-3.1-8B-Instruct`) は SambaCloud では提供終了となっています。必ず `id=` を明示的に指定してください
    * 現在のモデル ID は [SambaCloud モデルページ](/docs/ja/models/sambacloud-models) でご確認ください
    * 推奨される代替モデルについては、[提供終了モデル](/docs/ja/models/deprecations) をご参照ください
  </Accordion>

  <Accordion title="モデルが見つからない">
    * モデル名は大文字と小文字が区別されます。[SambaCloud モデルページ](/docs/ja/models/sambacloud-models) に記載されている文字列を正確に使用してください
    * お使いの SambaCloud アカウントに、リクエストしたモデルへのアクセス権があることを確認してください
  </Accordion>
</AccordionGroup>
