tg@ituzov_funinst@ituzov.fun
LLMdeepseek/deepseek-chat
tool_callROUTER
Разбирает ответ модели и направляет вызов к нужному инструменту
// модель вернула tool_calls - направляем вызов
const { name, arguments } = toolCall.function
// ищем инструмент по имени
const tool = tools[name]
// строка с аргументами → объект
const args = JSON.parse(arguments)
// вызываем и ждём результат
const result = await tool.fn(args)
get_timeTOOL
ОПИСАНИЕ ДЛЯ МОДЕЛИ
Возвращает текущее время и дату для заданной временной зоны
💡Обычная функция в коде приложения. Модель не выполняет её сама - она выбирает инструмент по имени через роутер, тот вызывает функцию с аргументами, а результат возвращается обратно модели.
принимаетtimezone?: string
timezone: string · необязательный - Название временной зоны IANA, например "Europe/Moscow". По умолчанию UTC.
КОД ФУНКЦИИвыполняется на сервере
async function getTime({
  timezone = 'UTC',
}: {
  timezone?: string
}) {
  const date = new Date()
  return {
    time: date.toLocaleTimeString('en-US', {
      timeZone: timezone,
    }),
    date: date.toLocaleDateString('en-US', {
      timeZone: timezone,
    }),
    timezone,
  }
}
get_randomTOOL
ОПИСАНИЕ ДЛЯ МОДЕЛИ
Возвращает случайное целое число в диапазоне от min до max (включительно)
💡Обычная функция в коде приложения. Модель не выполняет её сама - она выбирает инструмент по имени через роутер, тот вызывает функцию с аргументами, а результат возвращается обратно модели.
принимаетmin?: number, max?: number
min: number · необязательный - Нижняя граница. По умолчанию 0.
max: number · необязательный - Верхняя граница. По умолчанию 100.
КОД ФУНКЦИИвыполняется на сервере
async function getRandom({
  min = 0,
  max = 100,
}: {
  min?: number
  max?: number
}) {
  const value =
    Math.floor(Math.random() * (max - min + 1)) + min
  return { value, min, max }
}
get_weatherTOOL
ОПИСАНИЕ ДЛЯ МОДЕЛИ
Возвращает текущую погоду для города через Open-Meteo API (ключ не нужен)
💡Обычная функция в коде приложения. Модель не выполняет её сама - она выбирает инструмент по имени через роутер, тот вызывает функцию с аргументами, а результат возвращается обратно модели.
принимаетcity: string
city: string · обязательный - Название города, например "Москва" или "Нью-Йорк"
КОД ФУНКЦИИвыполняется на сервере
async function getWeather({
  city,
}: {
  city: string
}) {
  const geo = await fetch(
    `https://geocoding-api.open-meteo.com/v1/search` +
    `?name=${city}&count=1&language=ru`
  ).then(r => r.json())
  const { latitude, longitude, name } = geo.results[0]
  const res = await fetch(
    `https://api.open-meteo.com/v1/forecast` +
    `?latitude=${latitude}&longitude=${longitude}` +
    `&current=temperature_2m,weathercode,windspeed_10m`
  ).then(r => r.json())
  return { city: name, ...res.current }
}
React Flow
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.