Skip to content

Demiat/quest_to_sql

Repository files navigation

О Проекте

Асинхронный бот, который переводит запросы естественного языка в SQL для базы данных

Стек: aiohttp, asyncio, aiogram, sqlalchemy, alembic, pydantic, docker

Цель проекта

  • Развернуть базу данных и проект в Docker
  • Загрузить предоставленный JSON-файл в базу, разложив его на нормальные таблицы.
  • Реализовать асинхронного Telegram-бота, который принимает текстовые сообщения от пользователя бота на русском (естественный язык), передает это в ИИ, получает текст SQL запроса и по нему делает запрос в базу данных. Ответ возвращается пользователю в Telegram.

Развёртывание проекта

Проект работает с версией Python 3.11

  1. Склонировать репозиторий: git clone git@github.com:Demiat/quest_to_sql.git

  2. Создать и заполнить файл .env: DB_NAME=...
    DB_USER=...
    DB_PASSWORD=...
    DB_HOST=...
    DB_PORT=5432. DB_ECHO=True или False.

COMMTOBOT_TOKEN=<Токен Вашего Бота>
SBER_AUTH_TOKEN=<Токен от СБЕРА>
RqUID=<уникальный идентификатор запроса для СБЕРА>


Ключ авторизации SBER_AUTH_TOKEN получается в личном кабинете Gigachat API и передается в запросе на получение Access token

  1. Запустить: docker compose up --build

  2. Загрузить фикстуры в базу: docker exec -i qts-back python -m database.loader

Автор: Тарасов Дмитрий

About

Асинхронный бот, который переводит запросы естественного языка в SQL для базы данных

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors