Skip to content
Cette page a été traduite de l'original chinois, qui a changé depuis ; elle peut donc être obsolète. La version chinoise fait foi. Voir l'original chinois →

Questions fréquentes ​

Bases

Questions de base

Quelle est la relation entre MemX et mem0 ?

MemX est la version améliorée (un surensemble) de mem0, avec une nouvelle couche de gestion intelligente de la mémoire ACE. Lorsque ace_enabled=False, son comportement est strictement identique à celui de mem0, sans aucun surcoût.

Un GPU est-il nécessaire ?

Non. Le modèle d’embedding local all-MiniLM-L6-v2 s’exécute sur le CPU via ONNX Runtime (< 5 ms/entrée) ; le pré-filtrage par règles du Reflector ne dépend pas du GPU, et le raffinement LLM du mode hybrid passe par une API distante.

Cela engendre-t-il une consommation supplémentaire de tokens LLM ?

Par défaut, le mode hybrid n’appelle le LLM que pour les candidats à valeur, réduisant les appels de plus de 90 % par rapport à l’appel systématique de mem0 ; lorsque le LLM est indisponible, il se rabat automatiquement sur des règles pures, sans coût. Pour le désactiver explicitement, définissez reflector.mode="rules".

Quelles bases de données vectorielles sont prises en charge ?

Toutes celles héritées de mem0 (Qdrant, Chroma, Pinecone, Weaviate, Milvus, etc.), le stockage en mémoire par défaut convenant au développement et aux tests.

Utilisation

Questions d’utilisation

Comment migrer depuis mem0 ?
  1. pip install git+https://github.com/UU114/memx.git

  2. Remplacez from mem0 import Memory par from memx import Memory

  3. Le code existant n’a pas besoin d’être modifié (ACE est désactivé par défaut).

  4. Une fois prêt, ajoutez config={"ace_enabled": True} pour activer les fonctionnalités intelligentes.

Où les données sont-elles stockées ?

Cela dépend du backend de base de données vectorielle configuré ; par défaut en mémoire (perdues au redémarrage), il est recommandé en production de persister avec Qdrant/Chroma. Le modèle d’embedding local est mis en cache dans ~/.memx/models/.

Comment contrôler la vitesse de décroissance ?
ParamètreEffet
decay.half_life_daysAugmenter → décroissance plus lente (30 jours par défaut)
decay.boost_factorAugmenter → renforcement du rappel plus marqué (0,1 par défaut)
decay.permanent_thresholdDiminuer → devient plus facilement une mémoire permanente (15 fois par défaut)
Comment traiter une connaissance mal interprétée ?
  1. memx list --scope project:my-app — consulter

  2. memx forget <memory-id> — supprimer

  3. memx learn "correct knowledge" — ajouter manuellement

Comment partager la mémoire entre plusieurs personnes / plusieurs agents ?

Activez le mode démon : plusieurs agents partagent une même base de connaissances via une socket IPC (plugins d’IDE, collaboration d’équipe), et utilisez scope pour distinguer les projets/espaces de travail.

Confidentialité

Questions de confidentialité

Le filtrage ne peut pas être désactivé

Les 12 règles intégrées de filtrage des informations sensibles constituent une limite de sécurité indésactivable ; seul l’ajout de règles supplémentaires via privacy_custom_patterns est possible.

Quels types d’informations sensibles sont filtrés ?
TypeExemple
Clé privée PEM-----BEGIN RSA PRIVATE KEY-----
Token Bearer / JWTBearer eyJhbG...
Clé API Anthropicsk-ant-api03-*
Clé API OpenAIsk-proj-*
Token GitHubghp_*, github_pat_*
Clé d’accès AWSAKIA*
Clé secrète AWS40 caractères base64
Chaîne de connexion à une base de donnéespostgres://user:pass@host/db
Chemin du système d’exploitation/home/user/.ssh/id_rsa
Règle personnaliséeajoutée via privacy_custom_patterns

INFO

Ces 12 règles ciblent les informations sensibles de type secrets et chemins locaux (secrets + user paths), et non les PII au sens traditionnel (e-mail / téléphone / carte d’identité, etc.). Si vous avez besoin d’un filtrage des PII, étendez-le vous-même via privacy_custom_patterns.

Que deviennent les valeurs originales après filtrage ?

Elles sont remplacées par un espace réservé (par exemple [REDACTED:api_key]), et la valeur originale n’est stockée nulle part. Le filtrage est exécuté tout en amont du pipeline d’écriture.

Performance

Questions de performance

Combien de mémoires peut-on stocker ?

Cela dépend de la capacité du backend de base de données vectorielle ; MemX lui-même n’impose aucune limite stricte ; le moteur de décroissance archive automatiquement afin de maintenir une taille active raisonnable.

RecallReinforcer affecte-t-il les performances de recherche ?

Non. Il s’exécute dans un thread d’arrière-plan asynchrone et ne met à jour recall_count qu’après le renvoi des résultats, sans bloquer la recherche.

Quelle est la latence de récupération ? (< 10 000 mémoires)
OpérationLatence
Recherche hybride à quatre couches10-50 ms
Recherche par mots-clés pure (repli L4)5-20 ms
Calcul d’embedding local< 5 ms
Écriture (avec Reflector + Curator)20-100 ms

Étapes suivantes ​

Étapes suivantes

Powered by Lurus Technologies