langtrace
基于 OpenTelemetry 标准的开源 LLM 应用全链路追踪平台,支持 10+ LLM 提供
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 OpenTelemetry 标准的开源 LLM 应用全链路追踪平台,支持 10+ LLM 提供
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:Langtrace 官方 Logo — 一款专为 LLM 应用打造的开源可观测性工具
想象一下这个场景:你的 AI 客服上线两周,客服说「您的问题已转人工处理」,用户却收到了一条完全不相干的回复;你的 RAG 问答系统返回的答案听起来流畅,却把竞品的机密参数当成了自家产品规格。这些问题在传统软件里会立刻被测试套件捕获,但在 LLM 应用里,模型输出的不确定性让错误藏得极深。
Langtrace 正是为解决这个痛点而生。它由 Scale3 Labs 开发维护,是一个基于 OpenTelemetry 标准的开源可观测性平台,核心目标是让 AI 开发者能像调试传统微服务一样,追踪、分析、优化自己的 LLM 应用。从 2024 年上线至今,GitHub 已积累超过 1200 颗星,贡献者超过 20 人,支持 TypeScript 和 Python 双语言 SDK,对主流 LLM 提供商和框架的覆盖率在同类工具中处于领先水平。
在 Langtrace 出现之前,团队调试 LLM 应用的方式相当原始:要么在代码里手动埋日志,追踪每一步的输入输出;要么靠经验和直觉判断问题出在 Prompt、模型还是向量检索。这种方式有几个致命缺陷:多轮对话的 Token 消耗无法量化、向量数据库查询质量无法评估、Prompt 改动的影响无法量化对比。Langtrace 通过全链路追踪,把这些黑盒操作全部变成白盒。
Langtrace 提供了 TypeScript SDK 和 Python SDK,接入成本极低。以 TypeScript 为例,只需三行代码:
import * as Langtrace from '@langtrase/typescript-sdk'
Langtrace.init({ api_key: '<your_api_key>' })
// 之后的所有 LLM 调用自动被追踪
Python 侧同样简洁,pip install 后 init 即可。SDK 会在后台自动拦截 OpenAI、Anthropic、Azure OpenAI、Cohere、DeepSeek、Groq、Perplexity、Gemini、AWS Bedrock 等 LLM 提供商的 API 调用,同时追踪 LangChain、LlamaIndex、LangGraph、DSPy、CrewAI、Ollama 等框架的执行流程,零侵入地生成完整的调用链路。
Langtrace 的 traces 严格遵循 OpenTelemetry(OTEL)规范,这意味着它与 Jaeger、Zipkin、Datadog、Grafana Tempo 等主流可观测性后端天然兼容。团队无需绑定 Langtrace 自家的 SaaS 服务,可以完全自托管(self-hosted),将数据保留在自己的基础设施上。文档明确声明:自托管模式下不收集任何遥测数据,真正做到数据主权归用户。
截至目前,Langtrace 已支持:
这套覆盖范围在同类开源可观测性工具中相当全面,尤其是对国内常用的 DeepSeek 和阿里云集成框架的支持,使其在国内开发者中有较好的可用性。
从仓库代码结构来看,Langtrace 采用典型的前后端分离架构:
| 组件 | 技术选型 | 职责 |
|---|---|---|
| 前端 | Next.js 14 + React 18 + TailwindCSS | Trace 可视化界面、仪表盘 |
| ORM | Prisma + PostgreSQL | 存储 trace 元数据、用户信息 |
| 时序存储 | ClickHouse | 高性能存储 spans、metrics、logs |
| 认证 | NextAuth.js | 多提供商登录 |
| SDK | TypeScript + Python | 运行时自动插桩 |
Docker Compose 配置清晰定义了三个服务依赖关系:Next.js 应用(端口 3000)、PostgreSQL(端口 5432)和 ClickHouse(端口 8123/9000)。其中 ClickHouse 承担了 trace 数据的高吞吐写入,是整个系统性能的关键。
Dockerfile 采用了三阶段构建(development - builder - production),最终 production 镜像只包含编译产物和运行时依赖,体积精简。entrypoint.sh 负责数据库迁移(Prisma migrate)和 ClickHouse schema 创建,确保容器启动时自动完成初始化。
最简单的方式是直接 clone 仓库,配置 .env 文件后运行 docker compose up。官方要求的 .env 主要是 PostgreSQL 和 ClickHouse 的连接信息,以及一个 LANGTRACE_API_KEY。整个过程约 10-15 分钟即可完成,无需 Kubernetes 知识。
对于生产环境,有几个关键点需要注意:
clickhouse-data volume 建议分配足够磁盘空间,并配置合适的 TTL 策略定期清理过期数据。next.config.mjs 中的 domain 配置更新为实际域名。.env 中的 LANGTRACE_VERSION 构建参数重新构建镜像,避免直接覆盖运行中容器导致数据不一致。没有任何工具是银弹,Langtrace 也有几个值得关注的局限:
1. 接入成本不可忽视:虽然 SDK 接入只需三行代码,但如果已有大型代码库,改造历史代码中的 LLM 调用点是一个工程量不小的工作。SDK 要求在所有 LLM 模块导入之前初始化,中途插入可能涉及架构调整。
2. 自托管运维门槛:ClickHouse 的运维对大多数团队来说是个新课题——不同于 PostgreSQL 的成熟生态,ClickHouse 的监控、调优、备份方案需要额外学习成本。
3. 数据量膨胀风险:全链路追踪数据增长极快,生产环境如果没有合理的 TTL 和采样策略,ClickHouse 存储很快会成为瓶颈。
4. TypeScript SDK 覆盖不完整:目前 LangChain 的 TypeScript SDK 支持状态为「不支持」,部分框架如 CrewAI 仅 Python 侧支持,使用 TypeScript 技术栈的团队可能需要做额外适配。
Langtrace 的出现填补了 LLM 应用可观测性领域的开源空白。随着企业对 AI 应用的投入从 PoC 走向生产级部署,如何系统性地保障 AI 应用的可靠性、可解释性和成本可控性,成为团队必须面对的问题。
从 GitHub Star 增长曲线来看,Langtrace 保持了稳定的上升趋势,背后是 LLM 应用从「能用」到「用好」的行业大趋势。可观测性工具的价值在于,它不只是帮你发现问题,更是帮团队建立对 AI 系统的量化认知——有了数据,才能谈优化。
作为 AGPL-3.0 协议下的开源项目,Langtrace 的商业模式是「开源核心 + 云服务增值」,类似 Datadog 的开源版本。对于重视数据主权、不希望将 AI 调用数据发送到第三方 SaaS 的企业,自托管是核心卖点。
总结:Langtrace 是目前开源生态中最完整的 LLM 应用可观测性方案之一,特别适合以下场景:团队已有多个 LLM 应用需要统一监控、有合规要求必须自托管数据、正在系统性地优化 Prompt 和 Token 成本。部署难度中等,建议从 docker compose 快速体验开始,验证后再规划生产级部署。