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

# LLM Call の自動トラッキングを制御する

> W&B Weave が OpenAI、Anthropic、その他の LLM ライブラリへの Call を自動的に記録する方法を制御します

アプリケーションで LLM プロバイダのライブラリ (OpenAI、Anthropic、Cohere、Mistral など) を使用している場合、Weave は自動パッチ適用によって LLM Call をトレースします。`weave.init()` を呼び出すと、Weave はサポート対象の LLM クライアントライブラリをインターセプト (パッチ適用) します。アプリケーションコードを変更する必要はありません。通常どおりプロバイダの SDK を使用するだけで、Weave が各リクエストを Weave Call として記録します。

このページでは、この動作をいつどのように変更するかを説明します。自動トラッキングを無効にする方法、特定のプロバイダのみに制限する方法、入力と出力を後処理する方法 (たとえば PII をマスクする場合) を扱います。

<div id="default-behavior">
  ## デフォルトの動作
</div>

デフォルトでは、Weave は `openai` や `anthropic` などの一般的な LLM ライブラリへの call を自動的にパッチしてトラッキングします。プログラムの開始時に `weave.init(...)` を呼び出し、それらのライブラリは通常どおり使用してください。これらの calls は、プロジェクトのトレースに表示されます。

<div id="configure-autopatching">
  ## 自動パッチ適用を設定する
</div>

以下のセクションでは、Python と TypeScript で自動パッチ適用を有効化、無効化、または微調整する方法を説明します。お使いの SDK に対応するタブを選択してください。

<Tabs>
  <Tab title="Python">
    <Warning>
      `autopatch_settings` 引数は非推奨です。暗黙的なパッチ適用を無効にするには `implicitly_patch_integrations=False` を使用するか、`patch_openai(settings={...})` のような特定のパッチ関数を呼び出してインテグレーションごとに設定してください。
    </Warning>

    Weave は、サポートされているすべてのインテグレーションに対して、デフォルトで暗黙的な自動パッチ適用を行います。

    暗黙的パッチ適用 (自動) : Weave は、ライブラリをいつ import したかに関係なく、自動的にパッチを適用します。

    ```python lines theme={null}
    # オプション 1: weave.init() の前に import する
    import openai
    import weave
    weave.init('your-team-name/your-project-name')  # OpenAI は自動的にパッチ適用されます。

    # オプション 2: weave.init() の後に import する
    import weave
    weave.init('your-team-name/your-project-name')
    import anthropic  # import hook により自動的にパッチ適用されます。
    ```

    暗黙的パッチ適用を無効にする: 明示的に制御したい場合は、自動パッチ適用をオフにできます。

    ```python lines theme={null}
    import weave

    # オプション 1: settings パラメーターを使用する
    weave.init('your-team-name/your-project-name', settings={'implicitly_patch_integrations': False})

    # オプション 2: 環境変数を使用する
    # スクリプトを実行する前に WEAVE_IMPLICITLY_PATCH_INTEGRATIONS=false を設定します

    # 暗黙的パッチ適用が無効な場合は、インテグレーションに明示的にパッチを適用する必要があります
    import openai
    weave.patch_openai()  # OpenAI のトレースに必要になります
    ```

    明示的パッチ適用 (手動) : より細かく制御するために、インテグレーションに明示的にパッチを適用できます。これは、暗黙的パッチ適用がオフの場合や、一部のプロバイダだけをトレースしたい場合に便利です。

    ```python lines theme={null}
    import weave
    weave.init('your-team-name/your-project-name')
    weave.integrations.patch_openai()  # OpenAI のトレースを有効化
    weave.integrations.patch_anthropic()  # Anthropic のトレースを有効化
    ```

    前述のコードを実行すると、Weave は明示的にパッチを適用したプロバイダのみをトレースします。

    ### 入力と出力を後処理する

    パッチ適用のオン/オフを切り替えるだけでなく、各呼び出しについて Weave が記録する内容を変換することもできます。パッチ関数に設定を渡すことで、Weave による入力と出力の記録方法をカスタマイズできます (たとえば、PII やシークレットをマスクする場合など) 。

    ```python lines theme={null}
    import weave.integrations

    def redact_inputs(inputs: dict) -> dict:
        if "email" in inputs:
            inputs["email"] = "[REDACTED]"
        return inputs

    weave.init(...)
    weave.integrations.patch_openai(
        settings={
            "op_settings": {"postprocess_inputs": redact_inputs}
        }
    )
    ```

    機密データの処理について詳しくは、[How to use Weave with PII data](/ja/weave/cookbooks/pii) を参照してください。
  </Tab>

  <Tab title="TypeScript">
    TypeScript SDK で自動パッチ適用をサポートしているのは OpenAI と Anthropic のみです。Weave は Weave を import すると OpenAI にパッチを適用し、追加の設定は必要ありません。

    また、TypeScript SDK では以下はサポートされていません。

    * 自動パッチ適用の設定や無効化
    * 入力と出力の後処理

    自動パッチ適用が機能しないエッジケース (ESM、Next.js などのバンドラー) では、Weave が OpenAI クライアントを確実にトレースできるよう、明示的なラップを使用してください。

    ```typescript twoslash theme={null}
    // @noErrors
    import OpenAI from 'openai'
    import * as weave from 'weave'
    import { wrapOpenAI } from 'weave'

    const client = wrapOpenAI(new OpenAI())
    await weave.init('your-team-name/your-project-name')
    ```

    ESM のセットアップとトラブルシューティングについて詳しくは、[TypeScript SDK Integration Guide](/ja/weave/guides/integrations/js) を参照してください。
  </Tab>
</Tabs>
