Spaces:
Sleeping
Sleeping
File size: 2,713 Bytes
f7888fc | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | # 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
|