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

  1. entrepôt de clones
    git clone https://github.com/shaheryaryousaf/fastapi-docgpt
    cd fastapi-docgpt
    
  2. Mise en place d'un environnement virtuel
    python3 -m venv venv
    source venv/bin/activate  # Windows: venv\Scripts\activate
    
  3. Installation des dépendances
    pip install -r requirements.txt
    
  4. 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

  1. 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.

  2. 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.

  3. 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.pyFichier 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

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...