Skip to content

Ejemplos

Tuysh edited this page Jan 11, 2026 · 1 revision

Ejemplos Prácticos

¡La mejor forma de aprender es haciendo! Aquí tienes una colección de situaciones comunes donde Lunita puede brillar (o intentarlo). Copia, pega y experimenta.

1. Chat de Consola Básico 💬

¿Quieres hablar con Lunita rápidamente? Este es el código mínimo para abrir una charla en tu terminal. Lunita esperará a pensar toda la frase antes de responder.

import os
from dotenv import load_dotenv
from lunita import ConfigurarEstrellas, Sesion, ErroresMagicos

load_dotenv()

def main():
    token = os.getenv("TOKEN")
    
    # Le pedimos que esté de buenas hoy
    config = ConfigurarEstrellas(
        token=token,
        temperatura=1.2,
        instrucciones_adicionales="Eres especialmente amable hoy."
    )
    
    sesion = Sesion(config)
    
    print("🌙 Lunita despierta... (Escribe 'salir' para irte)")
    
    while True:
        try:
            pregunta = input("\n👤 Tú: ")
            if pregunta.lower() in ["salir", "exit"]: break
            
            # Lunita piensa... y responde todo de golpe
            respuesta = sesion.predecir(pregunta)
            print(f"🔮 Lunita: {respuesta}")
            
        except ErroresMagicos as e:
            print(f"✨ Ups, magia fallida: {e}")

if __name__ == "__main__":
    main()

2. Chat Asíncrono con Streaming 🌊

Si no te gusta esperar, este modo es para ti. Verás cómo Lunita va escribiendo su respuesta palabra por palabra, ideal para que tu aplicación se sienta rápida y viva.

import asyncio
import os
from lunita import ConfigurarEstrellas, SesionAsincrona

async def chat_loop():
    config = ConfigurarEstrellas(token=os.getenv("TOKEN"))
    sesion = SesionAsincrona(config)

    print("🔮 Lunita te escucha en tiempo real...")

    while True:
        pregunta = input("\n👤 Tú: ")
        if pregunta == "salir": break

        print("🔮 Lunita: ", end="", flush=True)
        
        # Aquí sucede la magia: recibimos pedacitos de texto
        async for fragmento in sesion.predecir(pregunta):
            print(fragmento, end="", flush=True)
        print()

if __name__ == "__main__":
    asyncio.run(chat_loop())

3. Lectura de Tarot (Personalización Extrema) 🃏

Aquí es donde instrucciones_adicionales brilla. Convertimos a Lunita en una tarotista que inventa cartas absurdas. ¡Pruébalo!

INSTRUCCIONES_TAROT = """
IMPORTANTE: Estás en modo "Lectura de Tarot".
1. Cada vez que respondas, debes mencionar que estás sacando una carta específica (inventa el nombre, ej: "El Gato Invertido").
2. Tu interpretación debe ser dramática pero terminar siendo absurdamente optimista.
"""

config = ConfigurarEstrellas(
    token=token,
    modelo="llama-3.1-8b-instant", # Usamos un modelo rápido
    temperatura=1.5,               # ¡Creatividad al máximo!
    instrucciones_adicionales=INSTRUCCIONES_TAROT
)

4. API Web con FastAPI 🌐

¿Quieres llevar a Lunita a la web? Así de fácil es integrarla en una API moderna.

from fastapi import FastAPI
from lunita import ConfigurarEstrellas, SesionAsincrona

app = FastAPI()
sesion_global = None

@app.on_event("startup")
async def startup():
    global sesion_global
    # Inicializamos a Lunita una sola vez
    config = ConfigurarEstrellas(token="tu-token")
    sesion_global = SesionAsincrona(config)

@app.post("/consultar")
async def consultar(mensaje: str):
    respuesta = ""
    # Recolectamos toda la respuesta asíncrona
    async for fragmento in sesion_global.predecir(mensaje):
        respuesta += fragmento
    return {"prediccion": respuesta}

¿Te salen errores raros? Consulta la Ayuda Mágica 🪄

Clone this wiki locally