LLM API Tester
API-интерфейсы моделей вызовов, завершения чата и ответов прямо из этого браузера. Ключи, подсказки и ответы не проходят через ComUtil.
Профиль конечной точки
Связь
Пути к конечным точкам и пользовательские заголовки
Пользовательские заголовки
Запрос
Сообщения
Дополнительное тело JSON
Добавьте поля, специфичные для поставщика. Поля управляемой формы не могут быть переопределены.
Запросить предварительный просмотр
{}
Инспектор реагирования
Целевой поставщик получает запрос напрямую. Расширения браузера и сценарии этого источника по-прежнему могут читать localStorage.
Пользовательские и локальные конечные точки должны разрешать происхождение этой страницы, заголовки авторизации и типа контента, а также запросы OPTIONS.
Запросы на неподдерживаемые ответы сообщаются как есть и никогда не повторяются через функцию завершения чата.
Тестер LLM API отправляет настоящий запрос к эндпоинту модели и показывает ровно то, что вернулось: HTTP-статус, токены по мере их поступления, сырой журнал событий и данные об использовании от провайдера. Он работает в браузере, поэтому запрос идёт с вашей машины прямо на указанный эндпоинт, минуя промежуточный сервер, которому пришлось бы хранить ваш ключ.
Сохраните профиль с базовым URL, моделью и учётными данными, затем отправьте запрос в режиме Chat Completions или Responses. Браузер обращается к эндпоинту напрямую, показывает server-sent events по мере поступления и измеряет время до первого токена вместе с общим временем. Профили и ключи остаются в локальном хранилище этого браузера, а сгенерированная команда curl заменяет API-ключ и значения пользовательских заголовков плейсхолдерами, поэтому её можно вставить в тикет.
- Проверить, отвечает ли новый API-ключ, базовый URL или маршрут шлюза, до встраивания в код
- Сравнить время до первого токена и число токенов в секунду у разных моделей или провайдеров
- Проверить, действительно ли прокси перед моделью передаёт ответ потоком, а не буферизует его целиком
- Воспроизвести ответ 4xx с теми же заголовками, что отправляет ваш клиент
- Передать коллеге команду curl без секретов, которая воспроизводит запрос
- HTTP-статус и заголовки ответа, которые вернул эндпоинт
- Время до первого токена, общее время и токенов в секунду
- Данные об использовании, о которых сообщил провайдер
- Сырой журнал потоковых событий, а не только собранный ответ
- Команда curl со скрытыми API-ключом и значениями пользовательских заголовков
https://api.openai.com/v1 + gpt-4o-mini
200 OK, первый токен через 480 мс, 62 токена в секунду
X-Private-Test: HEADER-SECRET
Отправляется с запросом, но скрыт в выводе curl
stream: true
В сыром журнале видно каждое дельта-событие по мере поступления
Попадает ли мой API-ключ на сервер ComUtil?
Нет. Запрос идёт из вашего браузера на указанный вами эндпоинт, а ключ хранится в локальном хранилище этого браузера. Очистка данных сайта удаляет его.
С какими API он работает?
С любым OpenAI-совместимым эндпоинтом, где есть Chat Completions или Responses, включая собственные шлюзы и прокси, если формат запроса и ответа тот же.
Почему запрос падает с сетевой ошибкой, хотя ключ верный?
Для запроса из браузера провайдер должен разрешать кросс-доменные вызовы. Если эндпоинт не отправляет заголовки CORS, браузер блокирует ответ ещё до того, как его увидит ваш код. Поставьте перед моделью шлюз, который возвращает заголовки CORS, или выполните ту же команду curl в терминале.
Это настоящая потоковая передача?
Да. Server-sent events отображаются по мере поступления, а сырой журнал сохраняет каждое событие, поэтому настоящий поток легко отличить от буферизованного ответа, который лишь выглядит постепенным.
Как безопасно поделиться неудачным запросом?
Скопируйте сгенерированную команду curl. API-ключ и значения пользовательских заголовков заменяются плейсхолдерами, поэтому команда показывает структуру запроса, не раскрывая учётные данные.