未提供项目描述
项目描述
langfuse-haystack
langfuse-haystack将追踪功能集成到Haystack (2.x) 管道中,使用Langfuse。此软件包通过捕获执行跟踪的详细信息(包括API调用、上下文数据、提示等)来增强管道运行的可见性。无论您是监控模型性能、定位改进区域,还是从管道执行中创建用于微调和测试的数据集,langfuse-haystack都是您的正确工具。
功能
- 轻松集成到Haystack管道
- 捕获执行的完整上下文
- 跟踪模型使用情况和成本
- 收集用户反馈
- 识别低质量输出
- 构建微调和测试数据集
安装
要安装langfuse-haystack,请运行以下命令
pip install langfuse-haystack
用法
要在您的Haystack管道中启用追踪,请将LangfuseConnector
添加到您的管道中。您还需要设置LANGFUSE_SECRET_KEY
和LANGFUSE_PUBLIC_KEY
环境变量,以便连接到Langfuse帐户。您可以在Langfuse网站上注册帐户来获取这些密钥。
⚠️ 重要: 为了确保适当的追踪,在导入任何Haystack组件之前始终设置环境变量。这至关重要,因为Haystack在导入时初始化其内部追踪组件。
以下是正确设置脚本的方法
import os
# Set environment variables first
os.environ["LANGFUSE_HOST"] = "https://cloud.langfuse.com"
os.environ["TOKENIZERS_PARALLELISM"] = "false"
os.environ["HAYSTACK_CONTENT_TRACING_ENABLED"] = "true"
# Then import Haystack components
from haystack.components.builders import ChatPromptBuilder
from haystack.components.generators.chat import OpenAIChatGenerator
from haystack.dataclasses import ChatMessage
from haystack import Pipeline
from haystack_integrations.components.connectors.langfuse import LangfuseConnector
# Rest of your code...
此外,更好的做法是在运行脚本之前在您的shell中设置这些环境变量。
这里是一个完整的示例
import os
os.environ["LANGFUSE_HOST"] = "https://cloud.langfuse.com"
os.environ["TOKENIZERS_PARALLELISM"] = "false"
os.environ["HAYSTACK_CONTENT_TRACING_ENABLED"] = "true"
from haystack.components.builders import ChatPromptBuilder
from haystack.components.generators.chat import OpenAIChatGenerator
from haystack.dataclasses import ChatMessage
from haystack import Pipeline
from haystack_integrations.components.connectors.langfuse import LangfuseConnector
if __name__ == "__main__":
pipe = Pipeline()
pipe.add_component("tracer", LangfuseConnector("Chat example"))
pipe.add_component("prompt_builder", ChatPromptBuilder())
pipe.add_component("llm", OpenAIChatGenerator(model="gpt-3.5-turbo"))
pipe.connect("prompt_builder.prompt", "llm.messages")
messages = [
ChatMessage.from_system("Always respond in German even if some input data is in other languages."),
ChatMessage.from_user("Tell me about {{location}}"),
]
response = pipe.run(
data={"prompt_builder": {"template_variables": {"location": "Berlin"}, "template": messages}}
)
print(response["llm"]["replies"][0])
print(response["tracer"]["trace_url"])
在这个示例中,我们使用名称 "tracer" 将 LangfuseConnector
添加到管道中。每次运行管道都会在 Langfuse 网站上生成一个可查看的跟踪视图,具有特定的 URL。跟踪捕获整个执行上下文,包括提示、完成和元数据。
跟踪可视化
Langfuse 提供了一个用户友好的界面来可视化和分析由您的 Haystack 管道生成的跟踪。登录您的 Langfuse 账户并导航到跟踪 URL 以查看跟踪详细信息。
贡献
hatch
是与该项目交互的最佳方式。要安装它,请运行
pip install hatch
安装 hatch
后,运行所有测试
hatch run test
运行检查器 ruff
和 mypy
hatch run lint:all
许可协议
langfuse-haystack
在 Apache-2.0 许可协议下分发。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
构建分发
langfuse_haystack-0.5.0.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | a4a11ef23a499df608d9eb616065b2aa56330710083d6adb42ee6910d266aa92 |
|
MD5 | cbe196c62e7be096d03b8511b6a2ed05 |
|
BLAKE2b-256 | c227fc1af084aa2ea0f5fe4c3258f6be7b0ac0788ba9f0f789178557d69a73ec |
langfuse_haystack-0.5.0-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 6b51e8096c7421e0a53f033a95fdf6225101ddb7adcf6f015ba80b0479f48fcd |
|
MD5 | 5c87ae646fca2edfe8e8800e9738a2ca |
|
BLAKE2b-256 | d7dde01301e50ca85143386abeb0e93dc1aff8bef0a1935a6846aef3e2f5f93d |