Llm-mem?
Un modèle de langage amélioré avec stockage de mémoire sémantique
Une implémentation basée sur un python qui augmente les modèles de langage avec une mémoire sémantique persistante à l'aide d'incorporation de vecteur et de recherche de similitude.
? Caractéristiques
- Chunking sémantique des conversations à l'aide de NLTK
- Génération d'intégration vectorielle en utilisant des transformateurs de phrases
- Retrie de contexte basé sur la similitude en cosinus
- Stockage de mémoire persistant à l'aide de la base de données vectorielle
- Injection de contexte automatique pour des réponses plus cohérentes
- Smart Text Chunking avec préservation du bloc de code
Pile technique
-
sentence-transformers : pour générer des incorporations sémantiques -
nltk : boîte à outils de traitement du langage naturel pour la manipulation du texte - Intégration LLM personnalisée
- Vector-store pour stocker et récupérer des intérêts
- Points de terminaison API REST pour les opérations vectorielles
? Condition préalable
- transformateurs de phrase
- NLTK
- demandes
- google-generativaiai
Démarrage rapide
- Clone le référentiel:
git clone https://github.com/Abhigyan126/LLM-MEM.git
cd LLM-MEM
- Installez les dépendances:
pip install sentence-transformers nltk requests google-generativeai
- Créer un fichier .env
- Exécutez le script principal:
Comment ça marche
- Traitement du texte : les messages entrants sont traités et nettoyés
- Génération d'intégration : convertit le texte en intégres vectoriels
- Recherche sémantique : trouve des contextes précédents pertinents en utilisant la similitude du cosinus
- Intégration de contexte : fusionne l'historique pertinent avec la requête actuelle
- Génération de réponse : génère une réponse en utilisant LLM avec un contexte amélioré
- Stockage de la mémoire : stocke de nouvelles interactions pour référence future
? Configuration
Le système utilise plusieurs paramètres configurables:
- Longueur de morceau maximum: 2000 caractères
- Taille minimale de morceaux: 100 caractères
- Seuil de similitude: 0,5
- Par défaut voisins les plus proches: 10