Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Записывает данные телеметрии OpenAI из перехватанных запросов и ответов, совместимых с OpenAI.
Пример конфигурации
{
"$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"
}
}
Свойства конфигурации
| Недвижимость | Описание | По умолчанию |
|---|---|---|
application |
Имя приложения, которое выдает запросы. Вошедший в данные телеметрии для группирования использования по приложению. | default |
currency |
Валюта, в которой регистрируются цены. Отображается на диаграммах. | USD |
environment |
Среда, в которой выполняется приложение. Вошедший в данные телеметрии для группирования использования по среде. | development |
exporterEndpoint |
URL-адрес конечной точки OpenTelemetry для отправки данных. Должен быть конечной точкой HTTP Protobuf. | http://localhost:4318 |
includeCompletion |
Следует ли включить завершение в данные телеметрии. | true |
includeCosts |
Следует ли включать затраты в данные телеметрии. Требуется указать файл цен. | false |
includePrompt |
Следует ли включить запрос в данные телеметрии. | true |
pricesFile |
Путь к файлу со сведениями о ценах. | null |
Пример файла цен
{
"$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
}
}
}
Свойства файла цен
| Недвижимость | Описание | По умолчанию |
|---|---|---|
prices |
Цены на модели. Ключом является имя модели, а значением является объект цен модели. | {} |
Объект цен модели
Каждый объект цен на модель имеет следующие свойства:
| Недвижимость | Описание | Обязательно | Значение по умолчанию | Примерное значение |
|---|---|---|---|---|
input |
Цена за миллион токенов для маркеров ввода и запроса. | да | 0.0 |
0.03 |
output |
Цена за миллион токенов для маркеров вывода и завершения. | да | 0.0 |
0.06 |
Параметры командной строки
Отсутствует
Замечания
Данные OpenAITelemetryPlugin регистрируют данные OpenTelemetry из запросов и ответов, совместимых с OpenAI, которые он перехватывает. Без необходимости инструментировать приложение с помощью OpenTelemetry, вы можете быстро понять, как приложение использует большие языковые модели. Кроме того, если вы предоставляете файл цен для используемых моделей, вы также можете увидеть затраты, связанные с LLM, которые ваше приложение несет.
Для каждого перехвата запроса и ответа подключаемый модуль регистрирует диапазон. Кроме того, он регистрирует три метрики:
-
gen_ai.client.token.usage— количество маркеров, используемых в запросе и ответе -
gen_ai.usage.cost— стоимость маркеров, используемых в запросе и ответе -
gen_ai.usage.total_cost— общая стоимость всех запросов на протяжении сеанса
Это важно
Метрики затрат регистрируются только в том случае, если для свойства includeCosts задано true значение и указан файл цен. В противном случае подключаемый модуль не регистрирует метрики.
Для просмотра записанных данных телеметрии можно использовать любую панель мониторинга, совместимую с OpenTelemetry. Например, можно использовать панель мониторинга .NET Aspire или OpenLIT.
Это важно
Чтобы просмотреть данные, запустите панель мониторинга перед отправкой запроса, совместимого с OpenAI. В противном случае сборщик OpenTelemetry не получает данные, отправляемые подключаемым модулем.