当前位置: 首页 > news >正文

Langfuse开源LLM工程平台完整部署实战指南

前言:在AI大模型应用开发中,如何有效监控、调试和优化LLM应用是每个开发者都会遇到的挑战。Langfuse作为一个开源的LLM工程平台,为我们提供了完整的解决方案。本文将手把手带你从零开始部署Langfuse,让你的AI应用开发如虎添翼!

📖 目录

  • 🎯 项目介绍
  • 🏗️ 技术架构解析
  • 💻 环境准备
  • 🐳 Docker环境搭建
  • ⚙️ 核心配置详解
  • 🚀 一键启动部署
  • 🔍 服务验证与测试
  • 🌐 Web访问配置
  • 🛠️ 常见问题解决
  • 📊 实际部署经验总结

🎯 项目介绍

什么是Langfuse?

Langfuse是一个开源的LLM工程平台,专为AI应用开发团队设计,提供了从开发到生产的全链路支持。它就像是AI应用的"体检中心",能够实时监控你的LLM应用健康状况。

🌟 核心功能亮点

功能模块核心价值应用场景
🔍 LLM应用追踪实时监控每次LLM调用性能分析、错误定位
📝 提示管理版本控制、协同编辑提示词优化、A/B测试
📊 评估系统多维度质量评估模型效果评估、持续改进
🗂️ 数据集管理测试集标准化管理基准测试、回归测试
🎮 LLM游乐场快速原型验证提示词调试、参数调优

🏗️ 技术架构解析

整体架构图

缓存与存储
数据层
应用层
用户层
Redis
缓存:6379
MinIO
对象存储:9000
PostgreSQL
主数据库:5432
ClickHouse
分析数据库:8123
Langfuse Web
Next.js:3000
Langfuse Worker
Express.js:3030
Nginx反向代理
Web浏览器
API客户端

🔧 技术栈详解

组件技术选型作用说明端口
前端应用Next.js 14用户界面,SSR渲染3000
后端服务Express.jsAPI服务,任务处理3030
主数据库PostgreSQL 16用户数据,配置信息5432
分析数据库ClickHouse大数据分析,日志存储8123/9000
缓存服务Redis 7会话缓存,队列管理6379
对象存储MinIO文件存储,媒体资源9000/9001

💻 环境准备

🖥️ 服务器配置要求

最小配置(测试环境)
  • CPU: 2核心
  • 内存: 4GB RAM
  • 存储: 20GB SSD
  • 系统: Ubuntu 20.04+
推荐配置(生产环境)
  • CPU: 4-8核心
  • 内存: 8-16GB RAM
  • 存储: 100-500GB SSD
  • 系统: Ubuntu 22.04 LTS
  • 网络: 10Mbps+

🔍 环境检查脚本

创建一个快速检查脚本:

#!/bin/bash
echo "=== Langfuse部署环境检查 ==="# 检查系统信息
echo "系统架构: $(uname -m)"
echo "操作系统: $(lsb_release -d | cut -f2)"
echo "内核版本: $(uname -r)"# 检查硬件资源
echo "CPU核心数: $(nproc)"
echo "内存大小: $(free -h | grep Mem | awk '{print $2}')"
echo "磁盘空间: $(df -h / | tail -1 | awk '{print $4}') 可用"# 检查网络连接
echo "网络连接: $(ping -c 1 google.com > /dev/null 2>&1 && echo "正常" || echo "异常")"echo "=== 检查完成 ==="

🐳 Docker环境搭建

📦 安装Docker Engine

Ubuntu/Debian系统一键安装
# 更新系统包
sudo apt-get update && sudo apt-get upgrade -y# 安装必要依赖
sudo apt-get install -y \ca-certificates \curl \gnupg \lsb-release \software-properties-common# 添加Docker官方GPG密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg# 添加Docker仓库
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 安装Docker
sudo apt-get update
sudo apt-get install -y \docker-ce \docker-ce-cli \containerd.io \docker-buildx-plugin \docker-compose-plugin
CentOS/RHEL系统安装
# 安装必要工具
sudo yum install -y yum-utils# 添加Docker仓库
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo# 安装Docker
sudo yum install -y \docker-ce \docker-ce-cli \containerd.io \docker-buildx-plugin \docker-compose-plugin

