Opik 集成
Opik 概览
Section titled “Opik 概览”使用 Comet Opik,你可以调试、评估并监控你的 LLM 应用、RAG 系统和代理式工作流,获得全面追踪、自动化评估以及生产级仪表盘。
Opik 为 CrewAI 应用开发的每个阶段都提供了全面支持:
- 记录 Trace 和 Span:自动跟踪 LLM 调用和应用逻辑,以便调试和分析开发及生产系统。可手动或通过程序注释、查看并跨项目比较响应。
- 评估 LLM 应用性能:基于自定义测试集进行评估,运行内置评估指标,或在 SDK/UI 中定义自己的指标。
- 在 CI/CD 管道中测试:借助基于 PyTest 构建的 Opik LLM 单元测试,建立可靠的性能基线。在生产环境中运行在线评估以持续监控。
- 监控与分析生产数据:理解模型在生产中未见数据上的表现,并为新的开发迭代生成数据集。
Comet 提供托管版 Opik 平台,也可以本地运行。
要使用托管版,只需创建一个免费的 Comet 账户并获取你的 API Key。
要在本地运行 Opik 平台,请参阅我们的安装指南了解更多信息。
本指南将使用 CrewAI 的 quickstart 示例。
- 安装所需包
Terminal window pip install crewai crewai-tools opik --upgrade - 配置 Opikimport opikopik.configure(use_local=False)
- 准备环境
首先,将 LLM 提供商的 API key 作为环境变量设置:
import osimport getpassif "OPENAI_API_KEY" not in os.environ:os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter your OpenAI API key: ") - 使用 CrewAI
第一步是创建项目。这里我们使用 CrewAI 文档中的一个示例:
from crewai import Agent, Crew, Task, Processclass 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_crewaitrack_crewai(project_name="crewai-integration-demo")my_crew = YourCrewName().crew()result = my_crew.kickoff()print(result)运行 CrewAI 应用后,访问 Opik 应用即可查看:
- LLM traces、spans 及其元数据
- 代理交互和任务执行流程
- 延迟和 token 使用量等性能指标
- 评估指标(内置或自定义)