Chat With LLMs est une application Web qui permet aux utilisateurs de discuter avec divers grands modèles de langage (LLM) des principaux fournisseurs d'IA. Il permet aux utilisateurs de changer de modèle en cours de conversation sans perdre le contexte de discussion.
Ce projet intègre la génération de texte pilotée par API à l'aide de divers grands modèles linguistiques (LLM). Le cadre utilisé pour orchestrer ces interactions est LangChain, permettant une intégration transparente et une sélection dynamique de modèles entre différents fournisseurs.
Actuellement, la plateforme prend en charge six fournisseurs LLM distincts, chacun proposant une gamme de modèles de chat :
Ce sont
Authentification : l'application Web utilise Google OAuth 2.0 pour l'authentification et la connexion sécurisées des utilisateurs.
Serveur backend : les messages utilisateur sont traités et les réponses des LLM sont générées à l'aide du framework FastAPI de Python. Le backend intègre également le framework LangChain, qui est responsable de la génération rapide et de la gestion des appels d'API vers différents fournisseurs LLM.
Streaming d'événements : les événements envoyés par le serveur (SSE) sont une norme de communication unidirectionnelle en temps réel entre un serveur et un client via HTTP. Avec SSE, le serveur peut transmettre les données générées jeton par jeton au client sans que celui-ci ait à les demander à plusieurs reprises.
Base de données Firestore : les informations utilisateur, les détails des discussions et l'historique des discussions sont stockés dans la base de données Firestore de Google. Firestore a été choisi pour son niveau gratuit, ses hautes performances et ses capacités de mise à l'échelle automatique, ce qui le rend idéal pour les applications dynamiques et en croissance.
ReactJS Frontend : Le frontend est construit avec ReactJS, fournissant une interface utilisateur interactive et réactive pour une interaction transparente avec l'application de chat.
Faites une copie du fichier .env.example
et renommez-le en .env
:
cp .env.example .env # For Unix/Linux
copy .env.example .env # For Windows
Ouvrez le fichier .env
dans un éditeur de texte et saisissez les variables nécessaires avec leurs valeurs correspondantes. Ces variables sont généralement des clés API et d'autres configurations spécifiques à l'environnement.
docker-compose up
Tous les services seront opérationnels sur les ports suivants :
Backend FastAPI : localhost:8080
ReactJS Frontend : localhost:3000
pip install pipenv
pipenv install
nodemon
or
uvicorn app:app --port 5000
cd web
npm install
npm start
Accédez aux documents swagger en utilisant le lien ci-dessous
http://localhost:8080/docs