Sdílet prostřednictvím


OpenAITelemetryPlugin

Zaznamenává telemetrická data OpenAI z zachycených požadavků a odpovědí kompatibilních s OpenAI.

Snímek obrazovky řídicího panelu .NET Aspire zobrazující telemetrická data OpenAI

Snímek obrazovky řídicího panelu OpenLIT zobrazující telemetrická data OpenAI

Příklad konfigurace

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAITelemetryPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "openAITelemetryPlugin"
    }
  ],
  "openAITelemetryPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/openaitelemetryplugin.schema.json",
    "application": "My app",
    "includeCosts": true,
    "pricesFile": "prices.json"
  }
}

Vlastnosti konfigurace

Vlastnictví Popis Výchozí
application Název aplikace, která vydává požadavky. Protokolovaná telemetrická data pro seskupení využití podle aplikace. default
currency Měna, ve které se ceny protokolují. Zobrazí se v grafech. USD
environment Prostředí, ve kterém je aplikace spuštěná. Protokolovaná telemetrická data pro seskupení využití podle prostředí. development
exporterEndpoint Adresa URL koncového bodu OpenTelemetry pro odesílání dat. Musí to být koncový bod HTTP Protobuf. http://localhost:4318
includeCompletion Určuje, jestli se má dokončení zahrnout do telemetrických dat. true
includeCosts Zda zahrnout náklady do telemetrických dat. Vyžaduje zadání souboru s cenami. false
includePrompt Určuje, jestli se má výzva zahrnout do telemetrických dat. true
pricesFile Cesta k souboru s informacemi o cenách null

Příklad souboru s cenami

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.0.0/openaitelemetryplugin.pricesfile.schema.json",
  "prices": {
    "gpt-3.5-turbo": {
      "input": 0.0015,
      "output": 0.002
    },
    "gpt-4": {
      "input": 0.03,
      "output": 0.06
    }
  }
}

Ceny vlastností souboru

Vlastnictví Popis Výchozí
prices Ceny pro modely. Klíč je název modelu a hodnota je objekt ceny modelu. {}

Objekt cen modelů

Každý objekt cen modelu má následující vlastnosti:

Vlastnictví Popis Povinné Výchozí hodnota Ukázková hodnota
input Cena za milion tokenů pro vstupní a příkazové tokeny. Ano 0.0 0.03
output Cena za milion tokenů pro tokeny výstupu/dokončení. Ano 0.0 0.06

Možnosti příkazového řádku

Žádné

Poznámky

OpenAITelemetryPlugin protokoluje data OpenTelemetry z požadavků kompatibilních s OpenAI a odpovědí, které zachytí. Aniž byste museli instrumentovat aplikaci pomocí OpenTelemetry, můžete rychle pochopit, jak vaše aplikace používá velké jazykové modely. Pokud navíc zadáte soubor s cenami pro používané modely, uvidíte také náklady související s LLM, které vaše aplikace způsobuje.

Pro každou zachycenou žádost a odpověď protokoluje modul plug-in rozsah. Kromě toho protokoluje tři metriky:

  • gen_ai.client.token.usage – počet tokenů použitých v požadavku a odpovědi
  • gen_ai.usage.cost – náklady na tokeny použité v požadavku a odpovědi
  • gen_ai.usage.total_cost – celkové náklady na všechny žádosti v průběhu relace

Důležité

Metriky nákladů se protokolují pouze v případě, že vlastnost includeCosts nastavíte true a poskytnete soubor cen. Jinak modul plug-in metriky nezapíše.

K zobrazení zaznamenaných telemetrických dat můžete použít libovolný řídicí panel kompatibilní s OpenTelemetry. Můžete například použít řídicí panel .NET Aspire nebo OpenLIT.

Důležité

Pokud chcete zobrazit data, spusťte řídicí panel před vydáním požadavku kompatibilního s OpenAI. Jinak neexistuje žádný kolektor OpenTelemetry pro příjem dat, která modul plug-in odesílá.

Další krok