Создайте полнофункциональный инструмент для составления кратких обзоров совещаний с использованием ИИ, React, FastAPI и бесплатных LLM-программ. Без бюджета, полный код прилагается.

Изображение предоставлено автором.
# Введение
Помните времена, когда для создания полнофункционального приложения требовались дорогостоящие облачные кредиты, дорогие API-ключи и команда инженеров? Эти времена официально прошли. К 2026 году разработчики смогут создавать, развертывать и масштабировать готовые к производству приложения, используя только бесплатные инструменты, включая большие языковые модели (LLM), которые лежат в основе их интеллектуальных функций.
Ситуация кардинально изменилась. Модели с открытым исходным кодом теперь бросают вызов своим коммерческим аналогам. Бесплатные помощники по программированию на основе ИИ выросли из простых инструментов автозаполнения в полноценных агентов программирования, способных проектировать целые функции. И, пожалуй, самое важное: вы можете запускать самые современные модели локально или через щедрые бесплатные тарифные планы, не потратив ни копейки.
В этой подробной статье мы создадим реальное приложение — программу для составления кратких обзоров совещаний на основе искусственного интеллекта. Пользователи будут загружать голосовые записи, а наше приложение будет их расшифровывать, извлекать ключевые моменты и пункты действий, и отображать все это на удобной панели управления, используя при этом совершенно бесплатные инструменты.
Независимо от того, являетесь ли вы студентом, выпускником буткемпа или опытным разработчиком, стремящимся создать прототип своей идеи, это руководство покажет вам, как использовать лучшие бесплатные инструменты искусственного интеллекта. Начните с понимания того, почему бесплатные магистерские программы так хорошо работают сегодня.
# Понимание того, почему бесплатные большие языковые модели работают сейчас
Всего два года назад создание приложения на основе ИИ означало выделение средств на приобретение кредитов для API OpenAI или аренду дорогостоящих графических процессоров. Экономическая ситуация кардинально изменилась.
Разрыв между коммерческими и открытыми LLM-системами практически исчез. Такие модели, как GLM-4.7-Flash от Zhipu AI, демонстрируют, что открытый исходный код может достигать самых современных показателей производительности, оставаясь при этом полностью бесплатным в использовании. Аналогично, LFM2-2.6B-Transcript была специально разработана для составления резюме совещаний и работает полностью на устройстве с качеством облачного уровня.
Это означает, что вы больше не привязаны к одному поставщику. Если одна модель не подходит для ваших задач, вы можете перейти на другую, не меняя свою инфраструктуру.
// Присоединение к движению за самостоятельное размещение
Всё чаще предпочтение отдаётся локальному запуску моделей ИИ на собственном оборудовании, а не отправке данных в облако. Это связано не только со стоимостью; важны конфиденциальность, задержка и контроль. С помощью таких инструментов, как Ollama и LM Studio , можно запускать мощные модели на ноутбуке.
// Внедрение модели «Принеси свой ключ»
Появилась новая категория инструментов: приложения с открытым исходным кодом, которые бесплатны, но требуют предоставления собственных ключей API. Это обеспечивает максимальную гибкость. Вы можете использовать API Google Gemini (который ежедневно предоставляет сотни бесплатных запросов) или запускать полностью локальные модели без каких-либо текущих затрат.
# Выбор бесплатного набора инструментов искусственного интеллекта
Анализ лучших бесплатных вариантов для каждого компонента нашего приложения включает в себя выбор инструментов, которые обеспечивают баланс между производительностью и простотой использования.
// Слои транскрипции: преобразование речи в текст
Для преобразования аудио в текст у нас есть отличные бесплатные инструменты для преобразования речи в текст (STT).
| Инструмент | Тип | Бесплатный уровень | Лучше всего подходит для |
|---|---|---|---|
| OpenAI Whisper | модель с открытым исходным кодом | Безлимитный (самостоятельное размещение) | Точность, поддержка нескольких языков |
| Whisper.cpp | Реализация с упором на конфиденциальность | Без ограничений (с открытым исходным кодом) | сценарии, требующие соблюдения конфиденциальности |
| API Gemini | Облачный API | 60 запросов в минуту | Быстрое прототипирование |
Для нашего проекта мы будем использовать Whisper , который можно запустить локально или через бесплатные хостинговые решения. Он поддерживает более 100 языков и создает высококачественные транскрипты.
// Резюмирование и анализ: Большая языковая модель
Здесь у вас самый широкий выбор. Все перечисленные ниже варианты совершенно бесплатны:
| Модель | Поставщик | Тип | Специализация |
|---|---|---|---|
| GLM-4.7-Flash | Жипу А.И. | Облачное приложение (бесплатный API) | Программирование общего назначения |
| LFM2-2.6B-Транскрипт | Жидкий ИИ | Локальный/на устройстве | Подведение итогов совещания |
| Вспышка Gemini 1.5 | Облачный API | Подробный контекст, бесплатный уровень | |
| GPT-OSS Глотка | Токийский технологический институт | Локальный/самостоятельно размещенный | Японско-английская логика |
Для нашего инструмента для составления кратких обзоров совещаний особенно интересна модель LFM2-2.6B-Transcript ; она была специально обучена для этого конкретного случая и работает менее чем на 3 ГБ оперативной памяти.
// Ускорение разработки: помощники в программировании на основе искусственного интеллекта
Прежде чем написать хотя бы одну строчку кода, давайте рассмотрим инструменты, которые помогают нам более эффективно создавать код в интегрированной среде разработки (IDE):
| Инструмент | Бесплатный уровень | Тип | Ключевая особенность |
|---|---|---|---|
| Сотоварищ | Полностью бесплатно | Расширение VS Code | Многоагентная система, управляемая SPEC |
| Кодеиум | Неограниченное количество бесплатных | Расширение IDE | Более 70 языков, быстрая обработка информации. |
| Клайн | Бесплатно (приносите свои напитки) | Расширение VS Code | Автономное редактирование файлов |
| Продолжать | Полностью открытый исходный код | Расширение IDE | Работает с любой программой магистратуры (LLM). |
| болт.сделай сам | Самостоятельно размещенный | IDE для браузера | Полномасштабное создание стека |
Наша рекомендация: для этого проекта мы будем использовать Codeium из-за его неограниченного бесплатного уровня и скорости, а Continue оставим в качестве резервного варианта на случай, если нам понадобится переключаться между различными поставщиками LLM-услуг.
// Обзор традиционного бесплатного стека технологий
- Фронтенд: React (бесплатный и с открытым исходным кодом)
- Бэкенд: FastAPI (Python, бесплатно)
- База данных: SQLite (файловая, сервер не требуется)
- Развертывание: Vercel (щедрый бесплатный тариф) + Render (для бэкэнда)
# Обзор плана проекта
Определение рабочего процесса приложения:
- Пользователь загружает аудиофайл (запись совещания, голосовую заметку, лекцию).
- Бэкенд получает файл и передает его в Whisper для транскрипции.
- Расшифрованный текст отправляется магистрату права для составления краткого изложения.
- В рамках программы LLM извлекаются ключевые моменты для обсуждения, пункты плана действий и принятые решения.
- Результаты хранятся в SQLite.
- Пользователь видит понятную панель управления с расшифровкой, сводкой и пунктами действий.

