FastAPI DocGPT: sistema de procesamiento de documentos PDF y preguntas y respuestas basado en FastAPI
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
- almacén de clones
git clone https://github.com/shaheryaryousaf/fastapi-docgpt cd fastapi-docgpt
- Crear un entorno virtual
python3 -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
- Instalación de dependencias
pip install -r requirements.txt
- 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
- 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. - 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.
- 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.py
Archivo 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
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...