LangFuse:开源LLM工程平台的革新实践

[复制链接]
发表于 2025-7-9 05:40:33 | 显示全部楼层 |阅读模式
一 架构设计与技能栈

LangFuse采用模块化架构设计,核心组件包括:

  • 追踪数据采集层:支持Python/Node.js等多语言SDK,可无缝接入主流框架(LlamaIndex、LangChain)
  • 分析引擎:基于PostgreSQL实现毫秒级trace查询,支持RBAC权限管理体系
  • 可视化界面:内置动态仪表盘,支持自界说数据聚合维度(时间窗口/本钱范例/非常范例)
二 加强型监控监控本领


  • 及时告警体系:支持设置阈值触发告警(如相应时间>5s、错误率>2%);提供API非常范例聚类分析,自动辨认高频错误模式
  • 深度日志日志分析:原生集成OpenTelemetry协议,兼容Prometheus/Grafana监控监控栈;支持日志日志与trace的上下文关联检索,实现端到端问题溯源
三 提示词工程支持(新增)


  • 版本控制体系:提供prompt变更汗青对比视图,支持语义差别分析;可关联测试数据集,验证不同prompt版本的效果差别
  • AB测试框架:支持并行运行多个prompt模板,自动生成正确性/相应速度对比报告;内置统计学显著性查验,制止随机性导致的误判
性能优化实践


  • 数据压缩战略

    • 采用列式存储压缩trace日志日志存储本钱低落72%
    • 支持按时间分区自动归档汗青数据

  • 缓存机制

    • 高频查询效果缓存(TTL可配置),低落数据库负载
    • 向量检索效果缓存复用,镌汰重复计算

五 LangFuse摆设(docker)和代码集成

5.1 LangFuse平台摆设


  • 硬件必要至少必要4GB的运行空间,最好是x86平台的呆板。必要安装好docker工具,配置好国内源镜像。
  • 访问https://github.com/langfuse/langfuse,可以选择下载整个项目或单个docker-compose.yml。
  • 然后将其上传到服务器目次,如/opt/1panel/apps/langfuse,在终端执行如下命令:
    1. cd /opt/1panel/apps/langfuse
    复制代码
    1. docker-compose up -d
    复制代码
  • 访问ip:3000,创建账号并登录,创建新的项目,和API Keys。

  • 点击创建API key,执行效果如下:

  • 使用pip安装langfuse工具包,选择对应的语言或开发框架,复制链接信息

5.2 LangFuse代码集成和检测体验

  1. import os
  2. from langchain_openai import ChatOpenAI
  3. from langfuse.callback import CallbackHandler
  4. from langchain.chains import LLMChain  # 导入链模块
  5. from langchain_core.prompts import ChatPromptTemplate  # 导入提示模板
  6. # 配置 API 易环境
  7. os.environ["OPENAI_API_KEY"] = "hk-xxx"  # 从API易后台获取
  8. os.environ["OPENAI_API_BASE"] = "https://api.openai-hk.com/v1"  # API易基础URL
  9. # 配置Langfuse
  10. langfuse_handler = CallbackHandler(
  11.     public_key="pk-lf-xxx",
  12.     secret_key="sk-lf-xx",
  13.     host="http://xxx:3000"
  14. )
  15. # 创建一个大语言模型
  16. model = ChatOpenAI(model="gpt-3.5-turbo")
  17. # 定义提示模板
  18. prompt = ChatPromptTemplate.from_messages([
  19.     ("system", "{system_message}"),
  20.     ("user", "{user_input}")
  21. ])
  22. # 创建链
  23. chain = LLMChain(llm=model, prompt=prompt)
  24. # 定义传递给模型的消息内容
  25. system_message = "把下面的语句翻译为英文。"
  26. user_input = "无人扶我青云志,我只踏雪至山巅"
  27. # 调用链并打印结果
  28. response = chain.invoke(
  29.     {"system_message": system_message, "user_input": user_input},
  30.     config={"callbacks": [langfuse_handler]}
  31. )
  32. print(response.get("text"))  # 输出模型生成的内容
复制代码


  • 执行效果:
  1. No one supports my ambition to reach the sky; I will tread through the snow to the mountaintop on my own.
复制代码


  • 可视化面板记录效果:

  • 执行过程数据追踪


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-25 07:46 , Processed in 0.080263 second(s), 30 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表