Ce référentiel contient un chatbot avancé créé avec l'API OpenAI qui exploite la mémoire à long terme, la logique avancée, les intégres et les bases de données pour fournir une expérience utilisateur vraiment unique. Contrairement aux chatbots traditionnels qui répondent simplement aux entrées des utilisateurs en fonction des règles ou scripts prédéfinis, ce chatbot peut se rappeler ce que vous avez dit dans les conversations antérieures et s'appuyer sur ces connaissances pour fournir des réponses plus personnalisées et pertinentes.
Les capacités logiques avancées du chatbot signifient également qu'elle peut gérer des conversations plus complexes et fournir des réponses plus nuancées, ce qui donne l'impression que vous discutez avec une vraie personne. De plus, le chatbot utilise des intégres et des bases de données pour réaliser une mémoire à long terme, ce qui lui permet de conserver des informations des conversations précédentes et d'utiliser ces informations pour éclairer les interactions futures.
Pour garantir une expérience utilisateur sécurisée, le chatbot comprend également l'authentification Know-your-Customer (KYC) via Google Login. Cette fonctionnalité vérifie l'identité des utilisateurs et aide à prévenir la fraude et les abus.
L'une des principales caractéristiques de ce chatbot est ses invites flexibles. Par exemple, l'invite par défaut est conçue pour que le chatbot agisse comme un enseignant italien, mais vous pouvez facilement modifier l'invite pour s'adapter à tout autre cas d'utilisation que vous avez en tête. Cela rend le chatbot très polyvalent et adaptable à un large éventail de cas d'utilisation.
Utilise le dernier modèle (GPT-3.5-Turbo) de l'API OpenAI pour le traitement avancé du langage naturel
Mémoire à long terme réalisée grâce à des intérêts et des bases de données
Les invites flexibles permettent une personnalisation facile à s'adapter à n'importe quel cas d'utilisation
Les capacités logiques avancées permettent des conversations plus complexes et des réponses nuancées
L'authentification KYC via Google Login assure une expérience utilisateur sécurisée
Peut être facilement intégré dans diverses applications et plateformes
Si vous recherchez un chatbot qui va au-delà des scripts et des règles simples et que vous pouvez fournir une expérience utilisateur plus personnalisée et engageante tout en conservant la sécurité des informations utilisateur, ce chatbot alimenté par AI avec mémoire à long terme, logique avancée et authentification KYC est la solution parfaite!

Pour utiliser le chatbot, vous devrez d'abord cloner ce référentiel sur votre machine locale. Vous pouvez le faire en exécutant la commande suivante dans votre terminal:
git clone https://github.com/FaustoNisida/AI-Chatbot-Long-Term-Memory thefolderofyourchoise
cd thefolderofyourchoise
Ensuite, vous devrez installer toutes les dépendances pour les applications client et serveur. Pour ce faire, accédez d'abord au répertoire client dans votre terminal:
cd client
Ensuite, exécutez la commande suivante pour installer les dépendances du client:
npm install --force
Notez que l'indicateur - Force peut être nécessaire si vous rencontrez des erreurs pendant le processus d'installation.
Ensuite, accédez au répertoire du serveur dans votre terminal:
cd ../server
Ensuite, exécutez la commande suivante pour installer les dépendances du serveur:
npm install
Après avoir installé les dépendances, vous devrez créer un fichier .env dans les répertoires client et serveur contenant les variables environnementales suivantes:
OPENAI_API_KEY=<youropenaiapikey>
Créez votre clé Openai ici
API_KEY=<yourcustomapikeyforaccessingtheserver>
Vous pouvez placer n'importe quel mot de passe ou clé de votre choix dans le champ API_KEY .
VITE_Api_Key=<yourcustomapikeyforaccessingtheserver>
VITE_Google_Client_id=<yourgoogleclientid>
Créez un projet puis un ID client Google ici
Pour vous assurer que votre identifiant Google Client est correctement configuré, il est essentiel d'inclure les origines suivantes pendant le processus de création:
Origines JavaScript autorisées:
URIS redirigé autorisé:


Dans le champ VITE_Api_Key , vous devez placer le même mot de passe ou clé que vous avez placé dans la variable environnementale API_KEY du fichier client .env
Vous êtes maintenant prêt à utiliser l'application
Ouvrez une fenêtre de terminal.
Accédez au répertoire du serveur en exécutant le cd server de commande.
Démarrez le serveur en exécutant le npm run server .
Le serveur s'exécute maintenant sur http: // localhost: 3000
Par défaut, le chatbot est configuré pour agir comme un enseignant italien. Cependant, vous pouvez facilement modifier l'invite pour s'adapter à tout autre cas d'utilisation que vous avez en tête. Modifiez simplement l'invite à la ligne 97 du fichier index.js dans le répertoire du serveur pour inclure l'invite souhaitée .
Ouvrez une deuxième fenêtre de terminal, sans fermer le terminal où exécute actuellement le client .
Accédez au répertoire client en exécutant le cd client de commande.
Démarrez le client en exécutant la commande npm run dev .
Le client et le serveur sont maintenant en cours d'exécution et vous pouvez accéder à l'application en visitant http: // localhost: 5173 dans votre navigateur Web.
Profitez de l'utilisation!
Il est recommandé de stocker les intérêts et les entrées et sorties associés à ceux d'une base de données qui prend en charge la recherche de vecteurs, comme Weavate ou Pinecone. Bien que les fichiers JSON locaux (comme je l'ai utilisé pour ce projet pour le temps) puissent être utilisés comme base de données pour des projets à petite échelle ou un prototypage, il est de la meilleure pratique d'utiliser des bases de données spécialisées lorsqu'elles traitent des intégres et des données associées.
En stockant les intérêts et les données associées dans une base de données de recherche de vecteur, vous pouvez facilement rechercher et récupérer des informations pertinentes en cas de besoin, sans avoir à compter sur des requêtes de base de données plus complexes et plus lentes. Cela peut considérablement améliorer la vitesse et l'efficacité globales du chatbot, ce qui entraîne une meilleure expérience utilisateur.
Gardez à l'esprit que si ces bases de données peuvent offrir des avantages importants, ils peuvent également nécessiter une configuration et une maintenance supplémentaires par rapport aux bases de données traditionnelles. Considérez vos besoins et ressources spécifiques avant de décider d'utiliser une base de données de recherche vectorielle.
Si vous souhaitez contribuer à ce projet, n'hésitez pas à soumettre une demande de traction avec vos modifications proposées. Nous accueillons toutes les contributions, y compris les corrections de bogues, les nouvelles fonctionnalités et les améliorations de la documentation.
Si vous avez des questions ou des commentaires sur ce projet, n'hésitez pas à nous contacter:
Nous aimerions avoir de vos nouvelles et nous sommes heureux de vous aider avec tous les problèmes que vous pourriez rencontrer.