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

# OpenRouter

> 自動的な Weave インテグレーションにより、多数の LLM で OpenRouter の統一インターフェースを使用する

このガイドでは、OpenRouter 経由でアクセスする LLM への Call を Weave で自動的にトレースする方法を説明します。これにより、単一のダッシュボードからアプリケーションのモデル使用状況をモニター、デバッグ、評価できます。

OpenRouter は多数の LLM に対応する統一インターフェースで、OpenAI GPT-4、Anthropic Claude、Google Gemini などの基盤モデルに加え、Llama-3、Mixtral、[その他](https://openrouter.ai/models) のオープンソースモデルもサポートしています。一部のモデルは無料で提供されています。

OpenRouter は REST API と、Weave が自動的に検出して連携する [OpenAI SDK との互換性](https://openrouter.ai/docs/guides/community/openai-sdk) を提供しています。詳細については、OpenRouter の [クイックスタートガイド](https://openrouter.ai/docs/quick-start) を参照してください。Weave は OpenAI SDK を検出するため、既存の OpenAI コードをいくつかの設定変更だけでそのまま再利用できます。

OpenAI SDK のコードを OpenRouter に切り替えるには、APIキーを [OpenRouter API](https://openrouter.ai/docs/api-keys) キーに変更し、`base_url` を `https://openrouter.ai/api/v1` に設定し、モデルを利用可能な [chat models](https://openrouter.ai/docs/models) のいずれかに設定します。`weave.init()` を呼び出す際は、トレース用のプロジェクト名を指定してください。指定しない場合、Weave はデフォルトの entity を使用します。デフォルトの entity を確認または更新するには、W\&B Models ドキュメントの [User Settings](https://docs.wandb.ai/platform/app/settings-page/user-settings/#default-team) を参照してください。次の Example を実行すると、Weave は OpenRouter への Call を Weave プロジェクト内のトレースとして取得します。

```python lines {5,10-12} theme={null}
import os
import openai
import weave

weave.init('openrouter-weave')

system_content = "You are a travel agent. Be descriptive and helpful."
user_content = "Tell me about San Francisco"

client = openai.OpenAI(
    api_key=os.environ.get("OPENROUTER_API_KEY"),
    base_url="https://openrouter.ai/api/v1",
)
chat_completion = client.chat.completions.create(
    extra_headers={
    "HTTP-Referer": "[YOUR-SITE-URL]", # 省略可。openrouter.ai のランキングにアプリを掲載する場合に指定します。
    "X-Title": "[YOUR-APP-NAME]", # 省略可。openrouter.ai のランキングに表示されます。
    },
    model="meta-llama/llama-3.1-8b-instruct:free",
    messages=[
        {"role": "system", "content": system_content},
        {"role": "user", "content": user_content},
    ],
    temperature=0.7,
    max_tokens=1024,
)
response = chat_completion.choices[0].message.content
print("Model response:\n", response)
```

これは使い始めるための基本的な例ですが、より複雑なユースケースで独自の関数を Weave と統合する方法の詳細については、[OpenAI](/ja/weave/guides/integrations/openai#track-your-own-ops) ガイドを参照してください。
