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 예시를 사용할게요.

  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의 tracker를 임포트하고 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 트레이스, 스팬, 메타데이터
    • 에이전트 상호작용과 태스크 실행 흐름
    • 지연 시간과 토큰 사용량 같은 성능 메트릭
    • 평가 메트릭 (내장 또는 커스텀)

Resources (리소스)

  • 🦉 Opik Documentation
  • 👉 Opik + CrewAI Colab
  • 🐦 X
  • 💬 Slack

더 알아보기 (Learn more)