Профессиональная блок-схема с семью последовательными шагами | Изображение предоставлено автором
// Предварительные условия
- Установлен Python 3.9+
- Установлены Node.js и npm.
- Базовые знания Python и React.
- Редактор кода (рекомендуется VS Code)
// Шаг 1: Настройка бэкэнда с помощью FastAPI
Сначала создайте каталог нашего проекта и настройте виртуальное окружение:
mkdir meeting-summarizer cd meeting-summarizer python -m venv venv
Активируйте виртуальную среду:
# В Windows: venvScriptsactivate # В Linux/macOS: source venv/bin/activate
Установите необходимые пакеты:
pip install fastapi uvicorn python-multipart openai-whisper transformers torch openai
Теперь создайте файл main.py для нашего приложения FastAPI и добавьте в него следующий код:
from fastapi import FastAPI, File, UploadFile, HTTPException from fastapi.middleware.cors import CORSMiddleware import whisper import sqlite3 import json import os from datetime import datetime app = FastAPI() # Включение CORS для фронтенда React app.add_middleware( CORSMiddleware, allow_origins=[«http://localhost:3000»], allow_methods=[«*»], allow_headers=[«*»], ) # Инициализация модели Whisper — использование «tiny» для более быстрой обработки ЦП print(«Загрузка модели Whisper (tiny)…») model = whisper.load_model(«tiny») print(«Модель Whisper загружена!») # Настройка базы данных def init_db(): conn = sqlite3.connect('meetings.db') c = conn.cursor() c.execute('''CREATE TABLE IF NOT EXISTS meetings (id INTEGER PRIMARY KEY AUTOINCREMENT, filename TEXT, transcript TEXT, summary TEXT, action_items TEXT, created_at TIMESTAMP)''') conn.commit() conn.close() init_db() async def summarize_with_llm(transcript: str) -> dict: «»»Заполнитель для логики суммирования LLM»»» # Это будет реализовано на шаге 2 return {«summary»: «Ожидание сводки…», «action_items»: []} @app.post(«/upload») async def upload_audio(file: UploadFile = File(…)): file_path = f»temp_{file.filename}» with open(file_path, «wb») as buffer: content = await file.read() buffer.write(content) try: # Шаг 1: Транскрибирование с помощью Whisper result = model.transcribe(file_path, fp16=False) transcript = result[«text»] # Шаг 2: Сводка (Заполняется на шаге 2) summary_result = await summarize_with_llm(transcript) # Шаг 3: Сохранение в базу данных conn = sqlite3.connect('meetings.db') c = conn.cursor() c.execute( «INSERT INTO meetings (filename, transcript, summary, action_items, created_at) VALUES (?, ?, ?, ?, ?)», (file.filename, transcript, summary_result[«summary»], json.dumps(summary_result[«action_items»]), datetime.now()) ) conn.commit() meeting_id = c.lastrowid conn.close() os.remove(file_path) return { «id»: meeting_id, «transcript»: transcript, «summary»: summary_result[«summary»], «action_items»: summary_result[«action_items»] } except Exception as e: if os.path.exists(file_path): os.remove(file_path) raise HTTPException(status_code=500, detail=str(e))
// Шаг 2: Интеграция свободной большой языковой модели
Теперь давайте реализуем функцию summarize_with_llm(). Мы покажем два подхода:
Вариант A: Использование API GLM-4.7-Flash (облачное решение, бесплатно)
from openai import OpenAI async def summarize_with_llm(transcript: str) -> dict: client = OpenAI(api_key=»YOUR_FREE_ZHIPU_KEY», base_url=»https://open.bigmodel.cn/api/paas/v4/») response = client.chat.completions.create( model=»glm-4-flash», messages=[ {«role»: «system», «content»: «Summarize the following meeting transcript and extract action items in JSON format.»}, {«role»: «user», «content»: transcript} ], response_format={«type»: «json_object»} ) return json.loads(response.choices[0].message.content)
Вариант B: Использование локальной расшифровки LFM2-2.6B (локальная, полностью бесплатная)
from transformers import AutoModelForCausalLM, AutoTokenizer import torch async def summarize_with_llm_local(transcript): model_name = «LiquidAI/LFM2-2.6B-Transcript» tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype=torch.float16, device_map=»auto» ) prompt = f»Analyze this transcript and provide a summary and action items:nn{transcript}» inputs = tokenizer(prompt, return_tensors=»pt»).to(model.device) with torch.no_grad(): outputs = model.generate(**inputs, max_new_tokens=500) return tokenizer.decode(outputs[0], skip_special_tokens=True)
// Шаг 3: Создание фронтенда на React
Создайте простой React-интерфейс для взаимодействия с нашим API. В новом окне терминала создайте React-приложение:
npx create-react-app frontend cd frontend npm install xios
Замените содержимое файла src/App.js следующим:
import React, { useState } from 'react'; import axios from 'axios'; import './App.css'; function App() { const [file, setFile] = useState(null); const [uploading, setUploading] = useState(false); const [result, setResult] = useState(null); const [error, setError] = useState(''); const handleUpload = async () => { if (!file) { setError('Пожалуйста, выберите файл'); return; } setUploading(true); const formData = new FormData(); formData.append('file', file); try { const response = await axios.post('http://localhost:8000/upload', formData); setResult(response.data); } catch (err) { setError('Загрузка не удалась: ' + (err.response?.data?.detail || err.message)); } finally { setUploading(false); } }; return (
AI Meeting Summarizer
{error}
}
{result && (
Summary
{result.summary}
Action Items
- {result.action_items.map((it, i) =>
- {it}
)}
)}
); } export default App;
// Шаг 4: Запуск приложения
- Запустите бэкенд: в основной директории с активной виртуальной средой выполните команду `uvicorn main:app —reload`.
- Запуск фронтенда: В новом терминале, в директории frontend, выполните команду npm start.
- Откройте http://localhost:3000 в своем браузере и загрузите тестовый аудиофайл.

