morenomp commited on
Commit
fea4ff8
·
2 Parent(s): aeb0eb36046754

init commit 2

Browse files
Files changed (2) hide show
  1. .gitattributes +35 -0
  2. README.md +88 -36
.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,64 +1,116 @@
 
 
 
 
 
 
 
 
 
 
 
1
  ## 📌 Descripción del proyecto
2
 
3
- Este proyecto implementa un sistema de preguntas y respuestas basado en la técnica **RAG (Retrieval-Augmented Generation)**.
 
4
 
5
- El sistema permite al usuario hacer preguntas en inglés sobre una base de conocimiento (documents.json), y genera respuestas utilizando modelos de inteligencia artificial.
 
 
6
 
7
  El proyecto incluye:
8
- - Un motor RAG (rag_engine.py)
9
- - Una interfaz web interactiva con Gradio (app.py)
10
- - Una base de conocimiento en formato JSON
11
- - Acceso mediante API
12
 
13
- ---
 
 
 
 
 
14
 
15
  ## ⚙️ Tecnologías utilizadas
16
 
17
- - Python
18
- - Transformers (HuggingFace)
19
- - Sentence Transformers
20
- - Scikit-learn
21
- - Gradio
22
 
23
  Modelos utilizados:
24
- - Embeddings: `MongoDB/mdbr-leaf-ir`
25
- - LLM: `microsoft/Phi-2`
26
 
27
- ---
 
 
 
28
 
29
  ## 🧠 ¿Cómo funciona el sistema?
30
 
31
  El sistema sigue estos pasos:
32
 
33
- 1. El usuario introduce una pregunta
34
- 2. Se convierte la pregunta en un embedding (vector)
35
- 3. Se comparan los embeddings con los documentos
36
- 4. Se seleccionan los documentos más relevantes
37
- 5. Se construye un prompt con contexto
38
- 6. El modelo genera una respuesta basada en ese contexto
39
 
40
- ---
41
 
42
  ## 📂 Estructura del proyecto
43
 
44
- Python-Huggingface/
45
-
46
- ├── app.py # Interfaz con Gradio
47
- ├── rag_engine.py # Lógica del sistema RAG
48
- ├── documents.json # Base de conocimiento
49
- ├── requirements.txt # Dependencias
50
-
51
- └── test/
52
- ├── test_api.py
53
- └── test-api-space.py
54
 
55
- ---
56
 
57
  ## 🚀 Instalación
58
 
59
- 1. Clonar el repositorio o descargar los archivos
60
 
61
- 2. Instalar dependencias:
62
 
63
- ```bash
64
  pip install -r requirements.txt
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ app_file: app.py
3
+ colorFrom: indigo
4
+ colorTo: blue
5
+ emoji: 🤖
6
+ pinned: false
7
+ sdk: gradio
8
+ sdk_version: 6.9.0
9
+ title: RAG QA System
10
+ ---
11
+
12
  ## 📌 Descripción del proyecto
13
 
14
+ Este proyecto implementa un sistema de preguntas y respuestas basado en
15
+ la técnica **RAG (Retrieval-Augmented Generation)**.
16
 
17
+ El sistema permite al usuario hacer preguntas en inglés sobre una base
18
+ de conocimiento (documents.json), y genera respuestas utilizando modelos
19
+ de inteligencia artificial.
20
 
21
  El proyecto incluye:
 
 
 
 
22
 
23
+ - Un motor RAG (rag_engine.py)
24
+ - Una interfaz web interactiva con Gradio (app.py)
25
+ - Una base de conocimiento en formato JSON
26
+ - Acceso mediante API
27
+
28
+ ------------------------------------------------------------------------
29
 
30
  ## ⚙️ Tecnologías utilizadas
31
 
32
+ - Python
33
+ - Transformers (HuggingFace)
34
+ - Sentence Transformers
35
+ - Scikit-learn
36
+ - Gradio
37
 
38
  Modelos utilizados:
 
 
39
 
40
+ - Embeddings: `MongoDB/mdbr-leaf-ir`
41
+ - LLM: `PleIAs/Pleias-RAG-350M`
42
+
43
+ ------------------------------------------------------------------------
44
 
45
  ## 🧠 ¿Cómo funciona el sistema?
46
 
47
  El sistema sigue estos pasos:
48
 
49
+ 1. El usuario introduce una pregunta
50
+ 2. Se convierte la pregunta en un embedding (vector)
51
+ 3. Se comparan los embeddings con los documentos
52
+ 4. Se seleccionan los documentos más relevantes
53
+ 5. Se construye un prompt con contexto
54
+ 6. El modelo genera una respuesta basada en ese contexto
55
 
56
+ ------------------------------------------------------------------------
57
 
58
  ## 📂 Estructura del proyecto
59
 
60
+ app.py
61
+ rag_engine.py
62
+ documents.json
63
+ requirements.txt
64
+ tests/
65
+ test_api.py
 
 
 
 
66
 
67
+ ------------------------------------------------------------------------
68
 
69
  ## 🚀 Instalación
70
 
71
+ 1. Clonar el repositorio o descargar los archivos
72
 
73
+ 2. Instalar dependencias:
74
 
75
+ ``` bash
76
  pip install -r requirements.txt
77
+ ```
78
+
79
+ ------------------------------------------------------------------------
80
+
81
+ ## ▶️ Ejecución
82
+
83
+ ``` bash
84
+ python app.py
85
+ ```
86
+
87
+ Abrir en navegador:
88
+
89
+ http://127.0.0.1:7860
90
+
91
+ ------------------------------------------------------------------------
92
+
93
+ ## 🌐 Despliegue
94
+
95
+ La aplicación está desplegada en Hugging Face Spaces:
96
+
97
+ https://morenomp-python-huggingface.hf.space
98
+
99
+ ------------------------------------------------------------------------
100
+
101
+ ## 🔌 Uso de la API
102
+
103
+ ``` python
104
+ from gradio_client import Client
105
+
106
+ client = Client("https://morenomp-python-huggingface.hf.space")
107
+
108
+ result = client.predict(
109
+ query="Where is the hospital?",
110
+ top_k=2,
111
+ umbral=0.5,
112
+ api_name="/ask"
113
+ )
114
+
115
+ print(result)
116
+ ```