Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Rejestruje dane telemetryczne interfejsu OpenAI z przechwyconych żądań i odpowiedzi zgodnych z protokołem OpenAI.
Przykład konfiguracji
{
"$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"
}
}
Właściwości konfiguracji
| Majątek | Opis | Wartość domyślna |
|---|---|---|
application |
Nazwa aplikacji, która wysyła żądania. Zalogowano się w danych telemetrycznych w celu grupowania użycia przez aplikację. | default |
currency |
Waluta, w której są rejestrowane ceny. Wyświetlane na wykresach. | USD |
environment |
Środowisko, w którym działa aplikacja. Zalogowano się w danych telemetrycznych w celu grupowania użycia według środowiska. | development |
exporterEndpoint |
Adres URL punktu końcowego OpenTelemetry do wysłania danych. Musi być punktem końcowym HTTP Protobuf. | http://localhost:4318 |
includeCompletion |
Określa, czy należy uwzględnić uzupełnianie w danych telemetrycznych. | true |
includeCosts |
Określa, czy koszty mają być uwzględniane w danych telemetrycznych. Wymaga określenia pliku cen. | false |
includePrompt |
Określa, czy monit ma być uwzględniny w danych telemetrycznych. | true |
pricesFile |
Ścieżka do pliku z informacjami o cenach. | null |
Przykład pliku cen
{
"$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
}
}
}
Właściwości pliku cen
| Majątek | Opis | Wartość domyślna |
|---|---|---|
prices |
Ceny modeli. Kluczem jest nazwa modelu, a wartość jest obiektem cen modelu. | {} |
Obiekt cen modelu
Każdy obiekt cen modelu ma następujące właściwości:
| Majątek | Opis | Wymagane | Wartość domyślna | Przykładowa wartość |
|---|---|---|---|---|
input |
Cena za milion tokenów dla tokenów wejściowych/monitów. | tak | 0.0 |
0.03 |
output |
Cena za milion tokenów dla tokenów wyjściowych/ukończenia. | tak | 0.0 |
0.06 |
Opcje wiersza polecenia
Żaden
Uwagi
Usługa OpenAITelemetryPlugin rejestruje dane OpenTelemetry z żądań i odpowiedzi zgodnych z interfejsem OpenAI i odpowiedzi, które przechwytuje. Bez konieczności instrumentowania aplikacji za pomocą biblioteki OpenTelemetry możesz szybko zrozumieć, jak aplikacja korzysta z dużych modeli językowych. Ponadto, jeśli podasz plik cen dla używanych modeli, możesz również zobaczyć koszty związane z usługą LLM, które są naliczane przez aplikację.
Dla każdego przechwyconego żądania i odpowiedzi wtyczka rejestruje zakres. Ponadto rejestruje trzy metryki:
-
gen_ai.client.token.usage— liczba tokenów używanych w żądaniu i odpowiedzi -
gen_ai.usage.cost— koszt tokenów używanych w żądaniu i odpowiedzi -
gen_ai.usage.total_cost— całkowity koszt wszystkich żądań w trakcie sesji
Ważne
Metryki kosztów są rejestrowane tylko w przypadku ustawienia includeCosts właściwości na true wartość i dostarczenia pliku cen. W przeciwnym razie wtyczka nie rejestruje metryk.
Aby wyświetlić zarejestrowane dane telemetryczne, możesz użyć dowolnego pulpitu nawigacyjnego zgodnego z technologią OpenTelemetry. Możesz na przykład użyć pulpitu nawigacyjnego platformy .NET Aspire lub interfejsu OpenLIT.
Ważne
Aby wyświetlić dane, uruchom pulpit nawigacyjny przed wydaniem żądania zgodnego z interfejsem OpenAI. W przeciwnym razie nie ma modułu zbierającego OpenTelemetry do odbierania danych wysyłanych przez wtyczkę.