Интерфейс панели управления с отображением сводных результатов | Изображение предоставлено автором
# Развертывание приложения бесплатно
Как только ваше приложение заработает локально, пришло время развернуть его в мире — по-прежнему бесплатно. Render предлагает щедрый бесплатный тариф для веб-сервисов. Загрузите свой код в репозиторий GitHub, создайте новый веб-сервис в Render и используйте следующие настройки:
- Окружение: Python 3
- Команда сборки: pip install -r requirements.txt
- Команда запуска: uvicorn main:app —host 0.0.0.0 —port $PORT
Создайте файл requirements.txt:
fastapi uvicorn python-multipart openai-whisper transformers torch openai
Примечание: Whisper и Transformers требуют значительного дискового пространства. Если вы достигли лимитов бесплатного тарифа, рассмотрите возможность использования облачного API для транскрипции.
// Развертывание фронтенда на Vercel
Vercel — это самый простой способ развертывания приложений React:
- Установите Vercel CLI: npm i -g vercel
- В директории вашего фронтенда запустите vercel.
- Обновите URL-адрес API в файле App.js, чтобы он указывал на ваш бэкенд Render.
// Изучение альтернатив локального развертывания
Если вы хотите полностью избежать облачного хостинга, вы можете развернуть как фронтенд, так и бэкенд на локальном сервере, используя такие инструменты, как ngrok, для временного предоставления доступа к вашему локальному серверу.
# Заключение
Мы только что создали готовое к использованию в производственных условиях приложение на основе ИИ, используя исключительно бесплатные инструменты. Давайте подведем итоги того, чего мы достигли:
- Транскрипция: Использовался инструмент Whisper от OpenAI (бесплатный, с открытым исходным кодом).
- Вкратце: использовалась программа GLM-4.7-Flash или LFM2-2.6B (обе полностью бесплатны).
- Бэкенд: Создан с использованием FastAPI (бесплатная библиотека).
- Фронтенд: Создан с использованием React (бесплатная версия).
- База данных: используется SQLite (бесплатная).
- Развертывание: Развернуто на платформах Vercel и Render (бесплатные тарифы).
- Разработка: Ускорена с помощью бесплатных помощников по программированию на основе ИИ, таких как Codeium.
Перспективы для бесплатной разработки ИИ никогда не были столь многообещающими. Модели с открытым исходным кодом теперь конкурируют с коммерческими предложениями. Локальные инструменты ИИ обеспечивают нам конфиденциальность и контроль. А щедрые бесплатные тарифные планы от таких провайдеров, как Google и Zhipu AI, позволяют нам создавать прототипы без финансового риска.
Шитту Олумиде — инженер-программист и технический писатель, увлеченный использованием передовых технологий для создания захватывающих повествований, обладающий острым вниманием к деталям и умением упрощать сложные концепты. Шитту также можно найти в Твиттере.
Источник: www.kdnuggets.com




















