FastAPI DocGPT: sistema de procesamiento de documentos PDF y preguntas y respuestas basado en FastAPI

Últimas herramientas de IAActualizado hace 7 meses Sharenet.ai
1.1K 0
Trae

Introducción general

FastAPI DocGPT es un sistema de preguntas y respuestas sobre documentos basado en FastAPI que permite a los usuarios cargar archivos PDF y realizar preguntas y respuestas basadas en el contenido del documento. El sistema utiliza la tecnología de incrustación de OpenAI para incrustar el contenido de los documentos en una base de datos vectorial, Qdrant, para permitir preguntas y respuestas inteligentes. Los usuarios pueden cargar documentos y hacer preguntas a través de la interfaz API, y el sistema devolverá respuestas inteligentes basadas en el contenido del documento.

 

Lista de funciones

  • Subir PDFLos usuarios pueden cargar archivos PDF, que se procesan y almacenan en la base de datos de vectores.
  • sistema de preguntas y respuestasLos usuarios pueden hacer preguntas basadas en el contenido del PDF cargado y el sistema les dará respuestas inteligentes.
  • Documentación APIProporciona documentación de API autogenerada a través de Swagger para comodidad del desarrollador.
  • Compartir recursos entre dominios: Soporta CORS, permitiendo peticiones front-end desde diferentes dominios.

 

Utilizar la ayuda

Instalación y configuración

  1. almacén de clones
    git clone https://github.com/shaheryaryousaf/fastapi-docgpt
    cd fastapi-docgpt
    
  2. Crear un entorno virtual
    python3 -m venv venv
    source venv/bin/activate  # Windows: venv\Scripts\activate
    
  3. Instalación de dependencias
    pip install -r requirements.txt
    
  4. Configuración de variables de entorno En el directorio raíz del proyecto, cree el archivo .env y añadir claves API para OpenAI y Qdrant:
    OPENAI_API_KEY=your-openai-api-key
    QDRANT_URL=your-qdrant-url
    QDRANT_API_KEY=your-qdrant-api-key
    

Normas de uso

  1. Inicio de la aplicación FastAPI
    uvicorn app:app --reload
    

    Esto iniciará la aplicación FastAPI con la etiqueta http://127.0.0.1:8000 Prestación de servicios.

  2. Cargar archivos PDF aprobar (una factura o inspección, etc.) /upload-pdf/ Los puntos finales cargan archivos PDF:
    curl -X POST "http://127.0.0.1:8000/upload-pdf/" -F "file=@yourfile.pdf"
    

    El sistema procesa el archivo PDF e incorpora su contenido a la base de datos de vectores.

  3. poner aprobar (una factura o inspección, etc.) /ask-question/ Los puntos finales plantean interrogantes:
    curl -X POST "http://127.0.0.1:8000/ask-question/" -H "Content-Type: application/json" -d '{"question": "你的问题"}'
    

    El sistema devuelve respuestas inteligentes basadas en el contenido del documento.

Estructura del proyecto

  • app.pyArchivo principal de la aplicación FastAPI que contiene los puntos finales de la API para el sistema de carga de PDF y de preguntas y respuestas.
  • utils.py: Contiene funciones de utilidad para procesar archivos PDF, enviar incrustaciones a bases de datos vectoriales y recuperar respuestas a partir de incrustaciones.
  • .env Archivo: Gestiona las claves API para OpenAI y Qdrant.

biblioteca de dependencias (informática)

  • FastAPI: Se utiliza para crear API web.
  • Cliente Qdrant: Se utiliza para almacenar y recuperar documentos incrustados.
  • Cadena LangChain: Para procesar PDF e incrustar.
  • OpenAI: para generar respuestas de incrustación y modelos de IA.
  • PyPDFLoader: Sirve para extraer texto de archivos PDF.
  • Middleware CORS: Gestiona la compartición de recursos entre dominios (CORS), permitiendo peticiones front-end desde diferentes dominios.
  • dotenvGestión de variables de entorno (como claves API).
© declaración de copyright
AiPPT

Artículos relacionados

Sin comentarios

ninguno
Sin comentarios...