Проект: Text-to-SQL

Интеллектуальная система преобразования вопросов на естественном языке в SQL-запросы

Задачи проекта:

Разработка системы, которая:

Описание проекта:

Text-to-SQL — это система, которая позволяет пользователям задавать вопросы о составах команд НБА (например, «На какой команде играет Клэй Томпсон?») и получать точные ответы на русском языке. Система использует модель GPT-4o-mini и фреймворк LangChain для генерации SQL-запросов, их выполнения в базе данных SQLite и формирования естественных ответов. Поддержка памяти позволяет обрабатывать связанные вопросы (например, «Какова его зарплата?»).

Архитектура решения

Общая архитектура

Система построена на трех основных компонентах:

Ключевые компоненты

LangChain Pipeline

  • Создание промптов для SQL и ответов.
  • Цепочки для обработки вопросов и результатов.
  • Интеграция памяти для контекста.

OpenAI GPT-4o-mini

  • Генерация SQL-запросов.
  • Преобразование результатов в естественные ответы.
  • Обработка контекстных вопросов.

SQLite Database

  • Хранение данных о составах НБА.
  • Предоставление схемы для LLM.
  • Выполнение сгенерированных запросов.

Технический стек

Особенности реализации

Модульность

  • Разделение на логические блоки (SQL, ответы, база данных).
  • Легкая замена компонентов (например, другой LLM).

Надежность

  • Обработка ошибок для всех операций.
  • Валидация SQL через sqlparse.

Производительность

  • Оптимизация запросов через LangChain.
  • Ограничение токенов в LLM.

Логирование

  • Запись всех операций для отладки.
  • Мониторинг выполнения запросов.

Ключевые особенности:

```