随着LLM应用的不断成熟,特别是在B端企业场景中的逐渐落地,其不再停留在原型与验证阶段,将面临着更高的工程化要求,无论是输出的稳定性、性能、以及成本控制等,都需要实现真正的“生产就绪”;但由于大量的应用基于LangChain、LlamaIndex等框架开发,更多的抽象与封装使得应用难以跟踪与调试。因此,借助一个独立且侵入性较小的工程化平台来捕获LLM应用内部细节,帮助排障、优化与测试是很有必要的。
本文将手把手教你使用一个开源的LLM应用工程化平台:Langfuse,与在线且收费的LangSmith不同,它支持完全本地化部署与使用,与应用集成也很简单。
-
**快速本地化部署
** -
与LangChain应用集成
-
与普通LLM应用集成
PART 1
快速本地化部署
WHAT HAPPENED IN MAY
Langfuse是一个开源的LLM应用的工程平台,可以帮助开发者及团队进行集中、在线、协作的LLM应用跟踪调试、分析与测试评估。
-
**跟踪调试:**跟踪应用执行过程、上下文、LLM调用与成本、用户反馈等
-
**提示管理:**集中的Prompt模板创建、维护与版本管理
-
**监控分析:**调用统计、模型使用、tokens成本、响应延迟、评分统计等
-
**测试评估:**基于LLM与用户反馈的评估,包括质量、风格、内容安全
基于LLM的自动化评估目前在开源版本暂不支持,云端商业版本可以内测。
方法一:docker compose快速启动
适合个人开发者、对数据保存要求不高的开发团队。这种模式下会自动启动postgres的独立docker,只需三步:
#下载代码
git clone https://github.com/langfuse/langfuse.git
#进入代码目录
cd langfuse
#一键获取并启动docker容器
docker compose up
方法二:独立数据库 + docker run
适合有更高数据保存要求的开发团队,或者有现成的Postgres数据库。这种模式下,需要首先自行安装并启动postgres数据库,如果还没有Postgres,可进入官网(https://www.postgresql.org/),下载、安装并配置启动。记录下数据库的连接URL。然后执行以下命令:
#拉取最新镜像
docker pull langfuse/langfuse:latest
#注意替换这里的DATABASE_URL为你的postgres url
docker run --name langfuse \
-e DATABASE_URL=postgresql://hello \
-e NEXTAUTH_URL=http://localhost:3000 \
-e NEXTAUTH_SECRET=mysecret \
-e SALT=mysalt \
-p 3000:3000 \
-a STDOUT \
langfuse/langfuse
方法三:本地开发部署
除非你需要对Langfuse做个性化定制,或者使用Langfuse展开商业运营,否则不建议采用这种方式。具体请参考项目中CONTRIBUTING.md文件说明。
健康检查与测试
完成部署后,运行如下命令进行健康检查: