Opik 통합
Opik 통합 (Opik Integration)
Comet Opik로 LLM 애플리케이션, RAG 시스템, 에이전틱 워크플로우를 종합적인 트레이싱, 자동화된 평가, 프로덕션 레디 대시보드로 디버그·평가·모니터링할 수 있어요.
출처: 문서
본문
Opik Overview
Comet Opik로 종합적인 트레이싱, 자동화된 평가, 프로덕션 레디 대시보드를 사용해 LLM 애플리케이션, RAG 시스템, 에이전틱 워크플로우를 디버그·평가·모니터링할 수 있어요.
Opik은 CrewAI 애플리케이션 개발의 모든 단계를 종합적으로 지원해요:
- Log Traces and Spans — LLM 호출과 애플리케이션 로직을 자동 추적해 개발·프로덕션 시스템을 디버그·분석해요. 수동 또는 프로그래밍 방식으로 프로젝트 전반의 응답을 주석, 보기, 비교할 수 있어요.
- Evaluate Your LLM Application's Performance — 커스텀 테스트 세트로 평가하고, 내장 평가 메트릭을 실행하거나 SDK나 UI에서 직접 메트릭을 정의하세요.
- Test Within Your CI/CD Pipeline — PyTest 기반 Opik의 LLM 유닛 테스트로 신뢰할 수 있는 성능 기준을 수립해요. 프로덕션의 지속적 모니터링을 위해 온라인 평가를 실행해요.
- Monitor & Analyze Production Data — 프로덕션에서 보지 못한 데이터에 대한 모델 성능을 이해하고 새로운 개발 반복을 위한 데이터셋을 생성해요.
Setup (설정)
Comet은 Opik 플랫폼의 호스팅 버전을 제공하거나, 플랫폼을 로컬에서 실행할 수 있어요. 호스팅 버전을 사용하려면 무료 Comet 계정을 만들고 API Key를 받으세요. 로컬에서 Opik 플랫폼을 실행하려면 설치 가이드를 참조하세요.
이 가이드에서는 CrewAI의 quickstart 예시를 사용할게요.
- 필수 패키지 설치
pip install crewai crewai-tools opik --upgrade - Opik 구성
import opik opik.configure(use_local=False) - 환경 준비 — 먼저 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: ") - CrewAI 사용 — 첫 단계로 프로젝트를 만들어요. CrewAI 문서의 예시를 사용할게요:
이제 Opik의 tracker를 임포트하고 crew를 실행해요: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, )
CrewAI 애플리케이션을 실행한 후 Opik 앱을 방문해 다음을 확인하세요:from opik.integrations.crewai import track_crewai track_crewai(project_name="crewai-integration-demo") my_crew = YourCrewName().crew() result = my_crew.kickoff() print(result)- LLM 트레이스, 스팬, 메타데이터
- 에이전트 상호작용과 태스크 실행 흐름
- 지연 시간과 토큰 사용량 같은 성능 메트릭
- 평가 메트릭 (내장 또는 커스텀)
Resources (리소스)
- 🦉 Opik Documentation
- 👉 Opik + CrewAI Colab
- 🐦 X
- 💬 Slack