Last translated: 11 Jun 2025

Translation Not Available Yet

This repository's README hasn't been translated yet. Once translated, it will be easier to read and understand in your native language (中文).

After translating, add the links to README so others can view it directly.

Memvid - Видео-ориентированная память ИИ 🧠📹

Лёгкое революционное решение для масштабируемой памяти ИИ

PyPI version License: MIT Python 3.8+ Code style: black

Memvid революционизирует управление памятью ИИ, кодируя текстовые данные в видео, обеспечивая мгновенный семантический поиск среди миллионов текстовых фрагментов с временем извлечения менее секунды. В отличие от традиционных векторных баз данных, потребляющих огромные объемы оперативной памяти и хранилища, Memvid сжимает вашу базу знаний в компактные видеофайлы, сохраняя мгновенный доступ к любой информации.

🎥 Демонстрация

https://github.com/user-attachments/assets/ec550e93-e9c4-459f-a8a1-46e122b5851e

✨ Ключевые возможности

  • 🎥 Видео как база данных: Хранение миллионов текстовых фрагментов в одном MP4-файле
  • 🔍 Семантический поиск: Поиск релевантного контента с использованием естественно-языковых запросов
  • 💬 Встроенный чат: Диалоговый интерфейс с контекстно-зависимыми ответами
  • 📚 Поддержка PDF: Прямой импорт и индексация PDF-документов
  • 🚀 Быстрое извлечение: Поиск по огромным наборам данных за доли секунды
  • 💾 Эффективное хранение: 10-кратное сжатие по сравнению с традиционными базами данных
  • 🔌 Подключаемые LLM: Совместимость с OpenAI, Anthropic или локальными моделями
  • 🌐 Оффлайн-режим: Не требует интернета после генерации видео
  • 🔧 Простой API: Начало работы всего с 3 строками кода

🎯 Применение

  • 📖 Цифровые библиотеки: Индексация тысяч книг в одном видеофайле
  • 🎓 Образовательный контент: Создание поисковых видео-памяти учебных материалов
  • 📰 Архивы новостей: Сжатие лет статей в управляемые видео-базы данных
  • 💼 Корпоративные знания: Построение общедоступных поисковых баз знаний компании
  • 🔬 Научные статьи: Быстрый семантический поиск по научной литературе
  • 📝 Личные заметки: Преобразование ваших заметок в поискового ИИ-ассистента

🚀 Почему Memvid?

Революционные инновации

  • Видео как база данных: Хранение миллионов текстовых фрагментов в одном MP4-файле
  • Мгновенное извлечение: Семантический поиск по огромным наборам данных за доли секунды
  • 10-кратная эффективность хранения: Видеосжатие значительно уменьшает занимаемую память
  • Нулевая инфраструктура: Никаких серверов баз данных, только файлы, которые можно копировать куда угодно
  • Оффлайн-режим: Полностью автономная работа после генерации видео

Лёгкая архитектура

  • Минимальные зависимости: Основной функционал в ~1000 строках Python
  • Оптимизация для CPU: Эффективная работа без требований к GPU
  • Портативность: Один видеофайл содержит всю вашу базу знаний
  • Потоковая передача: Видео можно передавать из облачного хранилища

📦 Установка

Быстрая установка

pip install memvid

Для поддержки PDF

pip install memvid PyPDF2

Рекомендуемая настройка (виртуальное окружение)

# Create a new project directory
mkdir my-memvid-project
cd my-memvid-project

# Create virtual environment
python -m venv venv

# Activate it
# On macOS/Linux:
source venv/bin/activate
# On Windows:
venv\Scripts\activate

# Install memvid
pip install memvid

# For PDF support:
pip install PyPDF2

🎯 Быстрый старт

Базовое использование

from memvid import MemvidEncoder, MemvidChat

# Create video memory from text chunks
chunks = ["Important fact 1", "Important fact 2", "Historical event details"]
encoder = MemvidEncoder()
encoder.add_chunks(chunks)
encoder.build_video("memory.mp4", "memory_index.json")

# Chat with your memory
chat = MemvidChat("memory.mp4", "memory_index.json")
chat.start_session()
response = chat.chat("What do you know about historical events?")
print(response)

Построение памяти из документов

from memvid import MemvidEncoder
import os

# Load documents
encoder = MemvidEncoder(chunk_size=512, overlap=50)

# Add text files
for file in os.listdir("documents"):
    with open(f"documents/{file}", "r") as f:
        encoder.add_text(f.read(), metadata={"source": file})

# Build optimized video
encoder.build_video(
    "knowledge_base.mp4",
    "knowledge_index.json",
    fps=30,  # Higher FPS = more chunks per second
    frame_size=512  # Larger frames = more data per frame
)

Расширенный поиск и извлечение

from memvid import MemvidRetriever

# Initialize retriever
retriever = MemvidRetriever("knowledge_base.mp4", "knowledge_index.json")

# Semantic search
results = retriever.search("machine learning algorithms", top_k=5)
for chunk, score in results:
    print(f"Score: {score:.3f} | {chunk[:100]}...")

# Get context window
context = retriever.get_context("explain neural networks", max_tokens=2000)
print(context)

Интерактивный чат-интерфейс

from memvid import MemvidInteractive

# Launch interactive chat UI
interactive = MemvidInteractive("knowledge_base.mp4", "knowledge_index.json")
interactive.run()  # Opens web interface at http://localhost:7860

Тестирование с file_chat.py

Скрипт examples/file_chat.py предоставляет комплексный способ тестирования Memvid с вашими документами:

# Process a directory of documents
python examples/file_chat.py --input-dir /path/to/documents --provider google

# Process specific files
python examples/file_chat.py --files doc1.txt doc2.pdf --provider openai

# Use H.265 compression (requires Docker)
python examples/file_chat.py --input-dir docs/ --codec h265 --provider google

# Custom chunking for large documents
python examples/file_chat.py --files large.pdf --chunk-size 2048 --overlap 32 --provider google

# Load existing memory
python examples/file_chat.py --load-existing output/my_memory --provider google

Полный пример: Чат с PDF-книгой

# 1. Create a new directory and set up environment
mkdir book-chat-demo
cd book-chat-demo
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# 2. Install dependencies
pip install memvid PyPDF2

# 3. Create book_chat.py
cat > book_chat.py << 'EOF'
from memvid import MemvidEncoder, chat_with_memory
import os

# Your PDF file
book_pdf = "book.pdf"  # Replace with your PDF path

# Build video memory
encoder = MemvidEncoder()
encoder.add_pdf(book_pdf)
encoder.build_video("book_memory.mp4", "book_index.json")

# Chat with the book
api_key = os.getenv("OPENAI_API_KEY")  # Optional: for AI responses
chat_with_memory("book_memory.mp4", "book_index.json", api_key=api_key)
EOF

# 4. Run it
export OPENAI_API_KEY="your-api-key"  # Optional
python book_chat.py

🛠️ Расширенная конфигурация

Пользовательские эмбеддинги

from sentence_transformers import SentenceTransformer

# Use custom embedding model
custom_model = SentenceTransformer('sentence-transformers/all-mpnet-base-v2')
encoder = MemvidEncoder(embedding_model=custom_model)

Оптимизация видео

# For maximum compression
encoder.build_video(
    "compressed.mp4",
    "index.json",
    fps=60,  # More frames per second
    frame_size=256,  # Smaller frames
    video_codec='h265',  # Better compression
    crf=28  # Compression quality (lower = better quality)
)

Распределённая обработка

# Process large datasets in parallel
encoder = MemvidEncoder(n_workers=8)
encoder.add_chunks_parallel(massive_chunk_list)

🐛 Устранение неполадок

Распространённые проблемы

ModuleNotFoundError: No module named 'memvid'

# Make sure you're using the right Python
which python  # Should show your virtual environment path
# If not, activate your virtual environment:
source venv/bin/activate  # On Windows: venv\Scripts\activate

ImportError: PyPDF2 is required for PDF support

pip install PyPDF2

Проблемы с ключом API LLM

# Set your API key (get one at https://platform.openai.com)
export GOOGLE_API_KEY="AIzaSyB1-..."  # macOS/Linux
# Or on Windows:
set GOOGLE_API_KEY=AIzaSyB1-...

Обработка больших PDF

# For very large PDFs, use smaller chunk sizes
encoder = MemvidEncoder()
encoder.add_pdf("large_book.pdf", chunk_size=400, overlap=50)

🤝 Участие в разработке

Мы приветствуем вклад! Подробности см. в нашем Руководстве по участию.

# Run tests
pytest tests/

# Run with coverage
pytest --cov=memvid tests/

# Format code
black memvid/

🆚 Сравнение с традиционными решениями

ФункцияMemvidВекторные БДТрадиционные БД
Эффективность хранения⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Сложность настройкиПростоСложноСложно
Семантический поиск
Оффлайн-режим
ПортативностьФайловаяСервернаяСерверная
МасштабируемостьМиллионыМиллионыМиллиарды
СтоимостьБесплатно$$$$$$$

📚 Примеры

Ознакомьтесь с каталогом examples/ для:

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

🆘 Получение помощи

🔗 Ссылки

📄 Лицензия

MIT License - подробности см. в файле LICENSE.

🙏 Благодарности

Создано Olow304 и сообществом Memvid.

Разработано с ❤️ с использованием:

  • sentence-transformers - Современные эмбеддинги для семантического поиска
  • OpenCV - Компьютерное зрение и обработка видео
  • qrcode - Генерация QR-кодов
  • FAISS - Эффективный поиск схожести
  • PyPDF2 - Извлечение текста из PDF

Особая благодарность всем участникам, помогающим улучшать Memvid!


Готовы революционизировать управление памятью ИИ? Установите Memvid и начинайте создавать! 🚀