⚡ Docker服务配置

# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker# 添加用户到docker组(避免sudo)
sudo usermod -aG docker $USER# 重新加载用户组
newgrp docker# 验证安装
docker --version
docker compose version# 测试运行
docker run hello-world

⚙️ 核心配置详解

🔐 环境变量配置

# 复制配置模板
cp .env.prod.example .env# 编辑配置文件
nano .env  # 或使用vim、code等编辑器

📝 关键配置项说明

根据实际部署经验,创建完整的.env配置文件:

# ===========================================
# 🌐 Web应用基础配置
# ===========================================
# NextAuth认证服务的完整URL地址,必须包含协议和端口
# 重要:替换YOUR_SERVER_IP为你的实际服务器IP地址
NEXTAUTH_URL="http://YOUR_SERVER_IP:3000"# NextAuth会话加密密钥,用于JWT token签名和加密
# 生产环境必须设置,建议使用: openssl rand -base64 32
NEXTAUTH_SECRET="P+Kh7ckP2Q2JUl7JUyrvJQPStEq75u7/HRybFT7JPSM="# 运行环境:development(开发) | test(测试) | production(生产)
NODE_ENV="production"# ===========================================
# 🗄️ 数据库连接配置
# ===========================================
# PostgreSQL主数据库连接字符串
# 格式:postgresql://用户名:密码@主机:端口/数据库名
# 注意:密码中的@符号需要URL编码为%40
DATABASE_URL="postgresql://langfuse_user:your_secure_password%40@postgres:5432/postgres"# PostgreSQL直连URL,通常与DATABASE_URL相同
# 用于某些需要直接连接的操作(如数据库迁移)
DIRECT_URL="postgresql://langfuse_user:your_secure_password%40@postgres:5432/postgres"# ClickHouse分析数据库HTTP接口地址
# 用于大数据分析和日志存储
CLICKHOUSE_URL="http://clickhouse:8123"# ClickHouse数据库用户名
CLICKHOUSE_USER="langfuse_user"# ClickHouse数据库密码
CLICKHOUSE_PASSWORD="your_secure_password"# ClickHouse数据库名称,默认为default
CLICKHOUSE_DB="default"# ClickHouse集群名称,单机部署使用default
CLICKHOUSE_CLUSTER_NAME="default"# ===========================================
# 🔒 安全与加密配置
# ===========================================
# 数据加密密钥,必须是64位十六进制字符串(256位)
# 用于加密敏感数据,生成命令: openssl rand -hex 32
ENCRYPTION_KEY="0000000000000000000000000000000000000000000000000000000000000000"# API密钥哈希盐值,用于增强API密钥的安全性
# 建议使用随机字符串,生成命令: openssl rand -base64 32
SALT="your_random_salt_string_here"# ===========================================
# 🚀 Redis缓存配置
# ===========================================
# Redis服务器主机名或IP地址
REDIS_HOST="redis"# Redis服务器端口号,默认6379
REDIS_PORT="6379"# Redis认证密码,用于连接验证
REDIS_AUTH="your_redis_password"# Redis连接是否启用TLS加密,默认false
REDIS_TLS_ENABLED="false"# ===========================================
# 📦 MinIO对象存储配置
# ===========================================
# MinIO根用户名,用于管理MinIO服务
MINIO_ROOT_USER="langfuse_user"# MinIO根用户密码,用于管理MinIO服务
MINIO_ROOT_PASSWORD="your_minio_password"# ===========================================
# 📁 S3事件上传配置
# ===========================================
# S3存储桶名称,用于存储事件数据
LANGFUSE_S3_EVENT_UPLOAD_BUCKET="langfuse"# S3区域设置,MinIO使用auto
LANGFUSE_S3_EVENT_UPLOAD_REGION="auto"# S3访问密钥ID,对应MinIO的用户名
LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID="langfuse_user"# S3访问密钥,对应MinIO的密码
LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY="your_minio_password"# S3服务端点URL,指向MinIO服务
LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT="http://minio:9000"# 强制使用路径样式URL,MinIO需要设置为true
LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE="true"# S3对象前缀,用于组织存储结构
LANGFUSE_S3_EVENT_UPLOAD_PREFIX="events/"# ===========================================
# 🖼️ S3媒体上传配置(可选)
# ===========================================
# 媒体文件存储桶,可与事件存储桶相同
LANGFUSE_S3_MEDIA_UPLOAD_BUCKET="langfuse"# 媒体文件区域设置
LANGFUSE_S3_MEDIA_UPLOAD_REGION="auto"# 媒体文件访问密钥ID
LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID="langfuse_user"# 媒体文件访问密钥
LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY="your_minio_password"# 媒体文件服务端点
LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT="http://minio:9000"# 媒体文件强制路径样式
LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE="true"# 媒体文件对象前缀
LANGFUSE_S3_MEDIA_UPLOAD_PREFIX="media/"# ===========================================
# 🔧 功能开关配置
# ===========================================
# 是否启用实验性功能,true启用,false禁用
LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES="true"# 是否启用遥测数据收集,true启用,false禁用
# 建议生产环境设置为false保护隐私
TELEMETRY_ENABLED="false"# 是否启用API密钥缓存,提高性能
LANGFUSE_CACHE_API_KEY_ENABLED="true"# API密钥缓存时间(秒),默认300秒(5分钟)
LANGFUSE_CACHE_API_KEY_TTL_SECONDS="300"# ===========================================
# 📊 性能调优配置(可选)
# ===========================================
# 数据摄取队列延迟时间(毫秒),默认15000(15秒)
LANGFUSE_INGESTION_QUEUE_DELAY_MS="15000"# ClickHouse最大连接数,默认25
CLICKHOUSE_MAX_OPEN_CONNECTIONS="25"# ClickHouse连接保活时间(毫秒),默认9000
CLICKHOUSE_KEEP_ALIVE_IDLE_SOCKET_TTL="9000"

⚠️ 重要配置说明

  1. 数据库主机名:必须使用postgres而不是db,这是Docker Compose中的服务名
  2. 密码编码:URL中的@符号需要编码为%40
  3. 用户名统一:建议所有服务使用统一的用户名langfuse_user
  4. 密码格式:实际密码中可以包含特殊字符,但在URL中需要正确编码

🛡️ 安全密钥生成脚本

创建自动生成安全密钥的脚本:

#!/bin/bash
# generate_secrets.shecho "=== Langfuse安全密钥生成器 ==="echo "NEXTAUTH_SECRET=\"$(openssl rand -base64 32)\""
echo "ENCRYPTION_KEY=\"$(openssl rand -hex 32)\""
echo "SALT=\"$(openssl rand -base64 32)\""
echo "DB_PASSWORD=\"$(openssl rand -base64 16)\""
echo "REDIS_AUTH=\"$(openssl rand -base64 16)\""
echo "MINIO_SECRET=\"$(openssl rand -base64 24)\""echo "=== 密钥生成完成,请复制到.env文件 ==="

🚀 一键启动部署

🐳 Docker Compose配置优化

🌐 国内镜像拉取问题解决

由于网络限制,国内用户可能无法正常拉取官方Docker镜像。推荐使用以下解决方案:

方案一:使用魔法网络

  • 如果有魔法网络,可以直接使用官方镜像配置

方案二:使用第三方镜像平台

推荐使用 渡渡鸟镜像站,该平台提供了完整的Docker镜像同步服务:

  • 支持 docker.io、gcr.io、ghcr.io、quay.io 等主流镜像源
  • 100%同步官方镜像,安全可靠
  • 国内访问速度快,稳定性好

其他方案
官方文档还提供了云端部署,此外也提供了集群部署(k8s)

🔧 修改镜像地址

根据你的系统架构选择合适的镜像,修改docker-compose.yml文件中的镜像地址:

检查并优化docker-compose.yml文件,确保所有服务都有正确的平台配置:

官方镜像配置(需要魔法网络):

version: '3.8'services:postgres:image: postgres:16-alpineplatform: linux/amd64# ... 其他配置redis:image: redis:7-alpineplatform: linux/amd64# ... 其他配置clickhouse:image: clickhouse/clickhouse-server:latestplatform: linux/amd64# ... 其他配置minio:image: minio/minio:latestplatform: linux/amd64# ... 其他配置langfuse-web:image: langfuse/langfuse:latestplatform: linux/amd64# ... 其他配置langfuse-worker:image: langfuse/langfuse-worker:latestplatform: linux/amd64# ... 其他配置

国内镜像配置(推荐):

version: '3.8'services:# PostgreSQL主数据库postgres:image: docker.aityp.com/postgres:16-alpineplatform: linux/amd64restart: alwaysenvironment:POSTGRES_DB: langfusePOSTGRES_USER: langfuse_userPOSTGRES_PASSWORD: ${DB_PASSWORD}volumes:- postgres_data:/var/lib/postgresql/dataports:- "127.0.0.1:5432:5432"healthcheck:test: ["CMD-SHELL", "pg_isready -U langfuse_user -d langfuse"]interval: 10stimeout: 5sretries: 5# Redis缓存服务redis:image: docker.aityp.com/redis:7-alpineplatform: linux/amd64restart: alwayscommand: redis-server --requirepass ${REDIS_AUTH}volumes:- redis_data:/dataports:- "127.0.0.1:6379:6379"healthcheck:test: ["CMD", "redis-cli", "-a", "${REDIS_AUTH}", "ping"]interval: 10stimeout: 5sretries: 5# ClickHouse分析数据库clickhouse:image: docker.aityp.com/clickhouse/clickhouse-server:latestplatform: linux/amd64restart: alwaysenvironment:CLICKHOUSE_DB: defaultCLICKHOUSE_USER: ${CLICKHOUSE_USER}CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD}volumes:- clickhouse_data:/var/lib/clickhouseports:- "127.0.0.1:8123:8123"- "127.0.0.1:9000:9000"healthcheck:test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8123/ping"]interval: 10stimeout: 5sretries: 5# MinIO对象存储minio:image: docker.aityp.com/minio/minio:latestplatform: linux/amd64restart: alwayscommand: server /data --console-address ":9001"environment:MINIO_ROOT_USER: ${LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID}MINIO_ROOT_PASSWORD: ${LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY}volumes:- minio_data:/dataports:- "127.0.0.1:9000:9000"- "127.0.0.1:9001:9001"healthcheck:test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]interval: 10stimeout: 5sretries: 5# Langfuse Web应用langfuse-web:image: docker.aityp.com/langfuse/langfuse:latestplatform: linux/amd64restart: alwaysdepends_on:postgres:condition: service_healthyredis:condition: service_healthyclickhouse:condition: service_healthyminio:condition: service_healthyports:- "3000:3000"env_file:- .envhealthcheck:test: ["CMD", "curl", "-f", "http://localhost:3000/api/public/health"]interval: 30stimeout: 10sretries: 3# Langfuse Worker服务langfuse-worker:image: docker.aityp.com/langfuse/langfuse-worker:latestplatform: linux/amd64restart: alwaysdepends_on:postgres:condition: service_healthyredis:condition: service_healthyclickhouse:condition: service_healthyminio:condition: service_healthyports:- "127.0.0.1:3030:3030"env_file:- .envvolumes:postgres_data:redis_data:clickhouse_data:minio_data:
📋 镜像地址对照表
服务官方镜像国内镜像
PostgreSQLpostgres:16-alpinedocker.aityp.com/postgres:16-alpine
Redisredis:7-alpinedocker.aityp.com/redis:7-alpine
ClickHouseclickhouse/clickhouse-server:latestdocker.aityp.com/clickhouse/clickhouse-server:latest
MinIOminio/minio:latestdocker.aityp.com/minio/minio:latest
Langfuse Weblangfuse/langfuse:latestdocker.aityp.com/langfuse/langfuse:latest
Langfuse Workerlangfuse/langfuse-worker:latestdocker.aityp.com/langfuse/langfuse-worker:latest
💡 使用建议
  1. 优先使用国内镜像:速度快,稳定性好
  2. 检查架构兼容性:确保选择的镜像支持你的系统架构(amd64/arm64)
  3. 版本一致性:建议使用具体版本号而不是latest标签,确保部署一致性

🎬 启动部署流程

# 1. 清理旧环境
echo "🧹 清理旧环境..."
docker compose down -v
docker system prune -f# 2. 启动所有服务(会自动拉取镜像)
echo "🚀 启动服务..."
docker compose up -d# 3. 查看启动状态
echo "📊 查看服务状态..."
docker compose ps# 4. 实时查看日志
echo "📋 查看启动日志..."
docker compose logs -f

🔍 服务验证与测试

🏥 健康检查命令

# PostgreSQL连接测试
echo "🗄️ 测试PostgreSQL连接..."
docker compose exec postgres pg_isready -U langfuse_user -d langfuse# Redis连接测试
echo "🚀 测试Redis连接..."
docker compose exec redis redis-cli -a "${REDIS_AUTH}" ping# ClickHouse连接测试
echo "📊 测试ClickHouse连接..."
curl -s http://localhost:8123/ping# MinIO连接测试
echo "📦 测试MinIO连接..."
curl -s http://localhost:9000/minio/health/live# Web应用健康检查
echo "🌐 测试Web应用..."
curl -s http://localhost:3000/api/public/health

🌐 Web访问配置

🔥 防火墙配置

# 检查防火墙状态
sudo ufw status# 开放必要端口
sudo ufw allow 22/tcp      # SSH访问
sudo ufw allow 3000/tcp    # Langfuse Web
sudo ufw allow 80/tcp      # HTTP(如果使用Nginx)
sudo ufw allow 443/tcp     # HTTPS(如果使用SSL)# 启用防火墙
sudo ufw enable

🌍 首次访问指南

  1. 打开浏览器,访问:http://YOUR_SERVER_IP:3000

  2. 默认登录凭据

    • 用户名:demo@langfuse.com
    • 密码:password
  3. 管理界面访问

    • MinIO控制台:http://YOUR_SERVER_IP:9001
    • 用户名:langfuse_user(根据实际配置)
    • 密码:your_minio_password(根据实际配置)

📊 访问端口总览

服务端口访问地址用途
Langfuse Web3000http://YOUR_IP:3000主要Web界面
MinIO控制台9001http://YOUR_IP:9001对象存储管理
PostgreSQL5432127.0.0.1:5432数据库(仅本地)
Redis6379127.0.0.1:6379缓存(仅本地)
ClickHouse8123127.0.0.1:8123分析数据库(仅本地)

📱 移动端适配

Langfuse的Web界面支持响应式设计,可以在移动设备上正常访问和使用。


🛠️ 常见问题解决

❌ 问题1:数据库连接失败 - 主机名错误

症状

Error: P1001: Can't reach database server at `db:5432`
Please make sure your database server is running at `db:5432`.
Applying database migrations failed.

原因分析

  • Docker Compose配置中的数据库服务名与.env文件不匹配
  • 环境变量中使用了db,但实际服务名是postgres

解决方案

