API
Серверные инструменты
Серверные инструменты исполняет AITUNNEL, не ваш код. Модель решает, вызвать ли инструмент; мы выполняем его и возвращаем результат модели.
Префикс типа — aitunnel:. Сейчас доступен один: веб-поиск.
Чем отличаются
| Серверные | Плагины | Ваши tools | |
|---|---|---|---|
| Кто решает вызвать | Модель | Всегда один раз | Модель |
| Кто исполняет | AITUNNEL | AITUNNEL | Ваше приложение |
| Сколько раз | 0–N за запрос | Один раз | 0–N за запрос |
| Где задаются | массив tools | массив plugins | массив tools |
| Тип | aitunnel:… | не tools | function |
Плагин — например оптимизация сообщений (context-compression). Ваши функции — вызов инструментов.
Доступные
Как это работает
- Кладёте серверный инструмент в
tools. - Модель по промпту решает, звать ли его и с какими аргументами.
- AITUNNEL исполняет вызов и отдаёт результат модели.
- Модель отвечает. Может вызвать инструмент ещё раз в том же запросе.
Можно смешивать с вашими function-tools в одном массиве: серверные исполняем мы, пользовательские — вы, как обычно.
curl https://api.aitunnel.ru/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-aitunnel-xxx" \
-d '{
"model": "gpt-5.4",
"messages": [
{ "role": "user", "content": "Какие главные анонсы в ИИ на этой неделе?" }
],
"tools": [{ "type": "aitunnel:web_search" }]
}'Вместе с вашей функцией:
JSON
{
"model": "gpt-5.4",
"messages": [{ "role": "user", "content": "Найди новости про Apple и сравни с нашей котировкой" }],
"tools": [
{ "type": "aitunnel:web_search", "parameters": { "max_results": 3 } },
{
"type": "function",
"function": {
"name": "get_stock_price",
"description": "Текущая цена акции по тикеру",
"parameters": {
"type": "object",
"properties": { "ticker": { "type": "string" } },
"required": ["ticker"]
}
}
}
]
}Учёт
Фактические вызовы — в usage.server_tool_use. Платите за то, что модель реально вызвала, а не за сам факт передачи инструмента.
JSON
{
"usage": {
"prompt_tokens": 105,
"completion_tokens": 250,
"server_tool_use": {
"web_search_requests": 2
}
}
}