Skip to content

Умный ассистент в формате Telegram-бота

License

Notifications You must be signed in to change notification settings

allseeteam/ai-secretary

Repository files navigation

Данный репозиторий содержит исходный код умного ассистента для саммаризации и анализа аудиофайлов и видеозаписей.


Что умеет данный ассистент?

  • Взаимодействовать с пользователем в телеграмме
  • Сохранять и производить анализ аудиофайлов и видеозаписей
  • Обсуживать с пользователем загруженные аудиофайлы и видеозаписи

Настройка для локальной разработки

Настройка Venv

git clone https://github.com/allseeteam/ai-secretary.git
cd ai-secretary
python3 -m venv venv
source venv/bin/activate 

Установка Telegram Bot API (пример для Ubuntu, инструкция для других систем)

apt-get install -y --no-install-recommends \
    build-essential \
    libssl-dev \
    zlib1g-dev \
    git \
    cmake \
    gperf \
    g++

git clone --recursive https://github.com/tdlib/telegram-bot-api.git && \
    cd telegram-bot-api && \
    mkdir build && \
    cd build && \
    cmake .. && \
    cmake --build . --target install

Запуск сервера бота

Необходимо задать в ENV следующие переменные или передать напрямую при запуске:

cd telegram-bot-api/build
 ./telegram-bot-api --api-id=${TELEGRAM_API_ID} --api-hash=${TELEGRAM_API_HASH} --local

Запуск бота

Необходимо задать в /env или в ENV следующие переменные:

  • TELEGRAM_BOT_TOKEN — Токен бота Telegram
  • TELEGRAM_BOT_API_BASE_URL — Базовый адрес сервера вашего бота (для локального сервера: http://localhost:8081/bot)
  • OPENAI_API_KEY — Токен OpenAI
  • SQLITE_DB_PATH — Путь по которому мы хотим хранить нашу SQLite базу данных (стандартный адрес: bot/database/ai-secretary.db)
  • TRANSCRIPTION_API_BASE_URL — Базовый адрес сервера для транскрибации (развернуть сервер можно по инструкциям из репозитория, для локального сервера адрес (для данного кейса обязательно при запуске образа указываем --network host): http://127.0.0.1:8000)
python3 bot/bot.py

Настройка Docker

Предварительная настрока сети (опционально, если не проходят запросы на прокси):

sudo iptables -P INPUT ACCEPT

Сборка контейнера

При вызове docker build необходимо указать следующие переменные:

  • HTTP_PROXY — Адрес прокси-сервера для обхода географических ограничений (пример настройки прокси-сервера на Ubuntu: PROXY_SETUP.md)
  • HTTPS_PROXY — См. HTTP_PROXY
  • NO_PROXY — Адреса, запросы на которые мы будем обрабатывать без прокси
docker build --build-arg HTTP_PROXY=${HTTP_PROXY} --build-arg HTTPS_PROXY=${HTTPS_PROXY} --build-arg NO_PROXY=${NO_PROXY} -t ai-secretary .

Запуск контейнера

Для корректной работы требуется передавать в docker run следующие переменные окружения:

  • TELEGRAM_API_ID — ID приложения Telegram
  • TELEGRAM_API_HASH — Hash приложения Telegram
  • TELEGRAM_BOT_TOKEN — Токен бота Telegram
  • TELEGRAM_BOT_API_BASE_URL — Базовый адрес сервера вашего бота (для локального сервера: http://localhost:8081/bot)
  • OPENAI_API_KEY — Токен OpenAI
  • SQLITE_DB_PATH — Путь по которому мы хотим хранить нашу SQLite базу данных (стандартный адрес: bot/database/ai-secretary.db)
  • TRANSCRIPTION_API_BASE_URL — Базовый адрес сервера для транскрибации (развернуть сервер можно по инструкциям из репозитория, для локального сервера адрес (для данного кейса обязательно при запуске образа указываем --network host): http://127.0.0.1:8000)
docker run -d --network host --env-file env/.env --name ai-secretary-container ai-secretary

About

Умный ассистент в формате Telegram-бота

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages