Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

[Sugerencia] Script

# Falto definir 'TriajeOut' por eso lanzamos este script

from typing import Literal, List, Dict
from pydantic import BaseModel, Field
from langchain_core.messages import SystemMessage, HumanMessage

# 1. Definimos el molde Pydantic (Asegurate de ejecutar esto primero)
class TriajeOut(BaseModel):
    decision: Literal["AUTO_RESOLVER", "PEDIR_INFO", "ABRIR_TICKET"] = Field(
        description="La acción a tomar basándose en las reglas de negocio."
    )
    urgency: Literal["BAJA", "MEDIA", "ALTA"] = Field(
        description="Nivel de urgencia evaluado a partir de la criticidad del mensaje del usuario."
    )
    missing_fields: List[str] = Field(
        default=[],
        description="Lista de campos o datos que faltan si la decisión es PEDIR_INFO. Vacío en otros casos."
    )

# 2. Vinculamos el modelo estructurado a Groq
chain_de_triaje = llm_groq.with_structured_output(TriajeOut)

# 3. Definición de la función de triaje
def triaje(mensaje: str) -> Dict: 
    salida = chain_de_triaje.invoke(
        [
            SystemMessage(content=PROMPT_TRIAJE),
            HumanMessage(content=mensaje)
        ]
    )
    return salida.model_dump()

print("✅ Modelo Pydantic y función 'triaje' cargados con éxito.")