Spaces:
Sleeping
Sleeping
| 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 | |