Adrian Palma commited on
Commit
f7888fc
·
1 Parent(s): 0a6046f

add README

Browse files
Files changed (1) hide show
  1. README.md +115 -12
README.md CHANGED
@@ -1,12 +1,115 @@
1
- ---
2
- title: Rag Qa System
3
- emoji: 🌖
4
- colorFrom: pink
5
- colorTo: green
6
- sdk: gradio
7
- sdk_version: 6.9.0
8
- app_file: app.py
9
- pinned: false
10
- ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # RAG Question Answering System
2
+
3
+ Sistema de preguntas y respuestas basado en Retrieval-Augmented
4
+ Generation (RAG) que utiliza una pequeña base de conocimiento en inglés
5
+ almacenada en `documents.json`.
6
+
7
+ La aplicación permite realizar preguntas en inglés y obtiene la
8
+ respuesta utilizando: - Recuperación de documentos relevantes mediante
9
+ embeddings. - Generación de respuesta usando un modelo de lenguaje. -
10
+ Una interfaz web interactiva desarrollada con **Gradio**.
11
+
12
+ ------------------------------------------------------------------------
13
+
14
+ ## Estructura del proyecto
15
+
16
+ app.py
17
+ rag_engine.py
18
+ documents.json
19
+ requirements.txt
20
+ README.md
21
+ /tests
22
+ test_api.py
23
+
24
+ - **app.py**: interfaz web con Gradio.
25
+ - **rag_engine.py**: lógica del sistema RAG (recuperación de
26
+ documentos y generación de respuestas).
27
+ - **documents.json**: base de conocimiento utilizada por el sistema.
28
+ - **requirements.txt**: dependencias necesarias para ejecutar el
29
+ proyecto.
30
+ - **tests/test_api.py**: script para probar la API del sistema
31
+ desplegado.
32
+
33
+ ------------------------------------------------------------------------
34
+
35
+ ## Instalación
36
+
37
+ Clonar el repositorio o descargar los archivos y crear un entorno
38
+ virtual:
39
+
40
+ ``` bash
41
+ python3 -m venv .venv
42
+ source .venv/bin/activate
43
+ ```
44
+
45
+ Instalar las dependencias:
46
+
47
+ ``` bash
48
+ pip install -r requirements.txt
49
+ ```
50
+
51
+ ------------------------------------------------------------------------
52
+
53
+ ## Ejecución local
54
+
55
+ Para ejecutar la aplicación localmente:
56
+
57
+ ``` bash
58
+ python app.py
59
+ ```
60
+
61
+ Luego abrir el navegador en:
62
+
63
+ http://127.0.0.1:7860
64
+
65
+ Desde la interfaz se pueden realizar preguntas en inglés sobre la base
66
+ de conocimiento.
67
+
68
+ ------------------------------------------------------------------------
69
+
70
+ ## Despliegue
71
+
72
+ La aplicación está desplegada en **Hugging Face Spaces** utilizando el
73
+ SDK de Gradio.
74
+
75
+ URL del Space:
76
+
77
+ https://adrianpalmadev-rag-qa-system.hf.space
78
+
79
+ ------------------------------------------------------------------------
80
+
81
+ ## Uso de la API
82
+
83
+ El sistema también puede utilizarse mediante la API generada
84
+ automáticamente por Gradio.
85
+
86
+ Ejemplo de cliente en Python:
87
+
88
+ ``` python
89
+ from gradio_client import Client
90
+
91
+ client = Client("https://adrianpalmadev-rag-qa-system.hf.space")
92
+
93
+ result = client.predict(
94
+ query="Where is the hospital?",
95
+ top_k=2,
96
+ umbral=0.5,
97
+ api_name="/ask"
98
+ )
99
+
100
+ print(result)
101
+ ```
102
+
103
+ Este script devuelve: - La respuesta generada por el modelo. - Los
104
+ documentos recuperados utilizados como contexto.
105
+
106
+ ------------------------------------------------------------------------
107
+
108
+ ## Tecnologías utilizadas
109
+
110
+ - Python
111
+ - Transformers
112
+ - Sentence Transformers
113
+ - Scikit-learn
114
+ - Gradio
115
+ - Hugging Face Spaces