> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-feature-automate-reference-docs-generation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Costs

## カスタムコストを追加する

<Tabs>
  <Tab title="Python">
    以下のメソッドを使用してカスタムコストを追加できます[`add_cost`](/reference/python-sdk/weave/trace/weave.trace.weave_client#method-add_cost)必要な3つのフィールドは`llm_id`、`prompt_token_cost`、および`completion_token_cost`です。

    `llm_id`はLLMの名前です（例：`gpt-4o`）。`prompt_token_cost`と`completion_token_cost`はLLMのトークンあたりのコストです（LLMの価格が100万トークンあたりで指定されている場合は、値を変換してください）。
    また、`effective_date`を日時に設定して、特定の日付でコストを有効にすることもできます。これはデフォルトで現在の日付になります。

    ```python
    import weave
    from datetime import datetime

    client = weave.init("my_custom_cost_model")

    client.add_cost(
        llm_id="your_model_name",
        prompt_token_cost=0.01,
        completion_token_cost=0.02
    )

    client.add_costs(
        llm_id="your_model_name",
        prompt_token_cost=10,
        completion_token_cost=20,
        # If for example I want to raise the price of the model after a certain date
        effective_date=datetime(2025, 4, 22),
    )
    ```
  </Tab>

  <Tab title="TypeScript">
    ```plaintext
    This feature is not available in TypeScript yet.  Stay tuned!
    ```
  </Tab>
</Tabs>

## コストを照会する

<Tabs>
  <Tab title="Python">
    以下のメソッドを使用してコストを照会できます[`query_costs`](/reference/python-sdk/weave/trace/weave.trace.weave_client#method-query_costs)コストを照会する方法はいくつかあります。単一のコストIDを渡すか、LLMモデル名のリストを渡すことができます。

    ```python
    import weave

    client = weave.init("my_custom_cost_model")

    costs = client.query_costs(llm_ids=["your_model_name"])

    cost = client.query_costs(costs[0].id)
    ```
  </Tab>

  <Tab title="TypeScript">
    ```plaintext
    This feature is not available in TypeScript yet.  Stay tuned!
    ```
  </Tab>
</Tabs>

## カスタムコストを削除する

<Tabs>
  <Tab title="Python">
    以下のメソッドを使用してカスタムコストを削除できます[`purge_costs`](/reference/python-sdk/weave/trace/weave.trace.weave_client#method-purge_costs)コストIDのリストを渡すと、それらのIDを持つコストが削除されます。

    ```python
    import weave

    client = weave.init("my_custom_cost_model")

    costs = client.query_costs(llm_ids=["your_model_name"])
    client.purge_costs([cost.id for cost in costs])
    ```
  </Tab>

  <Tab title="TypeScript">
    ```plaintext
    This feature is not available in TypeScript yet.  Stay tuned!
    ```
  </Tab>
</Tabs>

## プロジェクトのコストを計算する

<Tabs>
  <Tab title="Python">
    私たちの`calls_query`を使用し、`include_costs=True`を少しのセットアップで追加することで、プロジェクトのコストを計算できます。

    ```python
    import weave

    weave.init("project_costs")
    @weave.op()
    def get_costs_for_project(project_name: str):
        total_cost = 0
        requests = 0

        client = weave.init(project_name)
        # Fetch all the calls in the project
        calls = list(
            client.get_calls(filter={"trace_roots_only": True}, include_costs=True)
        )

        for call in calls:
            # If the call has costs, we add them to the total cost
            if call.summary["weave"] is not None and call.summary["weave"].get("costs", None) is not None:
                for k, cost in call.summary["weave"]["costs"].items():
                    requests += cost["requests"]
                    total_cost += cost["prompt_tokens_total_cost"]
                    total_cost += cost["completion_tokens_total_cost"]

        # We return the total cost, requests, and calls
        return {
            "total_cost": total_cost,
            "requests": requests,
            "calls": len(calls),
        }

    # Since we decorated our function with @weave.op(),
    # our totals are stored in weave for historic cost total calculations
    get_costs_for_project("my_custom_cost_model")
    ```
  </Tab>

  <Tab title="TypeScript">
    ```plaintext
    This feature is not available in TypeScript yet.  Stay tuned!
    ```
  </Tab>
</Tabs>

## カスタムコストでカスタムモデルを設定する

私たちのクックブックを試してください[カスタムモデルでコストを設定する](/ja/cookbooks/custom_model_cost)または<a href="https://colab.research.google.com/github/wandb/weave/blob/master/docs/./notebooks/custom_model_cost.ipynb" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link button button--secondary button--med margin-right--sm notebook-cta-button"><div><img src="https://upload.wikimedia.org/wikipedia/commons/archive/d/d0/20221103151430%21Google_Colaboratory_SVG_Logo.svg" alt="Open In Colab" height="20px" /><div>Open in Colab</div></div></a>
