Внедряем единый тул-канал для локального LiteRT и удалённого LLM-клиента

This commit is contained in:
2026-09-02 02:42:00 +03:00
parent d5e60a2565
commit edf7cf63f6
8 changed files with 626 additions and 99 deletions
@@ -246,8 +246,11 @@ class PhoneApp : Application() {
).also { toolkit = it }
return Assistant(
chatDao = chatDao,
chat = { history, system -> llm.chat(history, system) },
chat = { history, toolSpecs, system -> llm.chatWithTools(history, toolSpecs, system) },
toolkit = tk,
// Нативный тул-канал LiteRT: только локальная модель видит схемы
// тул у движка; системный промпт тогда без текстовых TOOL_CALL-линий.
nativeTools = choice == LlmModelChoice.LOCAL,
// Локальной модели нужно время: инициализация движка ~17с на
// CPU + генерация. Серверная укладывается в 30с, локальной
// даём 5 минут (иначе withTimeoutOrNull режет генерацию).