В интернете огромное количество гайдов на тему транскрибации аудио и анализа совещаний через ИИ. Но все они описывают разрозненные решения: отдельно транскрибирВ интернете огромное количество гайдов на тему транскрибации аудио и анализа совещаний через ИИ. Но все они описывают разрозненные решения: отдельно транскрибир

Meeting-LLM: Транскрипция + ИИ-анализ совещаний в одном окне своими руками (T-One + GPT-OSS-20B)

В интернете огромное количество гайдов на тему транскрибации аудио и анализа совещаний через ИИ. Но все они описывают разрозненные решения: отдельно транскрибируй аудио, затем отправь в ChatGPT, и так далее.

Я решил комплексно подойти к этому вопросу и навайбкодить веб-приложение, где все задачи решаются в одном окне, а именно:

  • Хранение транскрипций

  • Чат с ИИ по содержимому встречи

  • Структурированные протоколы (задачи, решения, события)

  • Рекомендации ИИ на базе текущей и предыдущих встреч

  • Интеграция с CRM в один клик (beta)

Моя цель — скомбинировать транскрипцию и ИИ-анализ на одном сервере среднего уровня, на одной GPU. Загрузил аудиофайл и ответил на все вопросы: транскрипция, протокол, задачи и тд. Без ручных запросов к ИИ. А если хочется что-то уточнить — чат тут же, с сохранением истории.

Готовый проект: github.com/Chashchin-Dmitry/meeting-llm


1. Подготовка системы

1.1. Требования к железу

Компонент

Минимум

Рекомендуется

GPU (для LLM)

16GB VRAM

24GB VRAM (RTX 3090/4090)

CPU (для STT)

4 ядра

8+ ядер

RAM

8GB

16GB+

Диск

50GB

100GB+ (модели весят много)

1.2. Выбор моделей

Транскрипция — T-One (T-Tech):

Все гайды про транскрипцию используют измученную модель Whisper-large-v3, но я бы хотел обратить внимание на STT от T-Банка, которая показывает достойнейшее качество. Единственный момент, что не выдается пунктуация, но ее можно докрутить мелкой ИИ моделью по типу sbert_punc_case_ru. Вот мои плюсы по модели:

  • Отлично работает на CPU (GPU не требуется!)

  • Оптимизирована для русского языка и телефонии

  • Отличный баланс скорость/качество

Подробнее о том, какие модели можно выбрать в качестве STT: alphacephei.com/nsh/2025/04/18/russian-models.html

ИИ-анализ — GPT-OSS-20B (OpenAI):

Мне нравится эта модель тем, что это идеальный баланс, между размером и качеством. Я активно ее использую для всех своих проектов, ведь она покрывает 90% требований по проектам. Также пробижимся по плюсам:

  • 20 миллиардов параметров — не так много для современных стандартов

  • Высокая скорость генерации (tokens/sec)

  • Встроенные режимы рассуждения

  • Отличные аналитические способности

1.3. Поддерживаемые ОС

  • Ubuntu / Debian

  • Windows (через WSL или Docker Desktop)

  • macOS (на M1/M2/M3 — с ограничениями)

1.4. Установка Docker

Скачайте Docker для вашей ОС:

  • Windows/Mac: https://www.docker.com/products/docker-desktop

  • Ubuntu: sudo apt install docker.io docker-compose

1.5. Архитектура системы

Общий пайплайн обработки совещания:

Архитектура Meeting-LLM
Архитектура Meeting-LLM

2. Установка Docker-образов

2.1. T-One (транскрипция)

# Первый запуск (скачивание и создание контейнера) docker run -d --name t-one-stt -p 8080:8080 tinkoffcreditsystems/t-one:0.1.0 # Проверить что запустился docker ps | grep t-one # Последующие запуски docker start t-one-stt

После запуска откройте http://localhost:8080 — там веб-интерфейс для тестирования (можно закинуть аудио или говорить в микрофон).

2.2. GPT-OSS-20B через vLLM

Важно: Версия vLLM зависит от вашей видеокарты!

# Первый запуск (скачивание модели ~40GB, займёт время) docker run -d --gpus all --name vllm-server -p 8000:8000 --ipc=host \ -v ~/.cache/huggingface:/root/.cache/huggingface \ vllm/vllm-openai:v0.10.2 \ --model openai/gpt-oss-20b # Проверить что запустился (модель грузится ~5-10 мин) docker logs -f vllm-server # Последующие запуски docker start vllm-server

Совместимость vLLM и CUDA:

Версия

Примечание

v0.10.2

минимальная для GPT-OSS-20B

v0.11.2

стабильная, работает с CUDA 12.8

v0.12.0

требует CUDA 12.9+


3. Установка проекта

