Spaces:
Sleeping
Sleeping
File size: 2,454 Bytes
7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 f7888fc 7a6c314 | 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 117 118 119 120 121 122 123 124 125 126 127 128 129 | ---
title: RAG QA System
emoji: 🤖
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: "6.9.0"
app_file: app.py
pinned: false
---
# 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
```text
app.py
rag_engine.py
documents.json
requirements.txt
README.md
/tests
test_api.py
```
**Descripción de los archivos:**
- **app.py** → interfaz web construida con Gradio.
- **rag_engine.py** → lógica del sistema RAG (recuperación de documentos y generación de respuestas).
- **documents.json** → base de conocimiento usada por el chatbot.
- **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
```
Abrir el navegador en:
```text
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** usando el SDK de **Gradio**.
URL del Space:
```text
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
|