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