Este proyecto implementa una solución simple de tipo RAG (retrieved augmented generation) utilizando un LLM (large language model) a través de una API desarrollada con FastAPI en Python. La API permite a los usuarios hacer preguntas sobre un documento específico y recibir respuestas generadas por el LLM.
- Desarrollado con FastAPI en Python.
- Utiliza Cohere para la generación de respuestas.
- Almacena fragmentos del documento en ChromaDB para la búsqueda de contextos relevantes.
- Incluye manejo de errores para una experiencia robusta.
- Ofrece una estructura organizada y modular.
- Python 3.7 o superior.
- Acceso a internet para comunicación con Cohere API.
- Clona este repositorio en tu máquina local:
git clone https://github.com/JoacoCavarzan/PiData
- Accede al directorio del proyecto:
cd PiData
- Crea un entorno virtual e instala las dependencias:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt
- Configura las variables de entorno en un archivo
.env
:
COHERE_API_KEY=tu_clave_de_api_de_cohere
- Inicia el servidor de desarrollo:
uvicorn app.main:app --reload
- Abre tu navegador y visita
http://localhost:8000/docs
para acceder a la documentación de la API Swagger. - Realiza una solicitud POST a
/ask/
con el siguiente JSON en el cuerpo de la solicitud:
{ "user_name": "John Doe", "question": "How are you today?" }
¡Toda contribución es bienvenida! Si deseas contribuir al proyecto, sigue estos pasos:
- Haz un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad
). - Realiza tus cambios y haz commit (
git commit -am 'Agrega nueva funcionalidad'
). - Sube tus cambios a tu fork (
git push origin feature/nueva-funcionalidad
). - Crea un nuevo Pull Request.
Este proyecto está bajo la licencia MIT.