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 - Mémoire IA Basée sur Vidéo 🧠📹

La solution légère et révolutionnaire pour la mémoire IA à grande échelle

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

Memvid révolutionne la gestion de mémoire IA en encodant des données textuelles dans des vidéos, permettant une recherche sémantique ultra-rapide à travers des millions de fragments de texte avec des temps de récupération inférieurs à la seconde. Contrairement aux bases de données vectorielles traditionnelles qui consomment des quantités massives de RAM et de stockage, Memvid compresse votre base de connaissances en fichiers vidéo compacts tout en maintenant un accès instantané à toute information.

🎥 Démonstration

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

✨ Fonctionnalités Clés

  • 🎥 Vidéo comme Base de Données : Stockez des millions de fragments de texte dans un seul fichier MP4
  • 🔍 Recherche Sémantique : Trouvez du contenu pertinent en utilisant des requêtes en langage naturel
  • 💬 Chat Intégré : Interface conversationnelle avec réponses contextuelles
  • 📚 Support PDF : Importation et indexation directe de documents PDF
  • Récupération Rapide : Recherche en moins d'une seconde sur des jeux de données massifs
  • 💾 Stockage Efficace : Compression 10x par rapport aux bases de données traditionnelles
  • 🔌 LLMs Modulaires : Compatible avec OpenAI, Anthropic ou des modèles locaux
  • 🌐 Mode Hors Ligne : Aucune connexion internet nécessaire après génération de la vidéo
  • 🔧 API Simple : Démarrez avec seulement 3 lignes de code

🎯 Cas d'Utilisation

  • 📖 Bibliothèques Numériques : Indexez des milliers de livres dans un seul fichier vidéo
  • 🎓 Contenu Éducatif : Créez des mémoires vidéo consultables de matériel pédagogique
  • 📰 Archives d'Actualités : Compressez des années d'articles en bases de données vidéo gérables
  • 💼 Connaissances d'Entreprise : Construisez des bases de connaissances consultables à l'échelle de l'entreprise
  • 🔬 Articles de Recherche : Recherche sémantique rapide dans la littérature scientifique
  • 📝 Notes Personnelles : Transformez vos notes en assistant IA consultable

🚀 Pourquoi Memvid ?

Innovation Révolutionnaire

  • Vidéo comme Base de Données : Stockez des millions de fragments de texte dans un seul fichier MP4
  • Récupération Instantanée : Recherche sémantique en moins d'une seconde sur des jeux de données massifs
  • Efficacité de Stockage 10x : La compression vidéo réduit considérablement l'empreinte mémoire
  • Zéro Infrastructure : Pas de serveurs de base de données, juste des fichiers copiables n'importe où
  • Mode Hors Ligne : Fonctionne complètement hors ligne une fois les vidéos générées

Architecture Légère

  • Dépendances Minimales : Fonctionnalité principale en ~1000 lignes de Python
  • Optimisé pour CPU : Fonctionne efficacement sans exigence de GPU
  • Portable : Un seul fichier vidéo contient toute votre base de connaissances
  • Streamable : Les vidéos peuvent être diffusées depuis un stockage cloud

📦 Installation

Installation Rapide

pip install memvid

Pour le Support PDF

pip install memvid PyPDF2

Configuration Recommandée (Environnement Virtuel)

# 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

� Démarrage Rapide

Utilisation de Base

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)

Construction de Mémoire à partir de Documents

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
)

Recherche & Récupération Avancées

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)

Interface de Chat Interactive

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

Test avec file_chat.py

Le script examples/file_chat.py offre un moyen complet de tester Memvid avec vos propres documents :

# 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

Exemple Complet : Chat avec un Livre 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

🛠️ Configuration Avancée

Embeddings Personnalisés

from sentence_transformers import SentenceTransformer

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

Optimisation Vidéo

# 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)
)

Traitement Distribué

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

🐛 Dépannage

Problèmes Courants

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

Problèmes de Clé 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-...

Traitement de PDF Volumineux

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

🤝 Contributions

Nous accueillons les contributions ! Consultez notre Guide de Contribution pour plus de détails.

# Run tests
pytest tests/

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

# Format code
black memvid/

🆚 Comparaison avec les Solutions Traditionnelles

FonctionnalitéMemvidBases VectoriellesBases Traditionnelles
Efficacité de Stockage⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Complexité de ConfigurationSimpleComplexeComplexe
Recherche Sémantique
Utilisation Hors Ligne
PortabilitéBasée sur fichiersBasée sur serveurBasée sur serveur
ÉvolutivitéMillionsMillionsMilliards
CoûtGratuit$$$$$$$

📚 Exemples

Consultez le répertoire examples/ pour :

  • Construire une mémoire à partir de dumps Wikipedia
  • Créer une base de connaissances personnelle
  • Support multilingue
  • Mises à jour de mémoire en temps réel
  • Intégration avec des LLMs populaires

🆘 Obtenir de l'Aide

🔗 Liens

📄 Licence

Licence MIT - voir le fichier LICENSE pour plus de détails.

🙏 Remerciements

Créé par Olow304 et la communauté Memvid.

Construit avec ❤️ en utilisant :

  • sentence-transformers - Embeddings de pointe pour la recherche sémantique
  • OpenCV - Vision par ordinateur et traitement vidéo
  • qrcode - Génération de QR codes
  • FAISS - Recherche de similarité efficace
  • PyPDF2 - Extraction de texte PDF

Un grand merci à tous les contributeurs qui aident à améliorer Memvid !


Prêt à révolutionner votre gestion de mémoire IA ? Installez Memvid et commencez à construire ! 🚀