跳转到主要内容

Opik 概述

借助 Comet Opik,您可以通过全面的追踪、自动化评估和生产就绪的仪表板来调试、评估和监控您的 LLM 应用程序、RAG 系统和 Agent 工作流。
Opik agent monitoring example with CrewAI

Opik Agent 仪表板

Opik 为您的 CrewAI 应用程序开发的每个阶段提供全面支持
  • 记录追踪和跨度(Spans):自动跟踪 LLM 调用和应用程序逻辑,以调试和分析开发及生产系统。手动或以编程方式注释、查看和比较不同项目之间的响应。
  • 评估您的 LLM 应用程序性能:根据自定义测试集进行评估,并运行内置的评估指标或在 SDK 或 UI 中定义您自己的指标。
  • 在您的 CI/CD 管道中进行测试:使用基于 PyTest 构建的 Opik LLM 单元测试,建立可靠的性能基线。运行在线评估以实现生产中的持续监控。
  • 监控和分析生产数据:了解您的模型在生产中对未见数据的性能,并为新的开发迭代生成数据集。

设置

Comet 提供了 Opik 平台的托管版本,您也可以在本地运行该平台。 要使用托管版本,只需创建一个免费的 Comet 账户并获取您的 API 密钥。 要在本地运行 Opik 平台,请参阅我们的安装指南以获取更多信息。 在本指南中,我们将使用 CrewAI 的快速入门示例。
1

安装所需软件包

pip install crewai crewai-tools opik --upgrade
2

配置 Opik

import opik
opik.configure(use_local=False)
3

准备环境

首先,我们将 LLM 提供商的 API 密钥设置为环境变量
import os
import getpass

if "OPENAI_API_KEY" not in os.environ:
os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter your OpenAI API key: ")
4

使用 CrewAI

第一步是创建我们的项目。我们将使用 CrewAI 文档中的一个示例
from crewai import Agent, Crew, Task, Process


class YourCrewName:
    def agent_one(self) -> Agent:
        return Agent(
            role="Data Analyst",
            goal="Analyze data trends in the market",
            backstory="An experienced data analyst with a background in economics",
            verbose=True,
        )

    def agent_two(self) -> Agent:
        return Agent(
            role="Market Researcher",
            goal="Gather information on market dynamics",
            backstory="A diligent researcher with a keen eye for detail",
            verbose=True,
        )

    def task_one(self) -> Task:
        return Task(
            name="Collect Data Task",
            description="Collect recent market data and identify trends.",
            expected_output="A report summarizing key trends in the market.",
            agent=self.agent_one(),
        )

    def task_two(self) -> Task:
        return Task(
            name="Market Research Task",
            description="Research factors affecting market dynamics.",
            expected_output="An analysis of factors influencing the market.",
            agent=self.agent_two(),
        )

    def crew(self) -> Crew:
        return Crew(
            agents=[self.agent_one(), self.agent_two()],
            tasks=[self.task_one(), self.task_two()],
            process=Process.sequential,
            verbose=True,
        )

现在我们可以导入 Opik 的追踪器并运行我们的 crew
from opik.integrations.crewai import track_crewai

track_crewai(project_name="crewai-integration-demo")

my_crew = YourCrewName().crew()
result = my_crew.kickoff()

print(result)
运行您的 CrewAI 应用程序后,访问 Opik 应用程序以查看
  • LLM 追踪、跨度及其元数据
  • Agent 交互和任务执行流程
  • 性能指标,如延迟和 Token 使用量
  • 评估指标(内置或自定义)

资源