Langfuse: plataforma de observación y depuración de código abierto para aplicaciones LLM
Últimos recursos sobre IAActualizado hace 5 meses Círculo de intercambio de inteligencia artificial 2.4K 00
Introducción general
Langfuse es una plataforma de ingeniería LLM (Large Language Model) de código abierto. Ayuda a los desarrolladores a rastrear, depurar y optimizar aplicaciones LLM proporcionando herramientas para observar llamadas, gestionar avisos, ejecutar experimentos y evaluar resultados. Desarrollada por el equipo de Langfuse, la plataforma es compatible con marcos como LangChain, OpenAI, etc. Está bajo licencia MIT y cuenta con una comunidad activa. Se puede autoalojar rápidamente de forma local o en la nube, y es ideal para equipos que trabajan juntos para desarrollar aplicaciones de IA fiables. langfuse ofrece servicios en la nube (con paquetes gratuitos) y opciones autoalojadas, y es fácil de desplegar y probar en entornos de producción.
Para agentes y RAG El tiempo de ejecución se visualiza y observa, de forma similar a LangSmith.

Lista de funciones
- Observación aplicadaRastrea cada llamada a la aplicación LLM, registrando entradas y salidas, latencia y coste.
- Gestión del taco: Almacenamiento centralizado de palabras clave para apoyar el control de versiones y los ajustes del trabajo en equipo.
- Gestión de conjuntos de datosCrear conjuntos de datos de prueba y realizar experimentos para comparar modelos o efectos de pistas.
- Herramientas de evaluación:: Soporte para comentarios de los usuarios, etiquetado manual y evaluación automatizada para comprobar la calidad del resultado.
- Soporte de depuración: Visualice registros detallados y sesiones de usuario para localizar rápidamente los problemas.
- Parque infantil experimental: Pruebe palabras clave y configuraciones de modelos para acelerar las iteraciones de desarrollo.
- Compatible con varios marcosCompatible con LangChain, OpenAI SDK, LiteLLM y más.
- Integración APIProporciona una API completa para personalizar los flujos de trabajo de LLMOps.
Utilizar la ayuda
Instalación y despliegue
servicio en la nube
- Registrar una cuenta:: Acceso Nube LangfuseHaga clic en "Registrarse" para inscribirse.
- Crear un proyectoNuevo proyecto: Tras iniciar sesión, haga clic en "Nuevo proyecto" e introduzca el nombre del proyecto.
- Obtener la llave:: Generado en la configuración del proyecto
PUBLIC_KEY
responder cantandoSECRET_KEY
. - empezar a utilizar: No requiere instalación, conéctese a los servicios en la nube directamente a través del SDK.
Despliegue local (Docker Compose)
- Preparar el entornoAsegúrese de que están instalados Docker y Docker Compose, que pueden descargarse del sitio web de Docker.
- Clonación de códigoEjecutar en un terminal
git clone https://github.com/langfuse/langfuse.git
A continuación, introduzca el catálogocd langfuse
. - Inicio de los servicios: Entrada
docker compose up
y esperar a que se complete el inicio, la dirección por defecto eshttp://localhost:3000
. - validar (una teoría): Acceso al navegador
http://localhost:3000
Si ve la página de inicio de sesión, ha tenido éxito. - Configuración de la llaveGenerar clave en UI para SDK después del registro.
Despliegue de Kubernetes (Recomendaciones de producción)
- Preparación del clústerCree un clúster Kubernetes utilizando Minikube (para pruebas locales) o un servicio en la nube como AWS.
- Añadir timón: Correr
helm repo add langfuse https://langfuse.github.io/langfuse-k8s
responder cantandohelm repo update
. - configure: Crear
values.yaml
Se rellena la base de datos y la información clave (consulte el documento oficial). - despliegues: Entrada
helm install langfuse langfuse/langfuse -f values.yaml
Espera a que termine. - entrevistas: Configure el acceso a la dirección de servicio basado en Ingress.
Despliegue de máquinas virtuales
- Ejecución en una única máquina virtual
docker compose up
Los pasos son los mismos que para la implantación local.
Funciones principales
Observación aplicada
- Instalación del SDK: Ejecución del proyecto Python
pip install langfuse
Ejecución del proyecto JS/TSnpm install langfuse
. - inicializaciónConfigurar claves y hosts en código:
from langfuse import Langfuse langfuse = Langfuse(public_key="pk-lf-xxx", secret_key="sk-lf-xxx", host="http://localhost:3000")
- grabar llamada: Utilice decoradores o trazado manual:
from langfuse.decorators import observe @observe() def chat(input): return openai.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": input}]) chat("你好")
- comprobarConsulta los detalles de la llamada en la página "Traces" de la interfaz de usuario.
Gestión del taco
- Nuevo consejoEn la página "Avisos" de la interfaz de usuario, haz clic en "Nuevo aviso" e introduce un nombre y un contenido, por ejemplo:
System: 你是一个助手,直接回答问题。 User: {{question}}
- Consejos de uso: Llamadas en código
langfuse.get_prompt("prompt-name")
. - gestión de versiones: Guarda automáticamente la versión después de modificar el aviso, que se puede volver atrás.
Conjuntos de datos y experimentos
- Creación de un conjunto de datosEn la página "Conjuntos de datos" de la interfaz de usuario, haga clic en "Crear conjunto de datos" y asígnele el nombre "qa-test".
- Añadir datosIntroduzca o cargue un archivo CSV, por ejemplo:
Input: "1+1等于几?" Expected: "2"
- experimento en curso:: Prueba en código:
dataset = langfuse.get_dataset("qa-test") for item in dataset.items: result = chat(item.input) item.link(langfuse.trace({"output": result}), "test-1")
- analizadoVisualiza los resultados del experimento en la interfaz de usuario.
Parque infantil
- entrar enHaga clic en "Playground" en la interfaz de usuario e introduzca los parámetros del modelo.
- prueba (maquinaria, etc.)Haga clic en Ejecutar para ver el resultado, ajustar los parámetros y guardar.
- saltarDirectamente desde el resultado del error "Traces Parque infantil Modificación.
Función destacada Operación
Registro de depuración
- En la página "Trazas", haga clic en una llamada para ver las entradas, salidas y contexto.
- Vea las sesiones de usuario en "Sesiones" para analizar las conversaciones de varias rondas.
Resultados de la evaluación
- accionamiento manualPuntúa el resultado (0-1) en la página "Puntuaciones".
- automatizaciónAñadir evaluaciones a través de la API:
langfuse.score(trace_id="xxx", name="accuracy", value=0.95)
Uso de la API
- Llamada utilizando la especificación OpenAPI o un SDK (por ejemplo, Python/JS), por ejemplo, para crear una traza:
curl -X POST "http://localhost:3000/api/traces" -H "Authorization: Bearer sk-lf-xxx" -d '{"id": "trace-1", "name": "test"}'
escenario de aplicación
- Seguimiento de la visualización de procesos RAG
- Seguimiento visual del proceso global de recuperación de palabras clave, recuperación de vectores, fusión de recuperación, reordenación, respuesta
- Desarrollar un servicio de atención al cliente inteligente
- El equipo utiliza Langfuse para hacer un seguimiento de las conversaciones, optimizar la calidad de las respuestas y mejorar la experiencia del cliente.
- Comparación del rendimiento de los modelos
- El desarrollador crea conjuntos de datos para probar el rendimiento de varios LLM en una tarea de cuestionario.
- Implantación in situ
- La empresa aloja Langfuse para proteger datos confidenciales y depurar aplicaciones internas de IA.
CONTROL DE CALIDAD
- ¿Qué lenguajes y marcos de trabajo son compatibles?
- Soporta Python y JS/TS, y es compatible con LangChain, OpenAI, LlamaIndex, y más.
- ¿Cuál es la configuración mínima para el autoalojamiento?
- Los proyectos más pequeños utilizan una CPU de 2 núcleos y 4 GB de RAM; los más grandes recomiendan 8 núcleos y 16 GB.
- ¿Cómo desactivo la telemetría?
- Configuración de las variables de entorno en el
TELEMETRY_ENABLED=false
.
- Configuración de las variables de entorno en el
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...