AI Personal Learning
und praktische Anleitung
豆包Marscode1

FastAPI DocGPT: FastAPI-basiertes System zur Verarbeitung von PDF-Dokumenten und für Fragen und Antworten

Allgemeine Einführung

FastAPI DocGPT ist ein FastAPI-basiertes Dokumenten-Quizsystem, das es Benutzern ermöglicht, PDF-Dateien hochzuladen und sie auf der Grundlage des Dokumenteninhalts zu befragen. Das System nutzt die Einbettungstechnologie von OpenAI, um Dokumentinhalte in eine Vektordatenbank, Qdrant, einzubetten und so intelligente Fragen und Antworten zu ermöglichen. Die Benutzer können Dokumente hochladen und über die API-Schnittstelle Fragen stellen, woraufhin das System intelligente Antworten auf der Grundlage des Dokumenteninhalts liefert.

 

Funktionsliste

  • PDF-UploadBenutzer können PDF-Dateien hochladen, die verarbeitet und in der Vektordatenbank gespeichert werden.
  • Frage- und AntwortsystemBenutzer können auf der Grundlage des hochgeladenen PDF-Inhalts Fragen stellen, und das System gibt intelligente Antworten zurück.
  • API-DokumentationBietet automatisch generierte API-Dokumentation durch Swagger für die Bequemlichkeit der Entwickler.
  • Domänenübergreifende gemeinsame Nutzung von RessourcenCORS-Unterstützung: Ermöglicht Front-End-Anfragen aus verschiedenen Domänen.

 

Hilfe verwenden

Installation und Einrichtung

  1. Klon-Lager
    git clone https://github.com/shaheryaryousaf/fastapi-docgpt
    cd fastapi-docgpt
    
  2. Einrichten einer virtuellen Umgebung
    python3 -m venv venv
    source venv/bin/activate  # Windows: venv\Scripts\activate
    
  3. Installation von Abhängigkeiten
    pip install -r requirements.txt
    
  4. Umgebungsvariablen konfigurieren Erstellen Sie im Stammverzeichnis des Projekts die Datei .env Datei und fügen Sie API-Schlüssel für OpenAI und Qdrant hinzu:
    OPENAI_API_KEY=your-openai-api-key
    QDRANT_URL=your-qdrant-url
    QDRANT_API_KEY=your-qdrant-api-key
    

Leitlinien für die Verwendung

  1. Starten der FastAPI-Anwendung
    uvicorn app:app --reload
    

    Dadurch wird die FastAPI-Anwendung mit dem http://127.0.0.1:8000 Erbringung von Dienstleistungen.

  2. Hochladen von PDF-Dateien passieren (eine Rechnung oder Inspektion etc.) /upload-pdf/ Endpunkte laden PDF-Dateien hoch:
    curl -X POST "http://127.0.0.1:8000/upload-pdf/" -F "file=@yourfile.pdf"
    

    Das System verarbeitet die PDF-Datei und bettet ihren Inhalt in die Vektordatenbank ein.

  3. setzen. passieren (eine Rechnung oder Inspektion etc.) /ask-question/ Endpunkte werfen Fragen auf:
    curl -X POST "http://127.0.0.1:8000/ask-question/" -H "Content-Type: application/json" -d '{"question": "你的问题"}'
    

    Das System liefert intelligente Antworten auf der Grundlage des Inhalts des Dokuments.

Struktur des Projekts

  • app.pyFastAPI: Die Hauptanwendungsdatei von FastAPI, die die API-Endpunkte für den PDF-Upload und das Q&A-System enthält.
  • utils.pyEnthält Dienstfunktionen zur Verarbeitung von PDF-Dateien, zum Senden von Einbettungen an Vektordatenbanken und zum Abrufen von Antworten aus Einbettungen.
  • .env Datei: Verwaltet API-Schlüssel für OpenAI und Qdrant.

Bibliothek der Abhängigkeiten (Informatik)

  • FastAPI: Wird zur Erstellung von Web-APIs verwendet.
  • Qdrant-Kunde: Dient zum Speichern und Abrufen von Dokumenteneinbettungen.
  • LangChainFür die Verarbeitung von PDF und die Einbettung.
  • OpenAI: zur Erzeugung von Einbettungs- und KI-Modellantworten.
  • PyPDFLoaderExtrahiert Text aus PDF-Dateien.
  • CORS-MiddlewareCORS (Cross-Domain Resource Sharing): Ermöglicht Front-End-Anfragen aus verschiedenen Domänen.
  • dotenvVerwalten von Umgebungsvariablen (z.B. API-Schlüssel).

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " FastAPI DocGPT: FastAPI-basiertes System zur Verarbeitung von PDF-Dokumenten und für Fragen und Antworten
de_DEDeutsch