Spaces:
Configuration error
Configuration error
Upload 2 file
Browse files
README.md
CHANGED
|
@@ -1,14 +1,20 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
colorFrom: yellow
|
| 5 |
-
colorTo: indigo
|
| 6 |
-
sdk: gradio
|
| 7 |
-
sdk_version: 5.48.0
|
| 8 |
-
app_file: app.py
|
| 9 |
-
pinned: false
|
| 10 |
-
license: mit
|
| 11 |
-
short_description: AI
|
| 12 |
-
---
|
| 13 |
|
| 14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# ExploraLab
|
| 2 |
+
|
| 3 |
+
ExploraLab es un tutor IA gratuito para Química y Física, hecho con **Gradio** y **GPT4All**.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
+
## 🚀 Uso en Hugging Face Spaces
|
| 6 |
+
1. Crea un nuevo Space en [Hugging Face](https://huggingface.co/new-space).
|
| 7 |
+
2. Elige `Gradio` como SDK y súbele estos archivos: `app.py` y `requirements.txt`.
|
| 8 |
+
3. Crea una carpeta `models/` y sube tu modelo `.gguf` (ejemplo: `mistral-7b-openorca.Q4_0.gguf`).
|
| 9 |
+
4. Hugging Face te dará un link único para acceder a ExploraLab desde cualquier navegador.
|
| 10 |
+
|
| 11 |
+
## 🖥️ Uso local
|
| 12 |
+
```bash
|
| 13 |
+
pip install -r requirements.txt
|
| 14 |
+
python app.py
|
| 15 |
+
```
|
| 16 |
+
Luego abre `http://localhost:7860`.
|
| 17 |
+
|
| 18 |
+
---
|
| 19 |
+
⚠️ Nota: Necesitas descargar un modelo `.gguf` desde Hugging Face (ejemplo Mistral-7B OpenOrca).
|
| 20 |
+
Colócalo en la carpeta `models/`.
|
app.py
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import gradio as gr
|
| 2 |
+
from gpt4all import GPT4All
|
| 3 |
+
|
| 4 |
+
# Cargar el modelo local (requiere archivo .gguf en carpeta "models/")
|
| 5 |
+
MODEL_PATH = "models/mistral-7b-openorca.Q4_0.gguf"
|
| 6 |
+
|
| 7 |
+
def responder(pregunta, modo):
|
| 8 |
+
# Plantilla de modos
|
| 9 |
+
if modo == "Didáctico":
|
| 10 |
+
prompt = f"Explica de manera sencilla para un estudiante: {pregunta}"
|
| 11 |
+
elif modo == "Paso a paso":
|
| 12 |
+
prompt = f"Resuelve paso a paso: {pregunta}"
|
| 13 |
+
elif modo == "Examen":
|
| 14 |
+
prompt = f"Responde de forma breve, como si fuera un examen: {pregunta}"
|
| 15 |
+
else:
|
| 16 |
+
prompt = f"Responde con referencias de científicos famosos: {pregunta}"
|
| 17 |
+
|
| 18 |
+
try:
|
| 19 |
+
model = GPT4All(MODEL_PATH)
|
| 20 |
+
with model.chat_session() as session:
|
| 21 |
+
respuesta = session.generate(prompt, max_tokens=256)
|
| 22 |
+
return respuesta
|
| 23 |
+
except Exception as e:
|
| 24 |
+
return f"⚠️ Error: {str(e)}\nAsegúrate de poner el archivo .gguf en la carpeta 'models/'."
|
| 25 |
+
|
| 26 |
+
# Interfaz Gradio
|
| 27 |
+
demo = gr.Interface(
|
| 28 |
+
fn=responder,
|
| 29 |
+
inputs=[
|
| 30 |
+
gr.Textbox(label="Tu pregunta de Química o Física"),
|
| 31 |
+
gr.Radio(["Didáctico", "Paso a paso", "Examen", "Referencias"], label="Modo")
|
| 32 |
+
],
|
| 33 |
+
outputs=gr.Textbox(label="Respuesta IA"),
|
| 34 |
+
title="ExploraLab — Tutor IA de Química y Física",
|
| 35 |
+
description="Tu asistente académico gratuito para aprender ciencias."
|
| 36 |
+
)
|
| 37 |
+
|
| 38 |
+
if __name__ == "__main__":
|
| 39 |
+
demo.launch()
|