源码先锋

源码先锋

【AI大模型框架—Langfuse】开源的LLM App 维护平台入门指南

admin 195 92
维护一个生产级的LLM应用,我们需要做什么?

各种指标监控与统计:访问记录、响应时长、Token用量、计费等等

调试Prompt

测试/验证系统的相关评估指标

数据集管理(便于回归测试)

Prompt版本管理(便于升级/回滚)

这里我们介绍开源langfuse平台来监控LLM应用。

langfuse是一个用于追踪和观察的工具,特别适用于与Langchain集成。它提供了一个SDK,可以自动为你的Langchain应用程序创建嵌套的追踪(trace),以便你可以更好地监控和分析代码执行过程中的各种事件和性能。

docker部署langfuse
gitclone

启动完成后,即可通过127.0.0.1:3000登录到langfuse的控制台。

登录langfuse

这里由于我使用的vmware搭建的虚拟机,其对应的内网ip为:192.168.188.101,所以就需要访问192.168.188.101:3000。第一次登录的时候,可以自己新建一个账号即可。

新建项目

登录完成后,新建一个项目。

新建apikey

通过装饰器记录调用过程
OpenAIintegration@observe()defstory():(model="",max_tokens=100,messages=[{"role":"system","content":"Youareagreatstoryteller."},{"role":"user","content":"Onceuponatimeinagalaxyfar,faraway"}],).choices[0].@observe()defmain():returnstory()main()

与langchain的集成
EUregionUSregion)定义输出解析器parser=StrOutputParser()chain=({"input":RunnablePassthrough()}|prompt|model|parser)llmernie_model=QianfanChatpoint(qianfan_ak=('qianfan_ak'),qianfan_sk=('qianfan_sk'))提示模版prompt=_messages([_template("Sayhelloto{input}!")])定义输出解析器parser=StrOutputParser()_handler=CallbackHandler(secret_key="sk-lf-e8f0296d-18af-48b9-b8c5-4b3e7833d713",public_key="pk-lf-e8893acd-f6b5-4b05-9ad9-c7a90387943b",host="",host="",#USregion)({"input":"hellochatGPT!"},config={"callbacks":[langfuse_handler]})

输出结果为:

"“你好!{'input':'hellochatGPT!'}!下面是一些可能适用于你了解或者用于我交流的语言的信息:\n\nHello!,,solveproblems,,youcansimplytypeitintothebox,likeyoudidwith'hellochatGPT!'\n\n在中文中,这可以翻译为:“你好!这是一个用英语进行的友好问候。ChatGPT是一个非常受欢迎的大型语言模型,由OpenAI开发。你可以与它互动以获取信息、解决问题或进行聊天。如果你想问它一个问题,只需将问题输入到输入框中,就像你做的“你好chatGPT!”那样。”\n\n如果继续有什么其他你想询问关于ChatGPT或我们其他的技术信息,都可以在这里询问,欢迎提出更多有趣的问题。希望你和机器的交互和体验越来越好!"
总结

本文主要介绍了langfuse的本地部署、怎么获取平台上所需要的apikey信息,在文中分别给了3个示例,介绍了如何代码的调用整合到langfuse平台上。