Langfuse: plataforma de observación y depuración de código abierto para aplicaciones LLM
Últimos recursos sobre IAActualizado hace 10 meses Círculo de intercambio de inteligencia artificial 63.8K 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_KEYresponder 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.gitA continuación, introduzca el catálogocd langfuse. - Inicio de los servicios: Entrada
docker compose upy esperar a que se complete el inicio, la dirección por defecto eshttp://localhost:3000. - validar (una teoría): Acceso al navegador
http://localhost:3000Si 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-k8sresponder cantandohelm repo update. - configure: Crear
values.yamlSe rellena la base de datos y la información clave (consulte el documento oficial). - despliegues: Entrada
helm install langfuse langfuse/langfuse -f values.yamlEspera 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 upLos 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 langfuseEjecució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...




