Build a real-time audio fact-checking agent

Урок 150 из 154 курса «Mistral AI Cookbook»: официальный курс Mistral AI Cookbook (Мистраль) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Когда вы говорите в микрофон, этот агент расшифровывает вашу речь, проверяет сказанное вами по источнику истины и сообщает свои выводы.

Этот проект использует сервер Python для логики и доступа к LLM, а также небольшой веб-интерфейс для захвата ввода с микрофона и отображения результатов. Следуйте инструкциям здесь, чтобы создать необходимые файлы — или посетите репозиторий GitHub, если это проще.

  1. При запуске сервер генерирует эмбеддинги для каждого факта в источнике истины.
  2. Веб-приложение использует AudioWorklet для чтения аудио с микрофона и передает его на ваш сервер через WebSocket.
  3. Сервер перенаправляет аудио в модель транскрипции в реальном времени и отслеживает транскрипцию на предмет полных предложений.
  4. Каждое предложение проверяется на наличие фактического утверждения. Если таковое имеется, это утверждение встраивается и сопоставляется с эмбеддингами для источника истины.
  5. Если найдено достаточно близкое совпадение, LLM оценивает утверждение по нему и возвращает вердикт плюс его обоснование, которое отправляется обратно в браузер и отображается в виде карточки.

Чтобы сосредоточиться на аудио-техниках, этот проект использует минималистичный процесс RAG для сравнения утверждений с фактами. Для решения, разработанного для реальных данных в масштабе, ознакомьтесь с Search Toolkit, который обрабатывает прием, разбиение на чанки и извлечение для коллекций документов.

Для выполнения этого руководства вам потребуется: - Python 3.12 или новее - uv или ваш любимый менеджер пакетов - Ключ Mistral API - Браузер с доступом к микрофону

Вы можете установить пакеты Python глобально с помощью pip. Но лучшая практика — устанавливать их только для этого проекта. Для этого создайте проект с помощью uv и добавьте необходимые пакеты:

Это создает файл pyproject.toml, перечисляющий эти зависимости, и файл uv.lock, фиксирующий их точные версии. Любая команда uv run автоматически синхронизирует ваше окружение. Или синхронизируйте его самостоятельно:

Фронтенд для этого проекта использует чистый, простой JavaScript. Никаких процессов сборки или пакетов не требуется!

Для выполнения этого руководства вам понадобится ключ Mistral API.

Создайте файл .env в корне вашего проекта и добавьте ваш…

План урока

  1. Как это работает
  2. Предварительные условия
  3. Настройка окружения
  4. Установка
  5. Требуемые переменные окружения
  6. Создайте сервер
  7. Определите константы
  8. Генерация эмбеддингов для фактов в источнике истины

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды