Основная идея
LLM-wrapper — программный слой вокруг модели, который превращает свободный LLM-вызов в управляемый pipeline.
Ключевые тезисы
- Управление API: timeout, retry и выбор модели.
- Классификация intent пользовательского запроса.
- Передача истории диалога.
- Выбор и шаблонизация системных и пользовательских промптов.
- Обработка ошибок модели.
- Управление параметрами генерации, включая temperature.
- Structured Output и Pydantic-валидация.
Как работает
Практика
Собрать собственный LLM-wrapper с классификацией intent, историей, Jinja2-шаблоном и Pydantic-моделями.
Ссылки
Главный вывод
Сначала нужно научиться контролировать один вызов LLM, а уже затем добавлять tools и автономность.
Вопросы
- Чем wrapper отличается от прямого вызова LLM?
- Что проверяет Pydantic и чего он проверить не может?
- Почему история диалога не равна долговременной памяти?