# 1. 检查Docker Compose中的服务名
docker compose ps# 2. 测试网络连通性
docker compose exec langfuse-web ping -c 3 postgres  # 成功
docker compose exec langfuse-web ping -c 3 db        # 失败# 3. 修正.env文件中的主机名
# 错误配置:
# DATABASE_URL="postgresql://langfuse_user:your_secure_password%40@db:5432/postgres"# 正确配置:
DATABASE_URL="postgresql://langfuse_user:your_secure_password%40@postgres:5432/postgres"
DIRECT_URL="postgresql://langfuse_user:your_secure_password%40@postgres:5432/postgres"# 4. 重启服务应用配置
docker compose down && docker compose up -d

❌ 问题2:数据库用户不存在

症状

FATAL: password authentication failed for user "langfuse_user"

原因分析

  • PostgreSQL容器中没有创建指定的用户
  • 用户权限不足,无法进行数据库迁移

解决方案

# 1. 检查现有用户
docker compose exec postgres psql -U postgres -d postgres -c "\du"# 2. 创建langfuse_user用户
docker compose exec postgres psql -U postgres -d postgres -c "CREATE USER langfuse_user WITH PASSWORD 'your_secure_password';"# 3. 授予数据库权限
docker compose exec postgres psql -U postgres -d postgres -c "GRANT ALL PRIVILEGES ON DATABASE postgres TO langfuse_user;"# 4. 授予超级用户权限(用于数据库迁移)
docker compose exec postgres psql -U postgres -d postgres -c "ALTER USER langfuse_user WITH SUPERUSER;"# 5. 验证用户创建成功
docker compose exec postgres psql -U langfuse_user -d postgres -c "SELECT current_user;"# 6. 重启Web服务
docker compose restart langfuse-web

❌ 问题3:数据库迁移权限不足

症状

Error: ERROR: permission denied for table _prisma_migrations

原因分析

  • 用户权限不足,无法创建和修改Prisma迁移表
  • 需要超级用户权限来执行数据库架构变更

解决方案

# 授予超级用户权限
docker compose exec postgres psql -U postgres -d postgres -c "ALTER USER langfuse_user WITH SUPERUSER;"# 重启Web服务以重新执行迁移
docker compose restart langfuse-web

❌ 问题4:环境变量未生效

症状

  • 修改.env文件后,应用仍然使用旧配置
  • 数据库连接字符串没有更新

原因分析

  • Docker容器没有重新加载环境变量
  • 需要完全重启服务

解决方案

# 完全重启所有服务
docker compose down
docker compose up -d# 验证环境变量是否生效
docker compose exec langfuse-web env | grep DATABASE_URL

❌ 问题5:容器启动失败 - exec format error

症状

exec /usr/local/bin/docker-entrypoint.sh: exec format error

原因分析

  • 架构不匹配,通常发生在ARM架构服务器上运行AMD64镜像

解决方案

# 1. 检查系统架构
uname -m# 2. 确保Docker Compose配置中有platform设置
# 在docker-compose.yml中为每个服务添加:
platform: linux/amd64# 3. 如果是ARM架构,启用多架构支持
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

❌ 问题6:端口冲突

症状

Error: port is already allocated

解决方案

# 1. 查看端口占用
sudo netstat -tlnp | grep :3000# 2. 停止占用端口的进程
sudo kill -9 PID# 3. 或修改docker-compose.yml中的端口映射
ports:- "3001:3000"  # 改为其他可用端口

🔧 调试工具箱

# 容器资源使用情况
docker stats --no-stream# 查看容器详细信息
docker compose exec langfuse-web env# 进入容器调试
docker compose exec langfuse-web /bin/bash# 查看网络连接
docker network ls
docker network inspect langfuse_default# 清理Docker系统
docker system prune -a -f --volumes

📋 完整部署检查清单

根据实际部署经验,整理出以下检查清单:

✅ 部署前检查
  • 服务器满足最低配置要求
  • Docker和Docker Compose已正确安装
  • 防火墙端口已开放(3000, 5432, 6379, 8123, 9000, 9001)
  • 系统架构确认(x86_64)
