Chat With LLMs ist eine Web-App, die es Benutzern ermöglicht, mit verschiedenen großen Sprachmodellen (LLMs) führender KI-Anbieter zu chatten. Es ermöglicht Benutzern, während des Gesprächs zwischen Modellen zu wechseln, ohne den Chat-Kontext zu verlieren.
Dieses Projekt integriert die API-gesteuerte Textgenerierung mithilfe verschiedener Large Language Models (LLMs). Das zur Orchestrierung dieser Interaktionen verwendete Framework ist LangChain und ermöglicht eine nahtlose Integration und dynamische Modellauswahl über verschiedene Anbieter hinweg.
Derzeit unterstützt die Plattform sechs verschiedene LLM-Anbieter, die jeweils eine Reihe von Chat-Modellen anbieten:
Das sind
Authentifizierung : Die Webanwendung nutzt Google OAuth 2.0 für die sichere Benutzerauthentifizierung und Anmeldung.
Backend-Server : Benutzernachrichten werden verarbeitet und Antworten von den LLMs werden mithilfe des FastAPI-Frameworks von Python generiert. Das Backend integriert außerdem das LangChain-Framework, das für die zeitnahe Generierung und Verwaltung von API-Aufrufen an verschiedene LLM-Anbieter verantwortlich ist.
Ereignis-Streaming : Server-Sent Events (SSE) ist ein Standard für die unidirektionale Echtzeitkommunikation von einem Server zu einem Client über HTTP. Mit SSE kann der Server die generierten Daten Token für Token an den Client weiterleiten, ohne dass dieser sie wiederholt anfordern muss.
Firestore-Datenbank : Benutzerinformationen, Chat-Details und Chat-Verlauf werden in der Firestore-Datenbank von Google gespeichert. Firestore wurde aufgrund seines kostenlosen Kontingents, seiner hohen Leistung und seiner automatischen Skalierungsfunktionen ausgewählt, was es ideal für dynamische, wachsende Anwendungen macht.
ReactJS-Frontend : Das Frontend ist mit ReactJS erstellt und bietet eine interaktive und reaktionsfähige Benutzeroberfläche für eine nahtlose Interaktion mit der Chat-Anwendung.
Erstellen Sie eine Kopie der Datei .env.example
und benennen Sie sie in .env
um:
cp .env.example .env # For Unix/Linux
copy .env.example .env # For Windows
Öffnen Sie die .env
Datei in einem Texteditor und geben Sie die erforderlichen Variablen mit den entsprechenden Werten ein. Diese Variablen sind typischerweise API-Schlüssel und andere umgebungsspezifische Konfigurationen.
docker-compose up
Alle Dienste werden auf den folgenden Ports verfügbar sein:
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
Greifen Sie über den untenstehenden Link auf die Swagger-Dokumente zu
http://localhost:8080/docs