Downloads · 30 days
0
EcoChala/Eco
Eco is a machine learning model from EcoChala. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as mit.
This modelcard aims to be a base template for new models. It has been generated using this raw template.
Downloads · 30 days
0
Access
Public
Updated Jul 24, 2026
Repo size
—
Likes
1
Public
Click a slice to open those files.
.md28.2 KB · 95%
From the Hugging Face model README
This modelcard aims to be a base template for new models. It has been generated using this raw template.
[More Information Needed]
[More Information Needed]
[More Information Needed]
[More Information Needed]
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
Use the code below to get started with the model.
[More Information Needed]
[More Information Needed]
[More Information Needed]
[More Information Needed]
[More Information Needed]
[More Information Needed]
[More Information Needed]
[More Information Needed]
[More Information Needed]
Carbon emissions can be estimated using the Machine Learning Impact calculator presented in Lacoste et al. (2019).
[More Information Needed]
[More Information Needed]
[More Information Needed]
[More Information Needed]
BibTeX:
[More Information Needed]
APA:
[More Information Needed]
[More Information Needed]
[More Information Needed]
[More Information Needed]
[More Information Needed] import gradio as gr
custom_css = """ /* Fondo general de la aplicación */ .gradio-container { background-color: #121814 !important; font-family: 'Georgia', 'Times New Roman', serif !important; color: #e2d7c5 !important; }
/* Encabezados y títulos */ h1, h2, h3 { color: #d4af37 !important; font-family: 'Playfair Display', 'Georgia', serif !important; letter-spacing: 0.5px; }
/* Tarjetas y Contenedores */ .eco-card { background-color: #1a231d !important; border: 1px solid #2d3e32 !important; border-radius: 12px !important; padding: 20px !important; margin-bottom: 15px !important; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4); }
/* Botones principales */ button.primary-btn, .gr-button-primary { background: linear-gradient(135deg, #2d4233, #1e2b22) !important; color: #d4af37 !important; border: 1px solid #d4af37 !important; border-radius: 8px !important; font-weight: bold !important; transition: all 0.3s ease !important; }
button.primary-btn:hover, .gr-button-primary:hover { background: #d4af37 !important; color: #121814 !important; box-shadow: 0 0 12px rgba(212, 175, 55, 0.4) !important; }
/* Inputs y cajas de texto */ input, textarea, .gr-input { background-color: #161f18 !important; color: #e2d7c5 !important; border: 1px solid #2d3e32 !important; border-radius: 8px !important; }
/* Pestanas / Tabs */ .tabs button.selected { background-color: #1a231d !important; color: #d4af37 !important; border-bottom: 2px solid #d4af37 !important; } """
HEADER_HTML = """
<div style="text-align: center; padding: 25px 10px; background: linear-gradient(180deg, #1a231d 0%, #121814 100%); border-bottom: 2px solid #2d3e32; margin-bottom: 20px; border-radius: 12px;"> <h1 style="font-size: 2.8rem; margin-bottom: 5px; color: #d4af37;">🌿 ECOCHALA</h1> <p style="font-size: 1.1rem; color: #8db580; font-style: italic; margin-top: 0;">Plataforma de Reciclaje Interactivo, Inteligencia Verde & Red de Emprendimiento Sostenible</p> <p style="font-size: 0.9rem; color: #a3b899; max-width: 800px; margin: 15px auto 0 auto;"> <b>Origen del Nombre:</b> <i>"Eco"</i> (Ecología y Economía Circular) + <i>"Chala"</i> (Del modismo paceño / boliviano que significa genial, innovador y de calidad). Transformamos los residuos urbanos de <b>La Paz y El Alto</b> en recursos productivos y oportunidades reales de negocio. </p> <div style="margin-top: 15px;"> <span style="background-color: #233327; color: #d4af37; border: 1px solid #3d5240; padding: 4px 12px; border-radius: 15px; font-size: 0.8rem; margin: 0 4px;">📍 La Paz & El Alto</span> <span style="background-color: #233327; color: #d4af37; border: 1px solid #3d5240; padding: 4px 12px; border-radius: 15px; font-size: 0.8rem; margin: 0 4px;">📅 Fundado en 2026</span> <span style="background-color: #233327; color: #d4af37; border: 1px solid #3d5240; padding: 4px 12px; border-radius: 15px; font-size: 0.8rem; margin: 0 4px;">♻️ Economía Circular</span> </div> </div> """ # ========================================== # 3. DICCIONARIO EXTENSO DE RESIDUOS Y BASE DE DATOS LOCAL # ========================================== RESIDUOS_DB = { "Aceite Vegetal Usado (AVU)": { "preparacion": "Dejar enfriar completamente. Colar el aceite con una gasa o colador fino para retirar restos de comida. Almacenar en botellas de plástico PET bien cerradas. No mezclar con agua ni detergente.", "ubicaciones": [ {"lugar": "Sopocachi - Punto Limpio Municipal (Av. Ecuador esq. Belisario Salinas)", "mapa": "https://maps.google.com/?q=-16.5105,-68.1305"}, {"lugar": "San Miguel - Módulo de Reciclaje (Calle René Moreno, Zona Sur)", "mapa": "https://maps.google.com/?q=-16.5400,-68.0833"}, {"lugar": "El Alto - Plaza Corazón de Jesús (Ciudad Satélite)", "mapa": "https://maps.google.com/?q=-16.5133,-68.1633"}, {"lugar": "Green Side Solutions (Recogida a domicilio para restaurantes/hogares)", "mapa": "https://www.google.com/maps/search/Green+Side+Solutions+La+Paz"} ], "emprendimiento": { "idea": "Fabricación de Detergente Ecológico Multiuso y Jabones Artesanales de Lavandería.", "descripcion": "Mediante el proceso de saponificación (mezcla controlada de aceite filtrado, agua y sosa cáustica), se obtiene un detergente líquido o en barra biodegradables, ideal para lavar ropa o platos sin contaminar los ríos paceños.", "videos": [ {"plataforma": "YouTube", "titulo": "Cómo hacer detergente ecológico con aceite usado", "link": "https://www.youtube.com/results?search_query=como+hacer+detergente+con+aceite+usado"}, {"plataforma": "TikTok", "titulo": "Tutorial rápido: Jabón casero de aceite vegetal", "link": "https://www.tiktok.com/search?q=jabon%20con%20aceite%20reciclado"}, {"plataforma": "Instagram", "titulo": "Receta y moldes para emprendedores eco", "link": "https://www.instagram.com/explore/tags/jabonreciclado/"} ] } }, "Plásticos PET (Botellas)": { "preparacion": "Enjuagar el interior de la botella, quitar la etiqueta de papel/plástico, aplastar fuertemente para reducir volumen y colocar la tapa.", "ubicaciones": [ {"lugar": "Plaza Abaroa - Contenedor Amarillo Municipal (Sopocachi)", "mapa": "https://maps.google.com/?q=-16.5111,-68.1292"}, {"lugar": "Stadium Hernando Siles - Punto Limpio (Miraflores)", "mapa": "https://maps.google.com/?q=-16.4994,-68.1225"}, {"lugar": "El Alto - Asociación de Recicladores 'San Gabriel' (Av. 6 de Marzo)", "mapa": "https://maps.google.com/?q=-16.5200,-68.1700"} ], "emprendimiento": { "idea": "Filamento para Impresión 3D o Escobas y Textil Artesanal.", "descripcion": "Con una cortadora manual en espiral se obtienen cintas de PET que pueden extruirse para crear filamentos de bajo costo para impresoras 3D, o tejerse para fabricar cerdas de escobas industriales super resistentes.", "videos": [ {"plataforma": "YouTube", "titulo": "De botella PET a Filamento 3D casero", "link": "https://www.youtube.com/results?search_query=pet+bottle+to+3d+printer+filament"}, {"plataforma": "TikTok", "titulo": "Fabricación de escobas ecológicas con PET", "link": "https://www.tiktok.com/search?q=escobas%20de%20botella%20pet"} ] } }, "Cartón y Papel": { "preparacion": "Desarmar las cajas por completo hasta dejarlas planas. Retirar cintas adhesivas gruesas, corchetes metálicos y plásticos. Mantener totalmente seco.", "ubicaciones": [ {"lugar": "Mercado Camacho - Depósito de Reciclaje (Centro La Paz)", "mapa": "https://maps.google.com/?q=-16.4988,-68.1341"}, {"lugar": "El Alto - Centro de Acopio Villa Adela Plan 100", "mapa": "https://maps.google.com/?q=-16.5350,-68.1900"} ], "emprendimiento": { "idea": "Empaques Biodegradables, Papel Artesanal y Maceteros Germinadores.", "descripcion": "El cartón picado y licuado con agua crea una pulpa maleable que se puede moldear para crear cajas de regalo personalizadas, etiquetas sustentables o macetas biodegradables para viveros de la zona Sur.", "videos": [ {"plataforma": "YouTube", "titulo": "Cómo hacer papel reciclado artesanal con textura", "link": "https://www.youtube.com/results?search_query=papel+reciclado+artesanal"}, {"plataforma": "Pinterest", "titulo": "Ideas de empaques eco para emprendimientos", "link": "https://www.pinterest.com/search/pins/?q=eco%20packaging%20cardboard"} ] } }, "Residuos Electrónicos (RAEE)": { "preparacion": "No desarmar componentes internos sensibles. Entregar aparatos enteros (pantallas, cables, CPUs, teclados). Envolver cables sueltos.", "ubicaciones": [ {"lugar": "Punto RAEE Municipal - Subalcaldía Calacoto (Calle 13)", "mapa": "https://maps.google.com/?q=-16.5388,-68.0888"}, {"lugar": "Fundación RAEE Bolivia (Recolección Especializada)", "mapa": "https://www.google.com/maps/search/RAEE+Bolivia+La+Paz"} ], "emprendimiento": { "idea": "Desguace y Recuperación de Cobre, Componentes y Joyería Cyberpunk.", "descripcion": "Recuperación de piezas electrónicas funcionales para reparación de hardware de bajo costo, o utilización de placas de circuitos impresos (PCB) selladas en resina para crear bisutería y accesorios modernos.", "videos": [ {"plataforma": "YouTube", "titulo": "Bisutería y arte con placas electrónicas recicladas", "link": "https://www.youtube.com/results?search_query=recycled+circuit+board+jewelry"} ] } } }def responder_ecochala_bot(mensaje_usuario, residuo_seleccionado): """ Función interactiva que responde consultas específicas sobre materiales o dudas generales de reciclaje y emprendimiento. """ if residuo_seleccionado and residuo_seleccionado in RESIDUOS_DB: info = RESIDUOS_DB[residuo_seleccionado]
# Construcción del HTML de Respuesta Elegante
html_output = f"""
<div class="eco-card" style="border-left: 4px solid #d4af37;">
<h3 style="color: #d4af37; margin-top: 0;">♻️ Guía Completa: {residuo_seleccionado}</h3>
<p><b>🥣 ¿Cómo prepararlo adecuadamente?:</b><br>{info['preparacion']}</p>
<hr style="border-color: #2d3e32;">
<p><b>📍 Ubicaciones Exactas de Acopio (Google Maps):</b></p>
<ul>
"""
for ub in info['ubicaciones']:
html_output += f'<li><b>{ub["lugar"]}</b> — <a href="{ub["mapa"]}" target="_blank" style="color: #8db580; text-decoration: underline;">📍 Ver mapa en Google Maps</a></li>'
html_output += f"""
</ul>
<hr style="border-color: #2d3e32;">
<div style="background-color: #121814; padding: 15px; border-radius: 8px; border: 1px solid #3d5240;">
<h4 style="color: #8db580; margin-top: 0;">💡 Oportunidad de Emprendimiento Verde</h4>
<p><b>Idea:</b> {info['emprendimiento']['idea']}</p>
<p><b>Proceso:</b> {info['emprendimiento']['descripcion']}</p>
<p><b>🎬 Aprende la técnica en videos:</b></p>
<ul>
"""
for vid in info['emprendimiento']['videos']:
html_output += f'<li><span style="background-color: #233327; color: #d4af37; padding: 2px 6px; border-radius: 4px; font-size: 0.8rem;">{vid["plataforma"]}</span> <a href="{vid["link"]}" target="_blank" style="color: #e2d7c5; text-decoration: underline;">{vid["titulo"]}</a></li>'
html_output += """
</ul>
</div>
</div>
"""
return html_output
# Respuesta Conversacional General si no selecciona un residuo específico
return f"""
<div class="eco-card">
<h3 style="color: #d4af37; margin-top:0;">🤖 Asistente EcoChala</h3>
<p>¡Hola! Soy tu asistente de reciclaje y emprendimiento para <b>La Paz y El Alto</b>.</p>
<p>Has preguntado: <i>"{mensaje_usuario}"</i></p>
<p>Para ayudarte de forma exacta, puedes seleccionar uno de los materiales del menú desplegable o consultar sobre cómo transformar tus residuos en negocios sustentables.</p>
<p style="color: #8db580;"><b>Sugerencia:</b> Prueba seleccionando <b>"Aceite Vegetal Usado (AVU)"</b> para ver los puntos limpios en Sopocachi y cómo fabricar detergente ecólogico.</p>
</div>
"""# ==========================================
PUBLICACIONES_COMUNIDAD = [ { "nombre": "Mariana Flores (EcoJabones LP)", "zona": "Sopocachi, La Paz", "material": "Aceite Vegetal Usado", "producto": "Detergente Líquido y Jabones Multiuso 'PachaClean'", "descripcion": "Transformo el aceite usado de las freidoras de mis vecinos en detergente líquido para ropa 100% biodegradable. ¡Rinde un montón y no contamina el agua!", "contacto": "WhatsApp: +591 77200111 | TikTok: @ecojabones_lp", "me_gusta": 14 }, { "nombre": "Carlos Mamani (ArtePET El Alto)", "zona": "Villa Adela, El Alto", "material": "Plásticos PET", "producto": "Macetas Auto-regables y Filamentos para Impresora 3D", "descripcion": "Recolecto botellas PET de las ferias de El Alto para extruir filamento 3D sustentable y crear maceteros de diseño para cactus y suculentas.", "contacto": "WhatsApp: +591 68012345 | Instagram: @artepet_bolivia", "me_gusta": 22 } ]
def renderizar_muro_comunidad(): """Genera el HTML dinámico para mostrar las publicaciones del Muro Comunitario.""" html_muro = '<div style="display: flex; flex-direction: column; gap: 15px;">' for index, pub in enumerate(PUBLICACIONES_COMUNIDAD): html_muro += f""" <div class="eco-card" style="border-left: 4px solid #8db580;"> <div style="display: flex; justify-content: space-between; align-items: center;"> <h4 style="color: #d4af37; margin: 0;">👤 {pub['nombre']}</h4> <span style="background-color: #233327; color: #8db580; padding: 2px 8px; border-radius: 12px; font-size: 0.8rem;">📍 {pub['zona']}</span> </div> <p style="margin: 8px 0; color: #a3b899; font-size: 0.9rem;"><b>Material Utilizado:</b> <span style="color: #d4af37;">{pub['material']}</span></p> <h5 style="color: #ffffff; margin: 5px 0; font-size: 1.1rem;">📦 Producto / Proyecto: {pub['producto']}</h5> <p style="color: #e2d7c5; font-size: 0.95rem; line-height: 1.4;">"{pub['descripcion']}"</p> <div style="margin-top: 10px; padding-top: 8px; border-top: 1px solid #2d3e32; display: flex; justify-content: space-between; align-items: center; font-size: 0.85rem;"> <span style="color: #8db580;">💬 <b>Contacto Directo:</b> {pub['contacto']}</span> <span style="color: #d4af37; background: #121814; padding: 3px 10px; border-radius: 10px; border: 1px solid #3d5240;">💚 {pub['me_gusta']} Apoyos</span> </div> </div> """ html_muro += '</div>' return html_muro
def agregar_publicacion_emprendedor(nombre, zona, material, producto, descripcion, contacto): """Agrega una nueva publicación al muro y actualiza la vista.""" if not nombre or not producto or not descripcion: return renderizar_muro_comunidad(), "⚠️ Por favor, completa al menos tu Nombre, Producto y Descripción para publicar."
nueva_pub = {
"nombre": nombre,
"zona": zona if zona else "La Paz / El Alto",
"material": material,
"producto": producto,
"descripcion": descripcion,
"contacto": contacto if contacto else "Sin contacto proporcionado",
"me_gusta": 1
}
PUBLICACIONES_COMUNIDAD.insert(0, nueva_pub)
return renderizar_muro_comunidad(), "✅ ¡Tu emprendimiento ha sido publicado con éxito en la comunidad EcoChala!"
# ==========================================
ABOUT_AND_TERMS_HTML = """
<div class="eco-card" style="margin-top: 20px;"> <h3 style="color: #d4af37;">📜 Identidad Institucional y Términos Legales</h3> <div style="font-size: 0.95rem; line-height: 1.6; color: #e2d7c5;"> <p><b>🌱 Misión del Proyecto:</b><br> EcoChala nace en 2026 como una iniciativa tecnológica y social diseñada para cerrar la brecha de alfabetización ambiental en Bolivia. Promovemos la economía circular conectando a los ciudadanos con puntos limpios exactos e impulsando el empleo verde local.</p> <p><b>✨ Significado del Nombre:</b><br>
Combinamos la visión ecológica (<i>"Eco"</i>) con el Modismo Paceño / Boliviano <i>"Chala"</i> (que denota algo excelente, innovador y bien hecho). Creemos firmemente que la basura de hoy es el recurso "chala" del mañana.</p>
<hr style="border-color: #2d3e32; margin: 15px 0;">
<p><b>⚖️ Derechos, Propiedad Intelectual y Conducta Comunitaria:</b></p>
<ul style="padding-left: 20px;">
<li><b>Propiedad y Contenidos:</b> Los logos, textos educativos e interfaces son propiedad de EcoChala (2026). Licenciado bajo código abierto para la comunidad.</li>
<li><b>Red Social y Moderación:</b> Promovemos un espacio positivo y seguro. Se prohíbe el uso de lenguaje de odio, spam o la publicación de contenido no relacionado con el reciclaje y emprendimiento sostenible.</li>
<li><b>Descargo de Responsabilidad Insumos Químicos:</b> Las guías de emprendimiento (como la saponificación de aceite usado) son con fines informativos y educativos. Se recomienda a todos los emprendedores utilizar equipo de protección personal (gafas, guantes) para el manejo de insumos como la sosa cáustica. EcoChala no se responsabiliza por el mal uso de procesos artesanales.</li>
</ul>
</div>
</div>
"""
with gr.Blocks(css=custom_css, title="EcoChala - Reciclaje y Emprendimiento La Paz & El Alto") as demo:
# Encabezado Principal
gr.HTML(HEADER_HTML)
# Navegación por Pestañas
with gr.Tabs():
# ----------------------------------
# PESTAÑA 1: ECOCHALA BOT & DICCIONARIO
# ----------------------------------
with gr.TabItem("🤖 Bot Conversacional & Guía de Residuos"):
gr.Markdown("### 🔍 Consulta de Materiales y Puntos Limpios")
with gr.Row():
with gr.Column(scale=1):
residuo_dropdown = gr.Dropdown(
choices=["Ninguno"] + list(RESIDUOS_DB.keys()),
value="Aceite Vegetal Usado (AVU)",
label="Selecciona un residuo para ver datos exactos:"
)
user_input = gr.Textbox(
placeholder="Escribe tu duda (ej. ¿Dónde entrego botellas en Sopocachi?)...",
label="O escribe una pregunta al bot:"
)
btn_consultar = gr.Button("Consultar al Bot 🌿", variant="primary")
with gr.Column(scale=2):
bot_output = gr.HTML(
value=responder_ecochala_bot("", "Aceite Vegetal Usado (AVU)"),
label="Resultado"
)
# Evento al hacer clic en consultar
btn_consultar.click(
fn=responder_ecochala_bot,
inputs=[user_input, residuo_dropdown],
outputs=bot_output
)
# ----------------------------------
# PESTAÑA 2: RED SOCIAL DE EMPRENDEDORES
# ----------------------------------
with gr.TabItem("📢 Red Social & Mercado EcoChala"):
gr.Markdown("### 🛍️ Vitrina Comunitario de Emprendedores Ecológicos Paceños")
gr.Markdown("Publica tu proyecto o producto transformado para que toda la comunidad pueda conocerte y contactarte.")
with gr.Row():
# Formulario para publicar
with gr.Column(scale=1):
gr.Markdown("#### 📝 Publica tu Emprendimiento")
emp_nombre = gr.Textbox(label="Tu Nombre o Marca:", placeholder="Ej. Ana Pérez (EcoArte)")
emp_zona = gr.Textbox(label="Zona/Ciudad:", placeholder="Ej. Calacoto, La Paz / Satélite, El Alto")
emp_material = gr.Dropdown(
choices=["Aceite Usado", "Plásticos PET", "Cartón / Papel", "Electrónicos", "Textil / Ropa", "Otro Material"],
value="Aceite Usado",
label="Material Reciclado Principal:"
)
emp_producto = gr.Textbox(label="Producto o Servicio:", placeholder="Ej. Jabón Líquido Ecológico")
emp_desc = gr.TextArea(label="Descripción de lo que haces:", placeholder="Cuéntale a la comunidad cómo transformas el residuo...", lines=3)
emp_contacto = gr.Textbox(label="Contacto (WhatsApp / Redes):", placeholder="Ej. WhatsApp 70000000 / @mi_marca_tiktok")
btn_publicar = gr.Button("Publicar mi Emprendimiento 🚀", variant="primary")
status_feedback = gr.Markdown("")
# Muro Comunitario
with gr.Column(scale=2):
gr.Markdown("#### 🟢 Muro de la Comunidad")
muro_display = gr.HTML(value=renderizar_muro_comunidad())
# Evento para publicar
btn_publicar.click(
fn=agregar_publicacion_emprendedor,
inputs=[emp_nombre, emp_zona, emp_material, emp_producto, emp_desc, emp_contacto],
outputs=[muro_display, status_feedback]
)
# ----------------------------------
# PESTAÑA 3: ACERCA DE Y TÉRMINOS LEGALES
# ----------------------------------
with gr.TabItem("📜 Transparencia y Derechos"):
gr.HTML(ABOUT_AND_TERMS_HTML)
# Pie de página final
gr.HTML("""
<div style="text-align: center; margin-top: 30px; font-size: 0.85rem; color: #7a8c78; border-top: 1px solid #2d3e32; padding-top: 15px;">
EcoChala © 2026 — Fomentando el Reciclaje Interactivo y el Empleo Verde en La Paz y El Alto, Bolivia.
</div>
""")
if name == "main": demo.launch()