Вызов инструментов
Прокси принимает определения OpenAI tools / function. Многие хосты Gonka уже отдают нативные tool calls. Если нет, и на сервере включён SIMULATE_TOOL_CALLS, прокси переписывает запрос в структурированный промпт и разбирает JSON обратно в tool_calls.
Этот флаг вы сами не переключаете. С клиента отправляйте обычный payload с tools.
response = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V4-Flash-0731",
messages=[{"role": "user", "content": "What's the weather in Berlin?"}],
tools=[{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get current weather for a location",
"parameters": {
"type": "object",
"properties": {"location": {"type": "string"}},
"required": ["location"],
},
},
}],
)
print(response.choices[0].message.tool_calls[0].function.arguments)Цикл
- Модель возвращает
tool_calls - Вы выполняете функцию
- Отправляете сообщение
role: toolсtool_call_id - Повторяете, пока
contentне станет финальным ответом
DeepSeek и инструменты
Если токены рассуждения утекают в content, парсеры в Cursor / OpenCode ломаются. Включите совместимость reasoning для DeepSeek в настройках.
Это не MCP
type: "function" — ваши инструменты на стороне клиента. type: "mcp" — удалённый сервер, который вызывает прокси. См. MCP. { "type": "web_search" } тоже забирает прокси — см. Веб-поиск. { "type": "deep_research" } — цикл исследования, см. Глубокое исследование.