LANGFUSE Docker 容器化部署指南

langfuse使用零星记录 langfuse使用过程的一些坑点,做一些记录,便于日后回顾查找,也为同样在学习的小伙伴们异同一些可能的帮助。期望在学习使用一段时间之后,可以系统性的写一些更有价值的内容出来。一些说明:这里不是主要记录如何使用langfuse,主要是针对过程出现的问题记录,这样产生的作用与价值更大。一、langfuse是什么?LangFuse 是一个开源的大型语言模型(LLM)工程平台,主要用于帮助团队更快地构建生产级的 LLM 应用程序。 阅读详情

概述

LANGFUSE 是一款开源的 LLM 工程平台,旨在为大型语言模型(LLM)应用提供可观测性、评估工具、提示管理、 playground 界面及性能指标分析等核心功能。作为连接 LLM 模型与实际业务应用的桥梁,LANGFUSE 支持与各类模型、框架集成,允许复杂的嵌套结构,并提供开放 API 以构建下游业务场景。

随着 LLM 技术在企业级应用中的普及,快速、可靠的部署方式成为工程实践的关键。Docker 容器化部署凭借其环境一致性、隔离性和可移植性,成为 LANGFUSE 部署的理想选择。本文将详细介绍如何通过 Docker 容器化方案部署 LANGFUSE,从环境准备到生产环境优化,为技术团队提供可落地的实施指南。

环境准备

Docker 安装

部署 LANGFUSE 容器前需确保 Docker 环境已正确安装。推荐使用轩辕云提供的一键安装脚本,该脚本适用于主流 Linux 发行版(Ubuntu、Debian、CentOS、Fedora 等),可自动完成 Docker 引擎、Docker Compose 及相关依赖的安装与配置。

执行以下命令安装 Docker 环境:

