En pocas palabras
Plataforma de trazabilidad y evaluación para depurar y mejorar aplicaciones de IA.
Qué problema resuelve
Regresiones de calidad difíciles de reproducir entre prompts, herramientas y modelos.
Cuándo utilizarlo
Equipos con experimentación continua. Ejemplo: evaluar un asistente sobre conversaciones reales anonimizadas.
De la idea a la práctica
Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.
En el Radar compartido: Trial (valoración de la edición aportada).
Cómo funciona
Captura ejecuciones y sus pasos, permite consultar trazas y asociar ejemplos a datasets de evaluación. Facilita comparar versiones y recoger revisión humana.
Ejemplo de uso
Convertir una conversación fallida en un caso de regresión. Ejecutar el agente corregido y comprobar resolución, herramientas utilizadas y respuesta final frente a una rúbrica.
Trazar sin LangChain
LangSmith funciona con cualquier código, no solo con LangChain:
import os
from langsmith import traceable
from langsmith.wrappers import wrap_openai
from openai import OpenAI
os.environ["LANGSMITH_TRACING"] = "true" # y LANGSMITH_API_KEY
cliente = wrap_openai(OpenAI())
@traceable(run_type="retriever")
def buscar(pregunta: str):
return vector_store.search(pregunta, k=4)
@traceable
def responder(pregunta: str) -> str:
docs = buscar(pregunta)
res = cliente.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": f"{docs}\n\nPregunta: {pregunta}"}],
)
return res.choices[0].message.content
Con LangGraph o LangChain basta con las variables de entorno: cada nodo, herramienta y llamada al modelo aparece en la traza. También acepta trazas OpenTelemetry.
Evaluación offline
from langsmith import Client
client = Client()
def correcta(outputs: dict, reference_outputs: dict) -> bool:
return reference_outputs["respuesta"].lower() in outputs["respuesta"].lower()
resultados = client.evaluate(
lambda entradas: {"respuesta": responder(entradas["pregunta"])},
data="preguntas-cobranza-v2", # dataset en LangSmith
evaluators=[correcta],
experiment_prefix="prompt-v7",
)
Cada ejecución crea un experimento que se compara lado a lado con los anteriores, por ejemplo entre dos modelos o dos versiones del prompt.
Tipos de evaluador
| Tipo | Ejemplo |
|---|---|
| Código | Formato válido, contiene la cifra correcta, llamó a la herramienta esperada |
| LLM como juez | Fidelidad al contexto, tono, completitud según una rúbrica |
| Humano | Colas de anotación para expertos de negocio |
| Por pares | Elegir la mejor de dos respuestas |
| De trayectoria | En agentes: ¿siguió la secuencia de herramientas adecuada? |
En producción
- Evaluadores online que puntúan una muestra de trazas reales.
- Reglas de automatización: enviar a una cola de anotación las trazas con feedback negativo o añadirlas a un dataset de regresión.
- Dashboards de latencia, coste, errores y puntuaciones a lo largo del tiempo.
- Playground y Prompt Hub para iterar prompts con ejemplos reales.
Compara con Langfuse (open source autoalojable), Phoenix y Datadog LLM Observability. LangSmith ofrece SaaS e instalación autoalojada en planes empresariales.
Criterios de implementación
Separar datasets de desarrollo y validación, controlar datos capturados y documentar evaluadores. Revisar las opciones comerciales de despliegue y exportación requeridas.
Continúa en las fuentes
Documentación oficial para verificar detalles y explorar más.