使用 Langflow 构建的观察器

Langflow 是一个开源的可视化框架,用于构建、测试和部署基于大型语言模型(LLMs)的应用程序。 它提供了一个拖放式界面,用于设计复杂的工作流、集成外部工具和 API,并无需繁重的编码工作即可运行实验。

Instana 为 Langflow 应用程序提供可观测性,支持对工作流执行、大语言模型交互及性能指标进行实时监控。

先决条件

开始之前,请确保您已准备好:

  • Python 3.10 或后续安装

  • 已安装 Langflow,请参阅 Langflow 安装指南

  • 一个大语言模型(LLM) API 密钥(Anthropic、 OpenAI, 或 Langflow 支持的任何 LLM 提供商)

  • Instana 已根据您的应用程序进行配置,请参阅 “入门指南 ”。

对 Langflow 应用程序进行性能监控

Langflow 应用程序通过环境变量进行配置。 请按照以下步骤启用 Instana 的可观测性:

1. 配置环境变量

在 Langflow 应用程序的根目录下,创建或编辑 文件 .env ,并根据您的部署模式进行相应配置。

对于代理模式(通过 Instana 代理发送数据):

TRACELOOP_API_KEY=tl_dummy_1234567890abcdef1234567890abcdef
OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai"
TRACELOOP_BASE_URL=<instana-agent-host>:4317
TRACELOOP_HEADERS="x-instana-key= "
OTEL_EXPORTER_OTLP_INSECURE=true

<instana-agent-host> 将 替换为您 Instana 代理的主机名或IP地址。 如果 Langflow 在容器内运行,请使用 host.docker.internal.

注:

Traceloop SDK 要求 TRACELOOP_API_KEY 提供该参数,但在向 Instana 发送数据时不会使用它。 您可以使用上图所示的示例密钥。

对于无代理模式(将数据直接发送至 Instana 后端):

TRACELOOP_API_KEY=tl_dummy_1234567890abcdef1234567890abcdef
OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai"
TRACELOOP_BASE_URL=<instana-otlp-endpoint>:4317
TRACELOOP_HEADERS="x-instana-key=<your_instana_key>,x-instana-host=<instana-host>"
OTEL_EXPORTER_OTLP_INSECURE=false

将:

  • <instana-otlp-endpoint> 配合您的 Instana 后端端点

  • <your_instana_key> 请输入您的实际 Instana 密钥

  • <instana-host> 由您的 Instana 主持人为您呈现

注:

端点 URL 因地区而异。 有关区域端点的信息,请参阅 《将 OpenTelemetry 数据发送至 Instana 后端》

2. 使用环境变量启动 Langflow

使用 文件 .env 中的环境变量启动 Langflow 应用程序:

uv run langflow run --env-file .env

或者,如果你已全局安装 Langflow:

langflow run --env-file .env

3. 创建并运行流程

要生成遥测数据:

  1. 在浏览器中打开 Langflow(通常位于 http://localhost:7860

  2. 选择 “Simple Agent ”入门项目,或创建您自己的流程

  3. 使用您的 LLM 密钥 API 配置代理组件

  4. 点击 “Playground ”来测试您的流程

  5. 向代理提出几个问题以生成测试流量:

    • “印度的首都是什么?”

    • “执行加法运算 2 + 2”(使用计算器组件)

    • “今天天气怎么样?”

4. 在 Instana 中查看数据

在 Langflow 中运行流程后,数据将显示在 Instana 的 Gen AI 可观测性仪表盘中,该仪表盘展示了工作流执行情况、大型语言模型交互以及工具调用情况。

故障诊断

对于“波形未显示”或“数据未显示”等常见问题,请参阅 “故障排除 ”。

Langflow 特有的连接错误

问题 :尝试发送遥测数据时,Langflow 显示连接错误。

解决方案

对于代理模式:

  • 验证 Instana 代理是否正在运行

  • 请检查是否 <instana-agent-host> 正确

  • 如果使用 Docker ,请确保 host.docker.internal 可以访问

对于无代理模式:

  • 请确认后端端点 URL 是否正确

  • 请确认您的 Instana 密钥是否有效

  • 确保端口 4317 可用

无效的 Traceloop API 密钥警告

问题 :日志中出现关于无效的 Traceloop API 键的警告。

解决方案 :使用虚拟密钥 API 时,出现这种情况是正常的。 只要数据正在流向 Instana ,就可以放心忽略这些警告。 对于与 Instana 的集成,使用虚拟密钥即可。