FastAPI DocGPT : système de traitement de documents PDF et de questions-réponses basé sur FastAPI
Introduction générale
FastAPI DocGPT est un système de quiz basé sur FastAPI qui permet aux utilisateurs de télécharger des fichiers PDF et de les soumettre à un quiz basé sur le contenu du document. Le système utilise la technologie d'intégration d'OpenAI pour intégrer le contenu des documents dans une base de données vectorielle, Qdrant, afin de permettre des questions-réponses intelligentes. Les utilisateurs peuvent télécharger des documents et poser des questions par l'intermédiaire de l'interface API, et le système renvoie des réponses intelligentes basées sur le contenu du document.
Liste des fonctions
- Téléchargement PDFLes utilisateurs peuvent télécharger des fichiers PDF, qui sont traités et stockés dans la base de données vectorielle.
- système de questions-réponsesLes utilisateurs peuvent poser des questions sur la base du contenu du PDF téléchargé et le système leur renvoie des réponses intelligentes.
- Documentation de l'API: Fournit une documentation d'API auto-générée via Swagger pour la commodité des développeurs.
- Partage des ressources entre domainesSupports CORS : Supports CORS, permettant des requêtes frontales à partir de différents domaines.
Utiliser l'aide
Installation et configuration
- entrepôt de clones
git clone https://github.com/shaheryaryousaf/fastapi-docgpt cd fastapi-docgpt
- Mise en place d'un environnement virtuel
python3 -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
- Installation des dépendances
pip install -r requirements.txt
- Configuration des variables d'environnement Dans le répertoire racine du projet, créez le fichier
.env
et ajoutez les clés API pour OpenAI et Qdrant :OPENAI_API_KEY=your-openai-api-key QDRANT_URL=your-qdrant-url QDRANT_API_KEY=your-qdrant-api-key
Lignes directrices pour l'utilisation
- Lancement de l'application FastAPI
uvicorn app:app --reload
Cela permet de démarrer l'application FastAPI avec l'option
http://127.0.0.1:8000
Prestation de services. - Télécharger des fichiers PDF faire passer (un projet de loi, une inspection, etc.)
/upload-pdf/
Les points d'accès téléchargent des fichiers PDF :curl -X POST "http://127.0.0.1:8000/upload-pdf/" -F "file=@yourfile.pdf"
Le système traite le fichier PDF et intègre son contenu dans la base de données vectorielle.
- mettre faire passer (un projet de loi, une inspection, etc.)
/ask-question/
Les points finaux soulèvent des questions :curl -X POST "http://127.0.0.1:8000/ask-question/" -H "Content-Type: application/json" -d '{"question": "你的问题"}'
Le système renvoie des réponses intelligentes basées sur le contenu du document.
Structure du projet
app.py
Fichier principal de l'application FastAPI contenant les points de terminaison de l'API pour le téléchargement de PDF et le système de questions-réponses.utils.py
: Contient des fonctions utilitaires pour le traitement des fichiers PDF, l'envoi d'embeddings vers des bases de données vectorielles et l'extraction de réponses à partir d'embeddings..env
Fichier : gère les clés API pour OpenAI et Qdrant.
bibliothèque de dépendances (informatique)
- FastAPI: Utilisé pour créer des API Web.
- Client Qdrant: Utilisé pour stocker et récupérer des documents incorporés.
- LangChainPour le traitement des PDF et des fichiers joints.
- OpenAILe modèle d'intégration et le modèle d'IA : pour générer des réponses d'intégration et de modèle d'IA.
- PyPDFLoader: Permet d'extraire du texte à partir de fichiers PDF.
- Middleware CORSLe partage des ressources entre domaines (CORS), qui permet d'envoyer des requêtes à partir de différents domaines.
- dotenvGestion des variables d'environnement (telles que les clés d'API).
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...