Spaces:
Sleeping
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:
python3 -m venv .venv
source .venv/bin/activate
Instalar las dependencias:
pip install -r requirements.txt
Ejecución local
Para ejecutar la aplicación localmente:
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:
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