Опять занимался ботом для ULCAMP. Добавил ему возможность устанавливать, показывать и удалять напоминания, а также отправлять сообщения в поддержку.



Изучал, как работает передача и запуск функций модели (сегодня был Claude). Оказалось, всё довольно просто. Функции описываются текстом, указывается, какие параметры им нужны для работы:



{

"name": "set_reminder",

"description": "Add reminder for the user to the database. In case he asks that he wants to go to some event or use a bus or any other activity connected to time. Date time format is YYYY-MM-DD HH:MM:SS",

"input_schema": {

"type": "object",

"properties": {"message": {"type": "string"}, "event": {"type": "string"}, "date-time": {"type": "string"}},

},



},

{

"name": "delete_reminder",

"description": "Delete reminder for the user. Reminder id is two digits number in string format like 01 or 22",

"input_schema": {

"type": "object",

"properties": {"reminder_id": {"type": "string"}},

},

}



Далее это описание передаётся модели вместе с промптом, и она понимает, что может применить эти функции по необходимости. Соответственно, если она решает, что надо запустить функцию в процессе генерации - она останавливается и передает ответ о необходимости запуска и предоставляет параметры.



Функцию я запускаю сам, и дальше у меня есть выбор - либо сразу предоставить результат работы пользователю, либо вернуть результат обратно и дождаться нового сгенерированного ответа. Работает довольно чётко.



Бот если что здесь, но в процессе тестирования.



@sergiobulaev - об AI и не только.