# Клонируем репозиторий git clone https://github.com/Chashchin-Dmitry/meeting-llm.git cd meeting-llm


4. Настройка окружения

4.1. Создайте файл .env

cp .env.example .env

4.2. Отредактируйте .env

# База данных (MySQL) DATABASE_URL=mysql+pymysql://root:ваш_пароль@localhost:3306/meeting_llm # Сервисы STT_URL=http://localhost:8080 LLM_URL=http://localhost:8000/v1/chat/completions LLM_MODEL=openai/gpt-oss-20b # Логирование LOG_LEVEL=INFO

4.3. Создайте базу данных

mysql -u root -p -e "CREATE DATABASE meeting_llm;"


5. Запуск приложения

5.1. Запустите Docker-контейнеры

# Если контейнеры уже созданы (см. пункт 2) docker start t-one-stt vllm-server # Проверить статус docker ps

5.2. Установите Python-зависимости

# Создать виртуальное окружение python -m venv venv # Активировать (Linux/Mac) source venv/bin/activate # Активировать (Windows) venv\Scripts\activate # Установить зависимости pip install -r requirements.txt

5.3. Запустите backend

python -m uvicorn backend.main:app --host 0.0.0.0 --port 8001

5.4. Откройте приложение

http://localhost:8001

Backend сам отдаёт frontend — отдельный веб-сервер не нужен.


6. Что получилось

Вот так нас встречает приложение:

Изоб. 1. Главный экран (светлая тема)
Изоб. 1. Главный экран (светлая тема)
Изоб. 2. Главный экран (темная тема)
Изоб. 2. Главный экран (темная тема)

Давайте загрузим файл нашего Zoom совещания:

Изоб. 3. Экран загрузки совещания
Изоб. 3. Экран загрузки совещания
Изоб. 4. Успешная загрузка файла.
Изоб. 4. Успешная загрузка файла.

Слева нажимаем на наше совещание и посмотрим прогресс. Результат транскрипции мы видим в режиме реального времени.

Изоб. 5. Анализ в режиме реального времени
Изоб. 5. Анализ в режиме реального времени

Давайте же посмотрим, что выдаст наше вайб-приложение в анализе с ИИ.

Изоб. 6. Первый результат анализа с ИИ
Изоб. 6. Первый результат анализа с ИИ
Изоб. 7. Продолжение анализа с ИИ
Изоб. 7. Продолжение анализа с ИИ
Изоб. 8. Продолжение анализа с ИИ (х2)
Изоб. 8. Продолжение анализа с ИИ (х2)

Как мы видим, ИИ сам сгенерировал резюме, задачи и ключевые моменты встречи прямо с тайм-кодами. События, правда, пустые, потому что о них речи действительно не шло.

Давайте же помучаем ручными запросами ИИ на тему нашего совещания.

Изоб. 9. Открываем окно "Чат" внутри совещания
Изоб. 9. Открываем окно "Чат" внутри совещания
Изоб. 10. Получаем первый результат в окне "Чат"
Изоб. 10. Получаем первый результат в окне "Чат"

Если мы нажмем на "Спросить у ИИ" случайный элемент внутри совещания, то наш бекенд автоматически пошлет запрос в ИИ. Например, тут я нажимаю на "Ключевые моменты", чтобы он мне их разжевал.

Изоб. 11. Нажимаем на "Спросить у ИИ"
Изоб. 11. Нажимаем на "Спросить у ИИ"
Изоб. 12. Результат "Спросить AI"
Изоб. 12. Результат "Спросить AI"

Резюмируем возможности:

  1. Загрузка аудио/видео — drag & drop, поддержка WAV, MP3, M4A, MP4

  2. Автоматическая транскрипция — с таймкодами

  3. ИИ-анализ — резюме, задачи, решения, события, вопросы

  4. Чат с ИИ — задавайте вопросы по совещанию

  5. Готовые промпты — частые вопросы одним кликом

  6. История — все встречи и чаты сохраняются

  7. Интеграция CRM — (в разработке)


Заключение

Получился достойный подарок вам на будущий год! Копируйте, пользуйтесь, и держите ваши данные в безопасности, развернув это веб-приложение на своем железе!


Ссылки

  • Проект: github.com/Chashchin-Dmitry/meeting-llm

  • T-One STT: github.com/voicekit-team/T-one

  • GPT-OSS-20B: huggingface.co/openai/gpt-oss-20b

  • vLLM Docs: docs.vllm.ai


Буду рад за лайк и подписку на канал :) https://t.me/notes_from_cto


Источник

Возможности рынка
Логотип Large Language Model
Large Language Model Курс (LLM)
$0.0003315
$0.0003315$0.0003315
-1.25%
USD
График цены Large Language Model (LLM) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу [email protected] для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно