跳转到主要内容

未提供项目描述

项目描述

langfuse-haystack

PyPI - Version PyPI - Python Version

langfuse-haystack将追踪功能集成到Haystack (2.x) 管道中,使用Langfuse。此软件包通过捕获执行跟踪的详细信息(包括API调用、上下文数据、提示等)来增强管道运行的可见性。无论您是监控模型性能、定位改进区域,还是从管道执行中创建用于微调和测试的数据集,langfuse-haystack都是您的正确工具。

功能

  • 轻松集成到Haystack管道
  • 捕获执行的完整上下文
  • 跟踪模型使用情况和成本
  • 收集用户反馈
  • 识别低质量输出
  • 构建微调和测试数据集

安装

要安装langfuse-haystack,请运行以下命令

pip install langfuse-haystack

用法

要在您的Haystack管道中启用追踪,请将LangfuseConnector添加到您的管道中。您还需要设置LANGFUSE_SECRET_KEYLANGFUSE_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

运行检查器 ruffmypy

hatch run lint:all

许可协议

langfuse-haystack 在 Apache-2.0 许可协议下分发。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

langfuse_haystack-0.5.0.tar.gz (16.0 kB 查看散列值)

上传时间

构建分发

langfuse_haystack-0.5.0-py3-none-any.whl (12.0 kB 查看散列值)

上传时间 Python 3

由以下机构支持