Este proyecto es una aplicación RAG basada en Flask que integra varios servicios como Azure OpenAI, Azure AI Search, y CosmosDB.
-
main.py: Archivo principal que inicia la aplicación. -
chat.py: Define la claseChat, que es responsable de procesar las solicitudes del chat de los usuarios. Las principales funciones incluyen: -
Carga de parámetros: Carga parámetros de configuración desde un archivo para definir rutas y otros ajustes.
-
Procesamiento de consultas: Recibe y maneja solicitudes de chat, obteniendo las consultas enviadas por el usuario.
-
Gestión de archivos: Permite leer archivos necesarios para procesar correctamente las solicitudes.
-
app.py: Este archivo es el punto de entrada de la aplicación Flask y expone los endpoints principales: -
/: Sirve la página principal de la aplicación web. -
/chat: Endpoint que recibe solicitudes POST con consultas de los usuarios y devuelve respuestas procesadas por el archivochat.py. -
Gestión de sesiones: Asigna un
sessionIDúnico a cada usuario para mantener el estado de la sesión. -
Arranque de la aplicación: Ejecuta la aplicación Flask en el host y puerto especificados en los parámetros de configuración.
-
Servicios (
services/): Implementaciones de servicios que interactúan con APIs y bases de datos.azopenai.py: Servicio para interactuar con la API de OpenAI de Azure.azureaisearch.py: Servicio para realizar búsquedas con Azure AI Search.cosmosdb.py: Servicio para interactuar con la base de datos CosmosDB.
-
Configuración (
config/): Archivos de configuración para los parámetros de la aplicación. -
Estáticos (
static/): Contiene archivos estáticos como imágenes, estilos y scripts. -
Plantillas (
templates/): Contiene las plantillas HTML para la aplicación web.
Para ejecutar este proyecto, asegúrate de tener instaladas las siguientes dependencias:
-
Abre una terminal (CMD o PowerShell) y navega hasta la carpeta del proyecto.
-
Crea el entorno virtual con el siguiente comando:
python -m venv venv
-
Activa el entorno virtual con el siguiente comando:
venv\Scripts\activate
-
Instala las dependencias del proyecto utilizando el siguiente comando:
pip install -r requirements.txt
-
Abre una terminal y navega hasta la carpeta del proyecto.
-
Crea el entorno virtual con el siguiente comando:
python3 -m venv venv
-
Activa el entorno virtual con el siguiente comando:
source venv/bin/activate -
Instala las dependencias del proyecto utilizando el siguiente comando:
pip install -r requirements.txt
Una vez que hayas creado y activado el entorno virtual e instalado las dependencias, puedes ejecutar la aplicación con:
uvicorn main:app --reload
- Esto iniciará la aplicación en modo de desarrollo, y podrás acceder a la API en http://127.0.0.1:8080/.