Diese Anwendung ermöglicht einen Chatbot, indem sie Next.js als Frontend und FastAPI als Backend nutzt und die Leistungsfähigkeit von LangChain für dynamische Webinteraktionen nutzt.
Die Anwendung integriert den Python/FastAPI-Server in die Next.js-App unter der Route /api/
. Dies wird durch Umschreibungen next.config.js
erreicht, die alle /api/:path*
-Anfragen an den FastAPI-Server im Ordner /api
weiterleiten. Lokal läuft FastAPI unter 127.0.0.1:8000
, während es in der Produktion als serverlose Funktionen auf Vercel ausgeführt wird.
npm install
.env
Datei mit Ihrem OpenAI-API-Schlüssel: OPENAI_API_KEY=[your-openai-api-key]
npm run dev
Für reine Backend-Tests:
conda create --name nextjs-fastapi-your-chat python=3.10
conda activate nextjs-fastapi-your-chat
pip install -r requirements.txt
uvicorn api.index:app --reload
Zu den Optionen zum Beibehalten des Chatverlaufs gehören:
RAG (Retrieval Augmented Generation) erweitert Sprachmodelle mit Kontext, der aus einer benutzerdefinierten Wissensdatenbank abgerufen wird. Der Prozess umfasst das Abrufen von HTML-Dokumenten, deren Aufteilung in Blöcke und die Vektorisierung dieser Blöcke mithilfe von Einbettungsmodellen wie OpenAI. Diese vektorisierten Daten bilden einen Vektorspeicher und ermöglichen semantische Suchen basierend auf Benutzeranfragen. Die abgerufenen relevanten Blöcke werden dann als Kontext für das Sprachmodell verwendet und bilden eine umfassende Antwort auf Benutzeranfragen.
Die Funktion get_vectorstore_from_url
extrahiert und verarbeitet Text aus einer bestimmten URL, während get_context_retriever_chain
eine Kette bildet, die für den gesamten Konversationsverlauf relevanten Kontext abruft. Dieser Pipeline-Ansatz stellt sicher, dass die Antworten kontextbezogen und korrekt sind.