Сложно выбрать подходящую большую языковую модель (БЯМ) для решения конкретной задачи, не протестировав один и тот же запрос на нескольких моделях. У каждого провайдера есть своя учетная запись, ключ API и часто собственный SDK, поэтому для того, чтобы протестировать Claude, DeepSeek и модель с открытым исходным кодом, потребуется много времени на подготовку.
В этом руководстве мы подключим пять разных моделей через одну конечную точку, совместимую с OpenAI, и запустим небольшой скрипт на Python, который отправит одно и то же сообщение каждой из них, чтобы мы могли сравнить их ответы, время отклика и использование токенов.
Все протестировано на компьютере с Linux. Приведенные ниже команды установки используют apt для Debian и Ubuntu. В Fedora и RHEL вместо этого используйте dnf.
Одна конечная точка, множество моделей
В этом руководстве мы будем использовать AI/ML API, агрегатор API, который предоставляет доступ к моделям OpenAI, Anthropic, DeepSeek, xAI, Z.ai и других разработчиков через одну конечную точку, совместимую с OpenAI, по адресу https://api.aimlapi.com/v1.
Поскольку используется протокол OpenAI, вы можете установить стандартный Python SDK OpenAI, указать в качестве base_url эту конечную точку и переключаться между моделями, изменив одну строку.
5 моделей, использованных в этом руководстве:
| Модель | Разработчик | Идентификатор модели | Цена за 1 млн токенов (вход / выход) |
|---|---|---|---|
| Claude Sonnet 5 | Anthropic | anthropic/claude-sonnet-5 | $2.60 / $13.00 |
| DeepSeek V4 Pro | DeepSeek | deepseek/deepseek-v4-pro | $0.57 / $1.13 |
| DeepSeek V4 Flash | DeepSeek | deepseek/deepseek-v4-flash | $0.39 / $1.56 |
| Grok Build 0.1 | xAI | x*-ai/grok-build-0-1 | $1.30 / $2.60 |
| GLM 5.2 | Z.ai | zhipu/glm-5-2 | $1.82 / $5.72 |
⚠️ Что нужно знать, прежде чем платить за агрегаторы API
Агрегаторы API могут быть удобным способом тестирования нескольких моделей через единый интерфейс, но будьте осторожны, прежде чем использовать их в продакшене или брать на себя значительные финансовые обязательства.
Начните с самого маленького депозита, доступного на данный момент, и отключите автоматическое пополнение, пока не будете уверены в надежности сервиса. Проверьте задержку и надежность при работе с реальной нагрузкой и тщательно сверьте использование токенов с выставленными счетами.
Важно: в документации AI/ML API, опубликованной в сентябре 2026 года, прямо указано, что пополнения не подлежат возврату, а доступные пополнения начинаются от 20 долларов. В Условиях использования четко прописано, что все покупки являются окончательными и не подлежат возврату.
Мы настоятельно рекомендуем вам ознакомиться со страницами Условий использования, Аккаунта и оплаты и Планов перед внесением средств.
Теперь давайте сравним несколько больших языковых моделей с помощью API искусственного интеллекта и машинного обучения в Linux.
Необходимые условия
Вам понадобится Python 3.9 или более новая версия, pip и ключ API. В Debian или Ubuntu для их установки выполните следующую команду:
sudo apt install python3 python3-venv python3-pip
Создайте ключ на панели управления API искусственного интеллекта и машинного обучения на странице с ключами API.
Оплата осуществляется по факту использования. На панели управления есть веб-площадка, где можно протестировать модель, прежде чем использовать ее в скриптах.
Шаг 1. Создайте изолированную среду
Установите SDK в виртуальной среде, а не на уровне всей системы:
mkdir llm-compare && cd llm-compare python3 -m venv .venv source .venv/bin/activate pip install openai
Затем экспортируйте ключ как переменную среды, чтобы он не был жестко прописан в скрипте:
export AIMLAPI_KEY="your_api_key_here"
Чтобы ключ не сохранился в истории вашей оболочки, добавьте эту строку в ~/.bashrc с помощью текстового редактора, а не вводите ее в командной строке.
Шаг 2. Проверка конечной точки с помощью Curl
Прежде чем писать какой-либо скрипт на Python, убедитесь, что конечная точка работает. Требуется стандартный POST-запрос в /v1/чат / completions с токеном на предъявителя:
curl https://api.aimlapi.com/v1/chat/completions
-H "Authorization: Bearer $AIMLAPI_KEY"
-H "Content-Type: application/json"
-d '{
"model": "deepseek/deepseek-v4-flash",
"messages": [{"role": "user", "content": "Reply with the single word: ok"}]
}'
Ответ представляет собой обычный JSON-файл OpenAI с ответом в choices[0].message.content и количеством использованных токенов. Если этот запрос работает, то и приведенный ниже скрипт тоже будет работать.
Шаг 3. Скрипт на Python для сравнения нескольких больших языковых моделей
Этот скрипт отправляет одну и ту же подсказку каждой модели из списка, измеряет время выполнения каждого запроса и выводит ответы один за другим. Сохраните его как compare_llms.py:
#!/usr/bin/env python3
"""compare_llms.py - отправить один запрос на несколько LLMs через Единый
OpenAI-совместимые конечные точки (Ма/мл API) и сравните ответы, задержки и жетоны."""
import os
import sys
import time
from openai import OpenAI
BASE_URL = os.environ.get("OPENAI_BASE_URL", "https://api.aimlapi.com/v1")
API_KEY = os.environ.get("AIMLAPI_KEY") or os.environ.get("OPENAI_API_KEY")
# Edit this list, or override it with the MODELS env var (comma-separated).
MODELS = os.environ.get(
"MODELS",
"anthropic/claude-sonnet-5,"
"deepseek/deepseek-v4-pro,"
"deepseek/deepseek-v4-flash,"
"x*-ai/grok-build-0-1,"
"zhipu/glm-5-2",
).split(",")
def main() -> int:
if not API_KEY:
sys.exit("Set AIMLAPI_KEY first (create a key at https://aimlapi.com/app/keys).")
prompt = " ".join(sys.argv[1:]) or "Explain what a Linux inode is, in two sentences."
client = OpenAI(base_url=BASE_URL, api_key=API_KEY)
print(f"Prompt: {prompt}n" + "=" * 60)
for raw in MODELS:
model = raw.strip()
if not model:
continue
start = time.perf_counter()
try:
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
)
except Exception as exc: # network, auth, unknown model, etc.
print(f"n### {model}n ERROR: {exc}")
continue
elapsed = time.perf_counter() - start
answer = (resp.choices[0].message.content or "").strip()
usage = resp.usage
tokens = f"{usage.prompt_tokens} in / {usage.completion_tokens} out" if usage else "n/a"
print(f"n### {model} ({elapsed:.2f}s, {tokens})n{answer}")
return 0
if __name__ == "__main__":
raise SystemExit(main())
Несколько замечаний по поводу дизайна:
- Список моделей берется из переменной окружения MODELS и по умолчанию включает 5 моделей, указанных выше. Вы можете отредактировать файл или запустить
MODELS="deepseek/deepseek-v4-flash,zhipu/glm-5-2" python3 compare_llms.pyбез внесения изменений в код. - Каждый запрос заключен в конструкцию try/except. При неправильном идентификаторе модели или сетевой ошибке выводится сообщение об ошибке для этой модели, и скрипт переходит к следующей.
- Скрипт выводит количество входных и выходных токенов из поля usage, чтобы вы могли умножить их на цены из приведенной выше таблицы и сравнить стоимость получения одного и того же ответа в разных моделях.
- Он не устанавливает температуру. В DeepSeek V4 Pro и Claude Sonnet 5 есть режимы мышления, а некоторые конфигурации логического вывода игнорируют или отклоняют параметры выборки. Если вам нужны более стабильные ответы от моделей, не использующих логический вывод, добавьте
temperature=0.3в вызов create().
Шаг 4. Запрос и сравнение нескольких больших языковых моделей
Передайте подсказку в качестве аргумента или запустите скрипт без аргументов, чтобы использовать подсказку по умолчанию:
python3 compare_llms.py "Explain what a Linux inode is, in two sentences."
В выводе модели перечислены одна за другой, каждая с указанием времени отклика и количества токенов. Вот результат нашего запуска 24 сентября 2026 года:
Prompt: Explain what a Linux inode is, in two sentences. ============================================================
### anthropic/claude-sonnet-5 (8.44s, 24 in / 126 out) An inode (index node) is a data structure on a filesystem that stores metadata about a file or directory—such as its size, permissions, ownership, timestamps, and pointers to the actual data blocks on disk—but notably does not store the file's name. Each file is linked to a unique inode via directory entries, allowing multiple filenames (hard links) to reference the same underlying data through a shared inode. ### deepseek/deepseek-v4-pro (4.65s, 95 in / 149 out) A Linux inode is a filesystem data structure that stores metadata about a file or directory, such as permissions, ownership, timestamps, and pointers to its data blocks. It does not store the file’s name or its actual content; instead, each inode is identified by a unique inode number within its filesystem. ### deepseek/deepseek-v4-flash (2.51s, 42 in / 279 out) An inode is a filesystem data structure that stores a file’s metadata—such as its type, permissions, ownership, timestamps, size, and pointers to data blocks—but not its name or actual data content. Every file has an inode number unique within its filesystem, and directory entries map human-readable filenames to those inode numbers, which is why hard links can share one inode. ### x*-ai/grok-build-0-1 (3.92s, 197 in / 323 out) In Linux, an inode is a data structure that stores metadata about a file or directory, such as its permissions, ownership, timestamps, size, and pointers to the data blocks on disk. It does not contain the file's name or its actual content; the filename is stored in the directory entry, which references the inode number. ### zhipu/glm-5-2 (15.70s, 24 in / 709 out) A Linux inode is a data structure that stores metadata about a file or directory, such as its permissions, owner, size, and physical location on the disk. It acts as the bridge between a file's human-readable name and its actual data blocks, notably excluding the file name itself, which is instead stored in the directory structure.
Время выполнения и количество токенов будут отличаться в каждом заезде, но есть несколько общих моментов. Все 5 моделей дали правильный ответ из двух предложений. DeepSeek V4 Flash показал лучшее время — 2,51 секунды, а GLM 5.2 — худшее, 15,70 секунды.
Более полезными являются показатели количества токенов. Запрос был одинаковым для всех моделей, но количество входных данных варьируется от 24 до 197 токенов, поскольку каждая модель использует собственный токенизатор, а некоторые провайдеры могут добавлять в запрос собственные инструкции. Количество выходных данных варьируется еще сильнее. GLM 5.2 сгенерировала 709 выходных токенов для ответа, состоящего примерно из 60 слов. Скорее всего, это связано с тем, что это модель логического вывода, и токены, которые она тратит на размышления, учитываются как выходные данные.
Вот сколько стоил этот запрос для каждой модели, если исходить из цен, указанных в таблице выше:
| Модель | Токены (входящие / исходящие) | Стоимость этого запроса |
|---|---|---|
| DeepSeek V4 Pro | 95 / 149 | $0.00022 |
| DeepSeek V4 Flash | 42 / 279 | $0.00045 |
| Grok Build 0.1 | 197 / 323 | $0.0011 |
| Claude Sonnet 5 | 24 / 126 | $0.0017 |
| GLM 5.2 | 24 / 709 | $0.0041 |
У DeepSeek V4 Flash самая низкая цена на входные данные среди этих моделей. Однако в данном случае запрос обошелся в два раза дороже, чем DeepSeek V4 Pro, потому что модель выдала больше выходных токенов, а цена на них выше. Одних прайс-листов недостаточно для сравнения моделей, поэтому запускайте собственные запросы и проверяйте фактическое количество токенов.
Замените приглашение по умолчанию вашей собственной работой. Например, попросите модели объяснить ошибку, просмотрите сценарий командной строки или сгенерируйте конфигурационный файл.
Шаг 5: Что сравнивать и как выбирать модели.
Обычно три фактора решают, какую модель использовать.
- Задержка. Скрипт выводит его для каждого запроса. Запустите его несколько раз, потому что первый вызов модели часто выполняется медленнее остальных.
- Стоимость. У каждой модели своя цена за миллион токенов, и для длинных ответов цена вывода имеет наибольшее значение. Если вы отправляете тысячи запросов в день, выбирайте самую дешевую модель, которая при этом достаточно хорошо справляется с вашей задачей. При таком объеме экономия быстро возрастает.
- Качество. Судить об этом можете только вы, и, рассматривая ответы рядом, сделать это проще.
Вот что отличает каждую модель.
- Claude Sonnet 5 — это модель Anthropic для кодирования и рабочих процессов с использованием агентов, выпущенная 30 июня 2026 года. В Anthropic утверждают, что она почти не уступает их топовой модели Opus, но стоит дешевле. В нашем тесте она дала наиболее подробный ответ с наименьшим количеством выходных токенов, но цена за токен у неё самая высокая в этом списке.
- DeepSeek V4 Pro — самая большая модель в нашем списке, с 1,6 трлн параметров. С августа 2026 года вы можете выбрать низкий, высокий или максимальный уровень сложности, чтобы одна модель справлялась как с быстрыми ответами, так и с более сложными задачами. Кроме того, это был самый дешевый запрос в нашем тесте.
- DeepSeek V4 Flash создана для скорости. Она активирует только 13 из 284 миллиардов параметров за запрос и стала самой быстрой моделью в нашем тесте — 2,51 секунды. Она подходит для задач с большим объемом данных, где быстрый ответ важнее глубины.
- Grok Build 0.1 — единственная модель в этом списке, обученная специально для агентов-кодировщиков, с поддержкой инструментов MCP. Компания xAI выпустила ее 29 мая 2026 года и заявляет, что она обрабатывает более 100 токенов в секунду. Компания xAI пока не опубликовала результаты тестирования.
- GLM 5.2 — единственная модель с открытыми весами, выпущенная компанией Z.ai 16 июня 2026 года под лицензией MIT. Вы можете вызывать его через API или запускать на собственных серверах, если ваш код не должен покидать вашу инфраструктуру. Z.ai набрал 81,0 балла на Terminal-Bench 2.1. В нашем тесте это была самая медленная модель, которая использовала больше всего выходных токенов.
Чтобы добавить в сравнение другие модели, ищите их точные идентификаторы в каталоге моделей API AI/ML, а не гадайте наугад. Имена и версии меняются, а неправильный идентификатор приводит к тому, что скрипт выводит ошибку для этой строки.
Шаг 6. Превратите скрипт в вспомогательную функцию оболочки
Когда скрипт заработает, оберните его в функцию оболочки, чтобы его можно было вызывать из любого каталога. Добавьте это в свой ~/.bashrc:
askall() {
( cd ~/llm-compare && source .venv/bin/activate && python3 compare_llms.py "$@" )
}
Перезагрузите файл с помощью команды:
source ~/.bashrc
Теперь askall "review this regex: ^d{3}-d{4}$" отправляет вопрос всем 5 моделям из любой точки терминала.
Вывод
С помощью одной конечной точки, совместимой с OpenAI, виртуальной среды и короткого скрипта на Python вы можете протестировать Claude Sonnet 5, DeepSeek V4 Pro и Flash, Grok Build 0.1 и GLM 5.2 на собственных запросах из терминала Linux.
Часто задаваемые вопросы
Ответ: нет. Скрипт отправляет каждый запрос на одну конечную точку, совместимую с OpenAI, поэтому один ключ API для искусственного интеллекта и машинного обучения подходит для всех 5 моделей, описанных в этом руководстве. Вам не нужны учетные записи в Anthropic, DeepSeek, xAI или Z.ai, и вы устанавливаете только один пакет Python — openai.
Ответ: чаще всего это происходит из-за неправильного или устаревшего идентификатора модели. Проверьте точный идентификатор на странице модели в каталоге API искусственного интеллекта и машинного обучения и обновите список MODELS. Другими причинами могут быть неверный ключ API (HTTP 401), пустой баланс или ограничение скорости (HTTP 429), которое обычно снимается после небольшого ожидания.
Ответ: Умножьте количество входных токенов на цену входных данных модели, а количество выходных токенов — на цену выходных данных, затем разделите каждое значение на 1 000 000. Например, в нашем тесте DeepSeek V4 Flash использовал 42 входных и 279 выходных токенов, что обошлось в (42 × 0,39 доллара + 279 × 1,56 доллара) / 1 000 000 долларов, или примерно в 0,00045 доллара.
а: да. Скрипт считывает конечную точку из переменной среды OPENAI_BASE_URL. Например, укажите http://localhost:11434/v1, чтобы запрашивать локальные модели в Ollama, и укажите их названия в переменной MODELS. Ollama игнорирует ключ API, но скрипт ожидает его наличия, поэтому укажите в переменной AIMLAPI_KEY любое значение.
Ответ: Только некоторые из них. GLM 5.2 опубликована с открытыми весами под лицензией MIT, но из-за 753 миллиардов параметров для нее нужен сервер с несколькими графическими процессорами. У Claude Sonnet 5 и Grok Build 0.1 нет открытых весов, поэтому их можно использовать только через API. Для локальных экспериментов на одном компьютере более практичным выбором будут меньшие по размеру открытые модели в Ollama.
О: Это сервис, который предоставляет одну конечную точку и один платежный аккаунт для множества моделей от разных поставщиков. Это удобно для тестирования и сравнения больших языковых моделей без необходимости управлять отдельными аккаунтами. Недостаток в том, что вы зависите от посредника в вопросах ценообразования, бесперебойной работы и точности выставления счетов.
О: AI/ML API — это функциональный сервис агрегации API, но разработчикам следует оценить его соответствие своим требованиям, прежде чем использовать в продакшене. Начните с малого и протестируйте сервис на своей реальной рабочей нагрузке.
О: В текущей документации AI/ML API указана минимальная сумма пополнения $20. Актуальные цены и варианты указаны на странице Планы подписки.
О: Согласно положениям и условиям использования AI/ML API, покупки являются окончательными и не подлежат возврату. В их справочном центре также указано, что пополнение счета не возвращается. Ознакомьтесь с положениями и условиями перед внесением средств.
Ответ: Безопаснее изначально оставить автоматическое пополнение отключенным. Сначала проверьте сервис, точность выставления счетов и фактическое использование. Вы можете просмотреть соответствующие настройки в разделе «Управление подпиской».
Ответ: Выполните небольшое количество контролируемых запросов к API, запишите модели и использование токенов и сравните ожидаемую стоимость с суммой, списанной с вашего счета. Не полагайтесь на указанную стоимость, пока не проверите ее самостоятельно.
О: Не делайте его единственной зависимостью в продакшене, пока не проверите его надежность, задержку, частоту ошибок и особенности выставления счетов в соответствии с вашей конкретной рабочей нагрузкой. Рассмотрите возможность использования резервного провайдера для критически важных приложений.
Ответ: Проверьте актуальные цены, правила возврата средств, настройки автоматического пополнения, доступность моделей, лимиты скорости, надежность API и особенности выставления счетов. Правила и цены могут меняться, поэтому перед внесением значительных средств ознакомьтесь с актуальной документацией.
Ответ: См. Условия использования API искусственного интеллекта и машинного обучения, Управление подпиской и Планы подписки.