bash <(wget -qO- https://xuanyuan.cloud/docker.sh)

安装说明:

  • 脚本将自动检测操作系统类型并适配安装流程
  • 过程中需要 sudo 权限,请确保当前用户具有 sudo 执行权限
  • 安装完成后会自动启动 Docker 服务并设置开机自启

安装完成后,通过以下命令验证 Docker 是否正常运行:

# 检查 Docker 版本
docker --version

# 检查 Docker Compose 版本
docker compose version

# 验证 Docker 服务状态
systemctl status docker

若输出 Docker 版本信息(如 Docker version 26.0.0, build 2ae903e)且服务状态为 active (running),则表示安装成功。

如需验证加速配置是否生效,可查看 Docker 守护进程配置:

cat /etc/docker/daemon.json

若配置正确,将看到包含 xxx.xuanyuan.run 镜像仓库的配置内容。

镜像准备

镜像拉取

LANGFUSE 推荐使用最新稳定版本(latest 标签),如需指定版本,可从 LANGFUSE 镜像标签列表 选择合适的标签。

执行以下命令拉取 LANGFUSE 镜像:

# 拉取最新版本
docker pull xxx.xuanyuan.run/langfuse/langfuse:latest

# 如需指定版本(示例:拉取 2.0 版本)
# docker pull xxx.xuanyuan.run/langfuse/langfuse:2.0

版本选择建议:

  • 生产环境推荐使用特定主版本标签(如 2)而非 latest,以避免自动升级导致的兼容性问题
  • 可通过 LANGFUSE 镜像标签列表 查看所有可用版本及更新日志

镜像验证

拉取完成后,通过以下命令验证镜像是否成功下载:

# 查看本地镜像列表
docker images | grep langfuse

# 输出示例:
# xxx.xuanyuan.run/langfuse/langfuse   latest    abc12345   2 weeks ago   1.2GB

若输出包含 xxx.xuanyuan.run/langfuse/langfuse 及对应标签信息,则表示镜像拉取成功。可进一步通过 docker inspect 命令查看镜像详细信息:

docker inspect xxx.xuanyuan.run/langfuse/langfuse:latest

该命令将返回镜像的完整元数据,包括环境变量、暴露端口、入口命令等,有助于后续部署配置。

容器部署

基础部署(单容器模式)

LANGFUSE 基础部署需至少映射 Web 服务端口,并配置必要的环境变量。以下是快速启动命令,适用于测试环境:

docker run -d \
  --name langfuse \
  --restart unless-stopped \
  -p 3000:3000 \  # Web 服务端口映射(主机端口:容器端口)
  -e NEXTAUTH_URL=http://localhost:3000 \  # 应用访问地址
  -e DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:5432/langfuse \  # 数据库连接地址
  -e NEXTAUTH_SECRET=your-secure-secret-key \  # 认证密钥(建议使用随机字符串)
  xxx.xuanyuan.run/langfuse/langfuse:latest

参数说明:

  • -d:后台运行容器
  • --name langfuse:指定容器名称为 langfuse
  • --restart unless-stopped:容器退出时除非手动停止,否则自动重启
  • -p 3000:3000:将容器的 3000 端口映射到主机的 3000 端口(默认 Web 服务端口)
  • -e:设置环境变量(详细环境变量见下文)

核心环境变量配置

LANGFUSE 运行依赖多个关键环境变量,以下为常用配置项说明(完整列表请参考 LANGFUSE 镜像文档(轩辕)):

环境变量描述示例值
NEXTAUTH_URL应用访问基础 URL(含协议和端口)https://langfuse.example.com
NEXTAUTH_SECRET用于加密认证会话的密钥,建议至少 32 字符$(openssl rand -hex 32)
DATABASE_URL数据库连接字符串(PostgreSQL 必需)postgresql://user:pass@db:5432/langfuse
NEXT_PUBLIC_SITE_URL前端访问 URL(与 NEXTAUTH_URL 通常一致)https://langfuse.example.com
LANGFUSE_ENABLE_SIGNUP是否允许用户注册(生产环境建议关闭)false
LANGFUSE_CLOUD_MODE是否启用云模式(自托管环境设为 false)false
PORT容器内 Web 服务端口(默认 3000)3000

数据库配置(外部 PostgreSQL)

LANGFUSE 依赖 PostgreSQL 数据库存储核心数据(如追踪记录、评估结果、用户配置等)。生产环境建议使用独立部署的 PostgreSQL 实例(而非容器内置数据库),以提高数据可靠性和扩展性。

1. 部署 PostgreSQL 容器(示例)

如需快速搭建测试用 PostgreSQL,可使用以下命令:

# 创建 PostgreSQL 数据卷(持久化存储)
docker volume create pgdata

# 启动 PostgreSQL 容器
docker run -d \
  --name langfuse-postgres \
  --restart unless-stopped \
  -p 5432:5432 \
  -v pgdata:/var/lib/postgresql/data \
  -e POSTGRES_USER=langfuse \
  -e POSTGRES_PASSWORD=secure-password \
  -e POSTGRES_DB=langfuse \
  xxx.xuanyuan.run/library/postgres:15  # PostgreSQL 官方镜像(单段镜像名,使用 library 前缀)
2. 配置 LANGFUSE 数据库连接

使用外部 PostgreSQL 时,需调整 DATABASE_URL 环境变量指向数据库实例:

# 同一主机下的 PostgreSQL 连接(使用容器名称作为主机名)
-e DATABASE_URL=postgresql://langfuse:secure-password@langfuse-postgres:5432/langfuse

# 远程 PostgreSQL 连接
# -e DATABASE_URL=postgresql://user:pass@remote-postgres.example.com:5432/langfuse

数据持久化配置

为避免容器重启导致数据丢失,需将 LANGFUSE 的关键数据目录挂载到主机目录或 Docker 数据卷。LANGFUSE 主要需要持久化的目录包括日志、上传文件等(具体路径可通过 docker inspect 查看镜像元数据):

# 创建本地数据目录
mkdir -p /opt/langfuse/logs /opt/langfuse/uploads

# 启动容器时挂载目录
docker run -d \
  --name langfuse \
  --restart unless-stopped \
  -p 3000:3000 \
  -v /opt/langfuse/logs:/app/logs \  # 日志目录
  -v /opt/langfuse/uploads:/app/public/uploads \  # 上传文件目录
  -e NEXTAUTH_URL=http://localhost:3000 \
  -e NEXTAUTH_SECRET=$(openssl rand -hex 32) \
  -e DATABASE_URL=postgresql://langfuse:secure-password@langfuse-postgres:5432/langfuse \
  xxx.xuanyuan.run/langfuse/langfuse:latest

Docker Compose 编排(推荐生产环境)

对于多组件部署(如 LANGFUSE + PostgreSQL),推荐使用 Docker Compose 统一管理容器。创建 docker-compose.yml 文件如下:

version: '3.8'

services:
  langfuse:
    image: xxx.xuanyuan.run/langfuse/langfuse:latest
    container_name: langfuse
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - NEXTAUTH_URL=http://localhost:3000
      - NEXTAUTH_SECRET=${NEXTAUTH_SECRET}  # 从环境变量读取,避免硬编码
      - DATABASE_URL=postgresql://langfuse:${DB_PASSWORD}@postgres:5432/langfuse
      - LANGFUSE_ENABLE_SIGNUP=false
      - LANGFUSE_CLOUD_MODE=false
    volumes:
      - langfuse-logs:/app/logs
      - langfuse-uploads:/app/public/uploads
    depends_on:
      - postgres  # 确保数据库先启动
    networks:
      - langfuse-network

  postgres:
    image: xxx.xuanyuan.run/library/postgres:15  # PostgreSQL 官方镜像
    container_name: langfuse-postgres
    restart: unless-stopped
    environment:
      - POSTGRES_USER=langfuse
      - POSTGRES_PASSWORD=${DB_PASSWORD}
      - POSTGRES_DB=langfuse
    volumes:
      - pgdata:/var/lib/postgresql/data
    networks:
      - langfuse-network
    healthcheck:  # 数据库健康检查
      test: ["CMD-SHELL", "pg_isready -U langfuse -d langfuse"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  langfuse-logs:
  langfuse-uploads:
  pgdata:

networks:
  langfuse-network:
    driver: bridge

创建 .env 文件存储敏感信息(不要提交到版本控制):

# .env 文件
NEXTAUTH_SECRET=your-32-character-secure-secret-here
DB_PASSWORD=your-secure-postgres-password

使用以下命令启动服务:

# 启动所有服务(后台运行)
docker compose up -d

# 查看服务状态
docker compose ps

# 查看日志
docker compose logs -f

功能测试

服务可用性验证

部署完成后,通过以下步骤验证 LANGFUSE 服务是否正常运行:

1. 检查容器状态
# 查看容器运行状态
docker ps | grep langfuse

# 输出示例(状态应为 Up):
# abc123456789   xxx.xuanyuan.run/langfuse/langfuse:latest   "docker-entrypoint.s…"   5 minutes ago   Up 5 minutes   0.0.0.0:3000->3000/tcp   langfuse

若状态为 Exited,通过日志排查错误:

docker logs langfuse
2. 访问 Web 界面

在浏览器中访问 http://服务器IP:3000(或配置的 NEXTAUTH_URL),应显示 LANGFUSE 登录页面。首次登录需使用默认管理员账户(具体凭据请参考 LANGFUSE 镜像文档(轩辕))。

3. API 接口测试

使用 curl 或 Postman 测试 LANGFUSE API 可用性(需先获取 API 密钥,在 Web 界面的「设置 > API 密钥」中创建):

# 测试 API 健康检查接口
curl -X GET http://服务器IP:3000/api/health \
  -H "Content-Type: application/json"

# 预期响应:{"status":"ok","version":"x.y.z"}

核心功能验证

1. 项目创建

登录后,在 Web 界面点击「New Project」创建测试项目,填写项目名称和描述,验证项目创建功能是否正常。

2. 追踪事件上报

使用以下代码示例(Python)向 LANGFUSE 上报测试追踪事件,验证数据接收能力:

from langfuse import Langfuse

# 初始化客户端(API 密钥从 Web 界面获取)
langfuse = Langfuse(
    public_key="pk-xxx",
    secret_key="sk-xxx",
    host="http://服务器IP:3000"  # 自托管实例地址
)

# 创建追踪事件
trace = langfuse.trace(
    name="test-trace",
    input="Hello LANGFUSE"
)

# 添加生成内容
generation = trace.generation(
    name="test-generation",
    input="Hello",
    output="World",  
    model="test-model"
)

# 提交事件
trace.submit()

在 Web 界面的「Traces」页面查看是否接收到该事件,验证数据存储和展示功能。

3. 评估功能测试

在项目中创建评估集(Evaluation Set),添加测试用例并执行评估,验证评估流程是否正常:

  1. 进入项目 > Evaluations > New Evaluation Set
  2. 添加测试用例(输入、预期输出、评分标准)
  3. 运行评估并查看结果报告

生产环境建议

安全加固

1. 网络隔离与端口限制
  • 禁止公网直接暴露:通过反向代理(如 Nginx、Traefik)暴露服务,避免容器端口直接映射到公网
  • 使用自定义网络:通过 Docker 自定义网络隔离 LANGFUSE 与数据库,仅暴露必要端口
# docker-compose.yml 网络配置示例
networks:
  langfuse-network:
    driver: bridge
    internal: false  # 允许访问外部网络(如更新、外部 API)
2. 敏感信息管理
  • 环境变量加密:使用 Docker Secrets(Swarm 模式)或外部密钥管理服务(如 HashiCorp Vault)存储敏感信息,避免明文环境变量
  • API 密钥轮换:定期轮换 API 密钥,在 Web 界面的「设置 > API 密钥」中操作
  • 数据库访问控制:限制数据库仅允许 LANGFUSE 容器访问,通过网络策略或防火墙实现
3. HTTPS 配置

生产环境必须启用 HTTPS 加密传输,推荐通过反向代理实现:

Nginx 配置示例:

server {
    listen 80;
    server_name langfuse.example.com;
    return 301 https://$host$request_uri;  # HTTP 重定向到 HTTPS
}

server {
    listen 443 ssl;
    server_name langfuse.example.com;

    ssl_certificate /etc/nginx/certs/fullchain.pem;  # SSL 证书路径
    ssl_certificate_key /etc/nginx/certs/privkey.pem;

    # 代理配置
    location / {
        proxy_pass http://langfuse:3000;  # 指向 LANGFUSE 容器
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

性能优化

1. 资源限制与调优

为容器设置合理的资源限制,避免资源耗尽或过度占用:

# docker-compose.yml 资源限制配置
services:
  langfuse:
    # ... 其他配置
    deploy:
      resources:
        limits:
          cpus: '2'  # CPU 限制
          memory: 4G  # 内存限制
        reservations:
          cpus: '1'  # CPU 预留
          memory: 2G  # 内存预留
2. 数据库优化
  • 使用连接池:配置 PostgreSQL 连接池(如 PgBouncer),提高连接复用率
  • 定期备份:设置数据库定时备份策略,使用 pg_dump 或工具(如 pgBackRest)
  • 索引优化:根据查询模式优化数据库索引,尤其是 traces、generations 等大表
3. 缓存策略

启用 Redis 缓存提升 LANGFUSE 性能,减少数据库访问压力:

# 启动 Redis 容器
docker run -d \
  --name langfuse-redis \
  --restart unless-stopped \
  -v redisdata:/data \
  xxx.xuanyuan.run/library/redis:7  # Redis 官方镜像(单段镜像名)

# 配置 LANGFUSE 使用 Redis(添加环境变量)
-e REDIS_URL=redis://langfuse-redis:6379

监控与运维

1. 日志管理
  • 集中式日志:使用 ELK Stack(Elasticsearch, Logstash, Kibana)或 Loki 收集容器日志
  • 日志轮转:配置 Docker 日志驱动的轮转策略,避免日志文件过大
# /etc/docker/daemon.json 日志配置
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}
2. 性能监控
  • 容器监控:使用 Prometheus + Grafana 监控容器 CPU、内存、网络等指标
  • 应用监控:启用 LANGFUSE 内置 metrics 接口(/api/metrics),配置 Prometheus 抓取
# prometheus.yml 配置示例
scrape_configs:
  - job_name: 'langfuse'
    static_configs:
      - targets: ['langfuse:3000']  # LANGFUSE 容器地址
3. 自动更新与回滚
  • 版本管理:生产环境使用固定版本标签(如 2.0)而非 latest,便于回滚
  • 自动化部署:通过 CI/CD 管道(如 GitHub Actions、GitLab CI)实现镜像拉取、测试、部署自动化

故障排查

常见问题及解决方案

1. 容器启动失败

症状:docker ps 显示容器状态为 Exited,日志中出现错误。

排查步骤:

  1. 查看容器日志:docker logs langfuse
  2. 检查环境变量:确认 DATABASE_URL、NEXTAUTH_SECRET 等关键变量是否正确配置
  3. 检查端口占用:使用 netstat -tulpn | grep 3000 确认端口未被占用

常见原因及解决:

  • 数据库连接失败:验证数据库地址、用户名、密码是否正确,数据库是否可访问
  • 密钥长度不足:NEXTAUTH_SECRET 至少 32 字符,使用 openssl rand -hex 32 生成
  • 权限问题:挂载目录权限不足,执行 chmod -R 775 /opt/langfuse 授予权限
2. Web 界面无法访问

症状:访问 http://服务器IP:3000 无响应或显示 502 错误。

排查步骤:

  1. 检查容器状态和日志
  2. 验证端口映射:docker port langfuse 确认端口映射正确
  3. 检查防火墙规则:ufw status 或 firewalld-cmd --list-ports 确认端口已开放

常见原因及解决:

  • 反向代理配置错误:检查代理目标地址和端口是否指向 LANGFUSE 容器
  • SSL 证书问题:HTTPS 配置错误导致无法加载页面,查看浏览器开发者工具的网络/控制台标签
  • NEXTAUTH_URL 不匹配:确保 NEXTAUTH_URL 与访问 URL 一致,包括协议(http/https)
3. 数据持久化失败

症状:容器重启后数据丢失,或日志文件未写入挂载目录。

排查步骤:

  1. 检查数据卷挂载:docker inspect langfuse | grep Mounts 确认挂载配置正确
  2. 查看目录权限:ls -ld /opt/langfuse 确认主机目录权限允许 Docker 写入

解决方案:

  • 修复挂载路径:确保 -v 参数中主机路径存在且拼写正确
  • 调整目录权限:执行 chown -R 1000:1000 /opt/langfuse(假设容器内用户 UID/GID 为 1000)
4. API 调用失败

症状:客户端调用 API 时返回 401/403 错误或无响应。

排查步骤:

  1. 检查 API 密钥:确认公钥/私钥正确,未过期或被吊销
  2. 验证请求头:确保包含正确的 Content-Type 和认证头
  3. 查看应用日志:docker logs langfuse | grep API 查找相关错误信息

常见原因及解决:

  • 密钥权限不足:创建 API 密钥时授予足够权限(如 trace:write、evaluation:read)
  • 跨域配置问题:前端调用时出现跨域错误,需在反向代理中配置 CORS 头
# Nginx CORS 配置示例
location /api/ {
    proxy_pass http://langfuse:3000/api/;
    add_header Access-Control-Allow-Origin "https://frontend.example.com";
    add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
    add_header Access-Control-Allow-Headers "Content-Type, Authorization";
}

高级排查工具

1. Docker 内置工具
  • 容器内部检查:进入容器查看运行环境
docker exec -it langfuse /bin/bash
  • 容器资源使用监控:实时查看容器资源占用
docker stats langfuse
2. 数据库排查
  • 连接数据库:直接连接 PostgreSQL 检查数据
docker exec -it langfuse-postgres psql -U langfuse -d langfuse

# 查看表结构
\dt

# 检查追踪数据
SELECT * FROM traces LIMIT 10;
3. 网络抓包

使用 tcpdump 在容器内抓包,分析网络请求问题:

# 在容器内安装 tcpdump(临时)
docker exec -it langfuse apt-get update && apt-get install -y tcpdump

# 抓包端口 3000
docker exec -it langfuse tcpdump -i any port 3000 -w /tmp/traffic.pcap

# 复制到主机分析
docker cp langfuse:/tmp/traffic.pcap /local/path/

参考资源

官方文档与镜像信息

相关工具与集成

社区资源

总结

本文详细介绍了 LANGFUSE 的 Docker 容器化部署方案,从环境准备、镜像拉取、容器部署到功能测试,覆盖了单容器快速部署和多容器生产环境配置,并提供了安全加固、性能优化、监控运维及故障排查的实践指南。通过 Docker 容器化部署,可显著降低 LANGFUSE 的环境依赖复杂度,提高部署一致性和可维护性。

关键要点

  • 镜像拉取规则:LANGFUSE 镜像使用轩辕加速地址格式 docker pull xxx.xuanyuan.run/langfuse/langfuse:{TAG}
  • 环境变量配置:NEXTAUTH_SECRET、DATABASE_URL 为必需配置,生产环境需使用随机密钥和外部数据库
  • 数据持久化:通过 Docker 数据卷或主机目录挂载确保日志、配置等数据持久化
  • 安全最佳实践:避免公网直接暴露容器端口,使用反向代理和 HTTPS,定期轮换 API 密钥
  • 监控与维护:配置日志轮转、性能监控和数据库备份,确保服务稳定运行

后续建议

  • 深入学习高级特性:探索 LANGFUSE 的自定义评估指标、批量导入/导出、高级过滤等功能,结合业务场景定制化使用
  • 性能调优:根据实际业务负载调整容器资源、数据库配置和缓存策略,优化系统响应速度
  • 灾备方案:设计跨节点/跨区域的高可用部署架构,结合数据备份策略实现业务连续性保障
  • 社区参与:通过 GitHub 贡献代码或反馈问题,参与 LANGFUSE 社区建设,获取最新功能和最佳实践

参考链接

LangFuse部署与实践 LangFuse的原理主要是基于可观察性和分析技术来监控和优化低延迟消息(LLM)应用。它提供了一套完整的解决方案,通过收集、处理和分析LLM应用在运行过程中产生的各种数据,来生成实时的、深入的、可操作的见解。通过提供实时的、深入的见解和可视化的跟踪功能,LangFuse使得识别和解决应用性能问题变得更加简单和高效。总的来说,LangFuse的原理是通过综合运用可观察性和分析技术,来提供对LLM应用的全面监控和优化能力。这使得开发者和运维团队能够更加高效地管理和维护他们的应用,从而提升用户体验和业务效益。 阅读详情

相关推荐

项目002:容器化部署Langfuse,监控大模型的调用

Docker 管监控,Windows 管业务,WSL 管模型—— 三个环境各司其职,通过 localhost 端口串联成一个完整的 AI 应用链路。可观测性不是最后补的,而是从一开始就设计进去。目录(server.py / tracing.py / llm_client.py / demo_langfuse.py)

毛毛的专栏 396

教你本地化部署与使用一款免费的LLM应用工程化平台

平台已经就绪,现在需要让应用与Langfuse集成起来,以能够跟踪、评估与分析我们的应用。使用Langfuse的SDK/API,Langfuse能够与现有的任意应用做集成,但如果你的应用是基于LangChain、LlamaIndex这样的开发框架,那么使用起来会更加方便,这里先介绍与LangChain应用集成。随着LLM应用的不断成熟,特别是在B端企业场景中的逐渐落地,其不再停留在原型与验证阶段,将面临着更高的工程化要求,无论是输出的稳定性、性能、以及成本控制等,都需要实现真正的“生产就绪”;

m0_63171455的博客 1万+

【AI大模型应用开发】【LangFuse: LangSmith平替,生产级AI应用维护平台】0. 快速上手 - 基本功能全面介绍与实践(附代码)

全面介绍了Langfuse平台的基本功能:从程序运行监控、跟踪,到数据集的创建、建立自己的评估标准,再到实际运行一个测试,得到测试结果。简单的使用,相信大家能对langfuse平台有一个全面的认识。

同学小张的博客 8290

LLM大模型应用监控---LangFuse使用指南

LangFuse是一个开源的大语言模型工程平台,提供调用跟踪、评估、指标和提示词管理等功能。它支持多框架接入,包括Java Spring AI,并可通过SDK快速集成。核心功能包括:跟踪LLM调用和会话、可视化的智能体工作流程、用户反馈收集、提示词版本管理、数据集实验和性能监控。相比于同类产品,LangFuse的优势在于完全开源,支持本地部署和云端使用。通过时间轴视图、仪表盘和评估工具,开发者可以调试延迟问题、优化提示词并持续改进模型性能。

leonhongliang806的博客 9206

Electron多窗口开发避坑指南:Pinia状态同步的3种解决方案对比

本文深入探讨了在Electron多窗口应用中实现Pinia状态同步的三种核心方案。针对Electron多窗口架构下状态隔离的挑战,文章对比了基础事件通信、共享存储以及智能Pinia插件等方案的优劣与适用场景,并提供了生产级的实现指南与选型建议,帮助开发者构建健壮高效的桌面应用。

spice的博客 479

STM32 USB AUDIO实战指南——从零构建音频设备

本文详细介绍了如何使用STM32F407构建USB音频设备,从硬件准备到软件配置,再到音频播放和录制功能的实现。通过STM32CubeMX配置和实战代码示例,帮助开发者快速掌握USB Audio Class规范,实现低延迟、高质量的音频传输,适用于语音交互、音乐播放等多种场景。

weixin_42549037的博客 486

3分钟部署LLM观测平台:Langfuse容器化最佳实践

你是否还在为LLM应用的性能监控和数据分析烦恼?作为开源的LLM应用观测分析平台,Langfuse能帮你轻松实现模型调用追踪、成本分析和用户体验优化。本文将带你通过Docker Compose快速部署生产级Langfuse环境,并分享关键配置优化技巧,让你的LLM应用观测系统既稳定又高效。 ## 部署架构概览 Langfuse采用微服务架构设计,通过Docker容器化部署时包含多个核心组件。生...

gitblog_01137的博客 829

金蝶云星空核心数据表解析与高效关联查询指南

本文深入解析金蝶云星空核心数据表结构,提供高效关联查询的实战指南。文章详细介绍了基础资料、业务单据和财务模块的关键表及其关联逻辑,重点阐述了如何利用关联表(_LK表)进行跨单据溯源,并分享了编写高性能SQL的实用技巧与避坑建议,帮助开发者、实施顾问和数据分析师快速掌握数据查询方法,提升工作效率。

weixin_29254673的博客 527

langfuse部署相关

如果无法访问docker官方镜像源 https://registry-1.docker.io,那么需要替换国内镜像源。root用户执行vi /etc/docker/daemon.json。重启Docker服务。

qq_44743171的博客 214

保姆级教程:在LKD3588开发板上为RK3588添加SC2210摄像头驱动(含完整DTS配置)

本文提供了一份详细的教程,指导如何在LKD3588开发板上为RK3588处理器添加SC2210摄像头驱动,包括完整的DTS配置和内核编译步骤。教程涵盖了环境准备、驱动文件添加、DTS配置详解、内核编译与烧录、驱动测试以及常见问题排查,帮助开发者快速实现SC2210传感器在RK3588平台上的集成与优化。

weixin_42641741的博客 480

Vue3实战:集成bpmn-js与Activiti工作流引擎的完整指南

本文详细介绍了如何在Vue3项目中集成bpmn-js流程图编辑器与Activiti工作流引擎,构建一个完整的前端流程设计器。文章重点解析了Vue3响应式系统与bpmn-js集成的核心陷阱及解决方案,并提供了属性面板配置、XML命名空间适配、撤销重做等实用功能的完整实现指南,帮助开发者高效完成工作流系统的前端开发。

weixin_29009881的博客 213

7步搞定Superagent容器化部署:Docker Compose一键配置AI智能体全攻略

Superagent是一款强大的AI智能体管理工具,通过API即可轻松运行各类AI代理。本文将详细介绍如何使用Docker Compose实现Superagent的完整容器化部署,即使是新手也能快速上手,让你在本地或生产环境中轻松搭建属于自己的AI智能体平台。 ## 为什么选择Docker Compose部署Superagent? 容器化部署已成为现代应用开发的标准实践,对于Superagen

gitblog_00992的博客 894

语义通信高斯信道仿真代码

【代码】语义通信高斯信道仿真代码。

一去不复返的通信er 427

容器化微服务架构部署指南:15分钟完成企业级AI知识平台搭建

WeKnora是一个基于大语言模型的开源AI知识框架,采用容器化微服务架构设计,支持RAG检索增强生成、自主推理代理和自动化知识库构建。该平台通过模块化设计实现文档理解、语义检索和上下文感知回答,为企业级知识管理提供完整的解决方案。技术架构涵盖前端Vue.js界面、后端Go语言服务、PostgreSQL关系数据库、向量数据库、Neo4j知识图谱以及多模态文档处理引擎,支持20+主流LLM提供商和7

gitblog_00467的博客 767

机器人行业面试全攻略:从0到1拿下心仪Offer,看这一篇就够了

【摘要】2026年机器人行业迎来爆发期,全球市场规模超800亿美元,人才争夺激烈。本文针对机器人行业面试提供系统攻略:首先需明确岗位方向、打造差异化标签并了解目标公司;技术面试高频考点包括ROS框架、SLAM导航、运动控制、深度学习和嵌入式系统;项目介绍需采用STAR+R结构并量化成果;行为面试需注意协作能力与职业规划。文章还总结了简历堆砌、单向输出等五大常见误区,强调长期积累与精准准备的重要性,助力求职者把握行业窗口期机会。

郑伟强dev的专栏 192

YOLOv8 | 损失函数改进,最新提出的Shape-IoU,有效涨点

作为检测器定位分支的重要组成,边框回归损失在目标检测任务中发挥巨大作用。现有的边框回归方法,通常考虑了GT框与预测框之间的几何关系,通过使用边框间的相对位置与相对形状等计算损失,而忽略了边框其自身的形状与尺度等固有属性对边框回归的影响。为了弥补现有研究的不足,本文提出聚焦边框自身形状与尺度的边框回归方法。首先我们对边框回归特性进行分析,得出边框自身形状因素与尺度因素会对回归结果产生影响。

kay_545 1915

OpenWebUI开发部署实践与技巧分享

对于需要持续运行的Web服务,平台的一键部署功能很实用,自动处理好端口映射和运行环境,省去了docker-compose的配置烦恼。实际使用中发现,即使是复杂的多组件系统,也能快速搭建出可演示的版本。目前OpenWebUI后端不允许'*'配置cross_origin,可通过浏览器插件临时解决,但长期方案还是需要修改后端代码。如果不需要本地运行模型,可以注释掉ollama、pytorch等无关依赖,减少构建时间和镜像体积。上实践这类项目特别方便,无需手动配置复杂的开发环境,AI生成的代码可以直接运行测试。

SapphireFox89的博客 785

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

本地部署开源 LLM 应用观测与调试平台 Langfuse 并实现外部访问

Langfuse 是一款开源的 LLM 应用观测与调试平台,它支持记录提示、模型输出、用户反馈、延迟、成本等关键指标,并提供可视化界面进行分析,帮助团队快速发现性能瓶颈、监控质量变化、进行 A/B 测试,从而高效迭代 LLM 应用,用于追踪、评估和优化基于大模型的应用。本文将详细介绍如何利用 Docker 在局域网内部署 Langfuse 并结合路由侠实现外网访问局域网内部署的 Langfuse。

zt1985q的博客 192

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LLMOps践行者:Docker+CI/CD+监控,让AI稳定跑在生产线

部署不是终点,而是价值交付的起点。将AI应用部署到生产环境,绝不意味着工作的结束。相反,它标志着持续运营的开始。Docker提供了环境一致性的基石,CI/CD赋予了快速迭代的能力,监控与可观测性则让系统变得透明、可诊断。三者共同构成了LLMOps的铁三角,让AI应用不仅“能跑”,更能“稳跑”、“持续跑”。在这个模型能力日新月异的时代,LLMOps不再是可选项,而是让AI真正创造业务价值的必修课。

z002582的博客 522

WeKnora Docker 部署十分钟跑通:动手前必查的 3 个坑

WeKnora 是一个开源的 LLM 知识平台,能把原始文档变成可查询的 RAG、能自主推理的 Agent 和自维护的 Wiki。它完全容器化,一台装了 Docker 的机器就能跑起来。这篇讲 WeKnora Docker 部署时最常卡住的三件事:服务起不来、起来了却访问不到、机器资源不够用。每个问题都给出排查顺序和验证方法。 ## 先认识一下:一个 WeKnora 实例里有什么 🧩 把 D

gitblog_01197的博客 147

Langfuse 本地 AI 调试台怎么给团队验收?我用 cpolar 开了一个短时观测入口

本地用 Docker 起 Langfuse,把 AI Demo 的 trace、prompt、耗时和错误日志沉淀下来;验收时用 cpolar 开一个短时 HTTPS 入口,让产品、测试、后端看同一组脱敏 trace,验收结束立即回收公网入口。

qq_63013137的博客 304

3大技术突破:Langfuse如何重构LLM应用工程化平台架构

在当今LLM应用开发全球化的浪潮中,技术决策者和架构师面临着前所未有的挑战:如何构建一个既支持多语言国际化、又能保证高性能、可扩展的AI工程平台?Langfuse作为开源的LLM工程平台,通过三大核心技术突破,为全球AI团队提供了完整的解决方案。本文将从架构设计、性能优化和国际化实施三个维度,深入剖析Langfuse的技术实现方案。 ## 挑战:全球AI团队面临的多维度工程难题 ### 多语言

gitblog_00794的博客 1159

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

本文档是一份完整的Langfuse开源LLM工程平台私有化部署实战指南。Langfuse是专为AI应用开发团队设计的LLM工程平台,提供应用追踪、提示管理、评估系统、数据集管理等核心功能。 文档详细介绍了基于Docker的微服务架构部署方案,包含Next.js前端、Express.js后端、PostgreSQL主数据库、ClickHouse分析数据库、Redis缓存和MinIO对象存储等组件。从服务器环境准备、Docker安装配置,到30多个环境变量的详细说明,再到针对国内网络环境的镜像加速解决方案,提供了

weixin_64801028的博客 1877

Superagent自动化部署终极指南:10分钟搞定CI/CD流水线配置

Superagent是一个强大的AI代理运行框架,通过API即可轻松部署和管理AI代理。本文将为您提供一份快速、简单的Superagent自动化部署指南,帮助您在10分钟内完成CI/CD流水线配置,实现项目的自动化部署和管理。 [![Superagent自动化部署流程](https://raw.gitcode.com/gh_mirrors/super/superagent/raw/3d4ca4b

gitblog_00715的博客 1206

Langfuse生产环境部署与运维实战

Langfuse是一个开源的LLM(Large Language Model,大语言模型)工程平台,为AI应用提供全面的可观测性、监控、评估和调试能力。在生产环境中部署Langfuse需要考虑高可用性、性能优化、监控告警和数据安全等多个方面。本文将深入探讨Langfuse的生产级部署与运维最佳实践。 ## 1. Docker Compose部署:本地开发与测试环境搭建 ### 1.1 基础环境...

gitblog_00386的博客 1644
上一篇: RUSTFS Docker 容器化部署指南
下一篇: Apache RocketMQ Docker 容器化部署指南
java_logo
博客等级 码龄18年 326粉丝 240原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值