Python / README.md
Adrian Palma
add README
f7888fc
|
raw
history blame
2.71 kB
# RAG Question Answering System
Sistema de preguntas y respuestas basado en Retrieval-Augmented
Generation (RAG) que utiliza una pequeña base de conocimiento en inglés
almacenada en `documents.json`.
La aplicación permite realizar preguntas en inglés y obtiene la
respuesta utilizando: - Recuperación de documentos relevantes mediante
embeddings. - Generación de respuesta usando un modelo de lenguaje. -
Una interfaz web interactiva desarrollada con **Gradio**.
------------------------------------------------------------------------
## Estructura del proyecto
app.py
rag_engine.py
documents.json
requirements.txt
README.md
/tests
test_api.py
- **app.py**: interfaz web con Gradio.
- **rag_engine.py**: lógica del sistema RAG (recuperación de
documentos y generación de respuestas).
- **documents.json**: base de conocimiento utilizada por el sistema.
- **requirements.txt**: dependencias necesarias para ejecutar el
proyecto.
- **tests/test_api.py**: script para probar la API del sistema
desplegado.
------------------------------------------------------------------------
## Instalación
Clonar el repositorio o descargar los archivos y crear un entorno
virtual:
``` bash
python3 -m venv .venv
source .venv/bin/activate
```
Instalar las dependencias:
``` bash
pip install -r requirements.txt
```
------------------------------------------------------------------------
## Ejecución local
Para ejecutar la aplicación localmente:
``` bash
python app.py
```
Luego abrir el navegador en:
http://127.0.0.1:7860
Desde la interfaz se pueden realizar preguntas en inglés sobre la base
de conocimiento.
------------------------------------------------------------------------
## Despliegue
La aplicación está desplegada en **Hugging Face Spaces** utilizando el
SDK de Gradio.
URL del Space:
https://adrianpalmadev-rag-qa-system.hf.space
------------------------------------------------------------------------
## Uso de la API
El sistema también puede utilizarse mediante la API generada
automáticamente por Gradio.
Ejemplo de cliente en Python:
``` python
from gradio_client import Client
client = Client("https://adrianpalmadev-rag-qa-system.hf.space")
result = client.predict(
query="Where is the hospital?",
top_k=2,
umbral=0.5,
api_name="/ask"
)
print(result)
```
Este script devuelve: - La respuesta generada por el modelo. - Los
documentos recuperados utilizados como contexto.
------------------------------------------------------------------------
## Tecnologías utilizadas
- Python
- Transformers
- Sentence Transformers
- Scikit-learn
- Gradio
- Hugging Face Spaces