✅ 配置文件检查
  • .env文件已从模板复制并修改
  • 数据库主机名使用postgres而不是db
  • 密码中的特殊字符已正确URL编码(@符号编码为%40)
  • 所有服务使用统一的用户名langfuse_user
  • NEXTAUTH_URL已更新为实际服务器IP
✅ 启动后验证
  • 所有容器状态为running且健康检查通过
  • 数据库用户langfuse_user已创建并具有超级用户权限
  • Web应用可以正常访问(http://YOUR_IP:3000)
  • 数据库迁移成功完成
  • MinIO控制台可以访问(http://YOUR_IP:9001)
✅ 功能测试
  • 可以使用默认账号登录(demo@langfuse.com/password)
  • 可以创建新项目
  • 可以生成API密钥
  • 各个服务日志无错误信息

📊 实际部署经验总结

🎯 部署成功的关键要点

通过实际部署测试,总结出以下关键成功要素:

  1. 正确的服务名配置:Docker Compose中的服务名必须与环境变量一致
  2. 数据库用户权限:确保数据库用户有足够的权限进行迁移
  3. 环境变量格式:特殊字符需要正确编码
  4. 服务启动顺序:依赖服务必须先启动并健康检查通过

🎊 恭喜你! 现在你已经拥有了一个功能完整的Langfuse平台,可以开始你的LLM工程之旅了!

这以上只是我在开发一个全新的高智能体项目,是跟自媒体相关的,所以我必须使用该平台来调试智能体,也需要评估不同大模型,也管理我需要的数据集。然后虽然langfuse提供了公开的平台,但毕竟是人家的东西,我还是不放心,把我的提示词,数据集放在他们的平台上面,所有私有化部署是一个明智的选择。

💡 作者实战分享

我正在开发一个全新的高智能体自媒体项目,在这个过程中必须使用Langfuse平台来调试智能体,同时需要评估不同大模型的效果,以及管理项目所需的数据集。

虽然Langfuse提供了便捷的云端服务,但考虑到数据安全问题,我还是不放心将核心提示词和敏感数据集放在第三方平台上。因此,选择私有化部署是一个明智的决策,既能享受Langfuse的强大功能,又能确保数据的完全掌控。

http://www.dtcms.com/a/560950.html

相关文章:

  • 美工需要会哪些软件前端网站优化
  • 页面白屏如何排查?
  • ESP32 分区表配置指南(ArduinoIDE2.X.X)
  • 如何建一个个人的网站简单网站建设策划书范文
  • 2.基础--MySQL安装及启动
  • 洛阳网站建设汉狮怎么样看动漫是怎么做视频网站
  • 吴恩达新课程:Agentic AI(笔记5)
  • Spring AI--MCP协议
  • 多模态输入框架详解:OpenHarmony Input Kit核心技术与实践
  • 【AI-agent】AI Agent核心概念理解
  • 参与免疫排斥反应的MHC基因位点
  • Broadcast (攻防世界)
  • 【Linux学习】启用NFS服务并挂载
  • Python招聘数据分析可视化系统 Boss直聘数据 selenium爬虫 Flask框架 数据清洗(附源码)✅
  • 上海网站 建设wordpress的域名绑定
  • kotlin - 显示HDR图(heic格式),使用GainMap算法,速度从5秒提升到0.6秒
  • 查找及其算法
  • Java 高级特性:泛型与包装类深度解析
  • GD32F407VE天空星开发板的旋转编码器EC12的实现
  • 从零开始学习Redis(五):多级缓存
  • 解码LVGL样式
  • 山西响应式网站建设价位企业培训计划
  • 深入浅出 C++ 多态:从概念到原理
  • 多实现类(如IService有ServiceA/ServiceB)的注入配置与获取
  • web自动化测试-Selenium04_iframe切换、窗口切换
  • 分类与回归算法(一)- 模型评价指标
  • 浙江十大建筑公司排名用v9做网站优化
  • 江门网站建设自助建站站内seo和站外seo区别
  • 嵌入式Linux:线程同步(自旋锁)
  • RHCE复习第一次作业