Cette application facilite un chatbot en tirant parti de Next.js comme frontend et de FastAPI comme backend, en utilisant la puissance de LangChain pour les interactions Web dynamiques.
L'application intègre le serveur Python/FastAPI dans l'application Next.js sous la route /api/
. Ceci est réalisé grâce aux réécritures next.config.js
, dirigeant toutes les requêtes /api/:path*
vers le serveur FastAPI situé dans le dossier /api
. Localement, FastAPI fonctionne sur 127.0.0.1:8000
, tandis qu'en production, il fonctionne comme des fonctions sans serveur sur Vercel.
npm install
.env
avec votre clé API OpenAI : OPENAI_API_KEY=[your-openai-api-key]
npm run dev
Pour les tests backend uniquement :
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
Les options de préservation de l'historique des discussions incluent :
RAG (Retrieval Augmented Generation) améliore les modèles de langage avec un contexte récupéré à partir d'une base de connaissances personnalisée. Le processus consiste à récupérer des documents HTML, à les diviser en morceaux et à vectoriser ces morceaux à l'aide de modèles d'intégration tels que ceux d'OpenAI. Ces données vectorisées forment un magasin vectoriel, permettant des recherches sémantiques basées sur les requêtes des utilisateurs. Les morceaux pertinents récupérés sont ensuite utilisés comme contexte pour le modèle de langage, formant une réponse complète aux demandes des utilisateurs.
La fonction get_vectorstore_from_url
extrait et traite le texte d'une URL donnée, tandis que get_context_retriever_chain
forme une chaîne qui récupère le contexte pertinent pour l'ensemble de l'historique de la conversation. Cette approche de pipeline garantit que les réponses sont contextuelles et exactes.