File size: 2,517 Bytes
6046754
 
fea4ff8
 
 
6046754
fea4ff8
 
 
6046754
 
506d8f8
 
fea4ff8
 
506d8f8
fea4ff8
 
 
506d8f8
 
 
fea4ff8
 
 
 
 
 
506d8f8
 
 
fea4ff8
 
 
 
 
506d8f8
 
 
fea4ff8
 
 
 
506d8f8
 
 
 
 
fea4ff8
 
 
 
 
 
506d8f8
fea4ff8
506d8f8
 
 
fea4ff8
 
 
 
 
 
506d8f8
fea4ff8
506d8f8
 
 
fea4ff8
506d8f8
fea4ff8
506d8f8
fea4ff8
506d8f8
fea4ff8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
app_file: app.py
colorFrom: indigo
colorTo: blue
emoji: 馃
pinned: false
sdk: gradio
sdk_version: 6.9.0
title: RAG QA System
---

## 馃搶 Descripci贸n del proyecto

Este proyecto implementa un sistema de preguntas y respuestas basado en
la t茅cnica **RAG (Retrieval-Augmented Generation)**.

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.

El proyecto incluye:

-   Un motor RAG (rag_engine.py)
-   Una interfaz web interactiva con Gradio (app.py)
-   Una base de conocimiento en formato JSON
-   Acceso mediante API

------------------------------------------------------------------------

## 鈿欙笍 Tecnolog铆as utilizadas

-   Python
-   Transformers (HuggingFace)
-   Sentence Transformers
-   Scikit-learn
-   Gradio

Modelos utilizados:

-   Embeddings: `MongoDB/mdbr-leaf-ir`
-   LLM: `PleIAs/Pleias-RAG-350M`

------------------------------------------------------------------------

## 馃 驴C贸mo funciona el sistema?

El sistema sigue estos pasos:

1.  El usuario introduce una pregunta
2.  Se convierte la pregunta en un embedding (vector)
3.  Se comparan los embeddings con los documentos
4.  Se seleccionan los documentos m谩s relevantes
5.  Se construye un prompt con contexto
6.  El modelo genera una respuesta basada en ese contexto

------------------------------------------------------------------------

## 馃搨 Estructura del proyecto

    app.py
    rag_engine.py
    documents.json
    requirements.txt
    tests/
        test_api.py

------------------------------------------------------------------------

## 馃殌 Instalaci贸n

1.  Clonar el repositorio o descargar los archivos

2.  Instalar dependencias:

``` bash
pip install -r requirements.txt
```

------------------------------------------------------------------------

## 鈻讹笍 Ejecuci贸n

``` bash
python app.py
```

Abrir en navegador:

http://127.0.0.1:7860

------------------------------------------------------------------------

## 馃寪 Despliegue

La aplicaci贸n est谩 desplegada en Hugging Face Spaces:

https://morenomp-python-huggingface.hf.space

------------------------------------------------------------------------

## 馃攲 Uso de la API

``` python
from gradio_client import Client

client = Client("https://morenomp-python-huggingface.hf.space")

result = client.predict(
    query="Where is the hospital?",
    top_k=2,
    umbral=0.5,
    api_name="/ask"
)

print(result)
```