Skip to content

Latest commit

 

History

History
317 lines (236 loc) · 33.2 KB

File metadata and controls

317 lines (236 loc) · 33.2 KB

참고: 이 파일은 AI를 사용하여 기계 번역되었습니다. 번역 개선에 대한 기여를 환영합니다!

Comet Opik logo
Opik

오픈 소스 AI Observability, Evaluation, Optimization 플랫폼

Opik은 프로토타입부터 프로덕션까지, 더 나은 생성형 AI 애플리케이션을 구축하고 테스트하고 최적화할 수 있도록 도와줍니다. RAG 챗봇, 코드 어시스턴트, 복잡한 에이전트 시스템까지—Opik의 tracing, evaluation, 자동 prompt 및 tool 최적화 기능으로 AI 개발의 불확실성을 줄여보세요.

Python SDK License Build

웹사이트Slack 커뮤니티TwitterChangelog문서


Opik platform screenshot (thumbnail)

🚀 Opik이란?

Opik(Comet 제공)은 LLM 애플리케이션의 전체 라이프사이클을 간소화하기 위해 설계된 오픈 소스 플랫폼입니다. 개발자가 모델과 에이전트 시스템을 평가, 테스트, 모니터링, 최적화할 수 있도록 지원합니다. 주요 기능은 다음과 같습니다:

  • Comprehensive Observability: LLM 호출의 상세 tracing, 대화 로깅, 에이전트 활동 추적
  • Advanced Evaluation: 강력한 prompt 평가, LLM-as-a-judge, 실험 관리
  • Production-Ready: 확장 가능한 모니터링 대시보드 및 온라인 evaluation rule 제공
  • Opik Agent Optimizer: prompt와 에이전트를 개선하기 위한 전용 SDK 및 optimizer 세트
  • Opik Guardrails: 안전하고 책임감 있는 AI 개발을 위한 기능

주요 기능:

  • 개발 & Tracing:

    • 개발 및 프로덕션 환경에서 상세한 context와 함께 모든 LLM 호출과 trace를 추적 (Quickstart)
    • 광범위한 서드파티 통합으로 손쉬운 observability 제공: Google ADK, Autogen, Flowise AI 등 다양한 프레임워크를 네이티브로 지원 (Integrations)
    • Python SDK 또는 UI를 통해 trace와 span에 피드백 점수 주석 추가
    • Prompt Playground에서 prompt와 모델 실험
  • Evaluation & Testing:

  • 프로덕션 모니터링 & 최적화:

    • 대용량 프로덕션 trace 로깅: Opik은 하루 4천만 건 이상의 trace 처리가 가능하도록 설계됨
    • Opik Dashboard에서 피드백 점수, trace 수, 토큰 사용량을 시간별로 모니터링
    • Online Evaluation Rules와 LLM-as-a-Judge metric으로 프로덕션 이슈 탐지
    • Opik Agent OptimizerOpik Guardrails로 LLM 애플리케이션을 지속적으로 개선하고 보호

Tip

원하시는 기능이 아직 Opik에 없다면 Feature request를 등록해주세요! 🚀


🛠️ Opik 서버 설치

몇 분 안에 Opik 서버를 실행할 수 있습니다. 상황에 맞는 옵션을 선택하세요:

옵션 1: Comet.com Cloud (가장 간편 & 권장)

별도 설정 없이 즉시 Opik 사용 가능. 빠른 시작과 유지보수 부담 없이 사용하기에 최적입니다.

👉 무료 Comet 계정 생성

옵션 2: Self-Host로 완전한 제어

자체 환경에 Opik을 배포하세요. 로컬 환경에서는 Docker, 확장 가능한 배포에는 Kubernetes를 사용할 수 있습니다.

Docker Compose로 Self-Hosting (로컬 개발 & 테스트)

로컬 Opik 인스턴스를 실행하는 가장 간단한 방법입니다. 새로운 ./opik.sh 설치 스크립트를 사용하세요:

On Linux or Mac Environment:

# Opik 리포지토리 클론
git clone https://github.com/comet-ml/opik.git

# 리포지토리로 이동
cd opik

# Opik 플랫폼 실행
./opik.sh

On Windows Environment:

# Opik 리포지토리 클론
git clone https://github.com/comet-ml/opik.git

# 리포지토리로 이동
cd opik

# Opik 플랫폼 실행
powershell -ExecutionPolicy ByPass -c ".\\opik.ps1"

개발용 Service Profile

Opik 설치 스크립트는 다양한 개발 시나리오를 위한 service profile을 지원합니다:

# 전체 Opik suite 시작 (기본 동작)
./opik.sh

# 인프라 서비스만 시작 (데이터베이스, 캐시 등)
./opik.sh --infra

# 인프라 + 백엔드 서비스 시작
./opik.sh --backend

# 모든 profile에서 guardrails 활성화
./opik.sh --guardrails # 전체 Opik suite + Guardrails
./opik.sh --backend --guardrails # 인프라 + 백엔드 + Guardrails

문제 해결을 위해 --help 또는 --info 옵션을 사용하세요. Dockerfile은 보안 강화를 위해 컨테이너가 non-root 사용자로 실행되도록 합니다. 모든 서비스가 실행되면 브라우저에서 localhost:5173에 접속하세요! 자세한 내용은 Local Deployment Guide를 참조하세요.

Kubernetes & Helm으로 Self-Hosting (확장 가능한 배포)

프로덕션 또는 대규모 self-hosted 배포를 위해 Helm chart를 사용하여 Kubernetes 클러스터에 Opik을 설치할 수 있습니다. 배지를 클릭하면 전체 Kubernetes Installation Guide using Helm을 확인할 수 있습니다.

Kubernetes

Important

버전 1.7.0 변경 사항: 중요 업데이트 및 breaking change는 changelog를 확인하세요.

💻 Opik 클라이언트 SDK

Opik은 Opik 서버와 상호작용할 수 있는 클라이언트 라이브러리 suite와 REST API를 제공합니다. Python, TypeScript, Ruby(OpenTelemetry 사용) SDK를 지원하여 워크플로우에 손쉽게 통합할 수 있습니다. 상세한 API 및 SDK 레퍼런스는 Opik Client Reference Documentation을 확인하세요.

Python SDK Quick Start

Python SDK를 시작하려면 먼저 패키지를 설치하세요:

# pip로 설치
pip install opik

# 또는 uv로 설치
uv pip install opik

opik configure 명령어를 실행하면 Opik 서버 주소(self-hosted 인스턴스용) 또는 API 키와 workspace(Comet.com용)를 입력하라는 메시지가 표시됩니다:

opik configure

Tip

Python 코드에서 opik.configure(use_local=True)를 호출하여 로컬 self-hosted 설치를 위한 SDK 설정을 할 수도 있고, Comet.com을 위해 API 키와 workspace 정보를 직접 제공할 수도 있습니다. 더 많은 설정 옵션은 Python SDK documentation을 참조하세요.

이제 Python SDK로 trace 로깅을 시작할 준비가 되었습니다.

📝 통합을 통한 Trace 로깅

trace를 로깅하는 가장 쉬운 방법은 직접 통합(integration)을 사용하는 것입니다. Opik은 Google ADK, Autogen, AG2, Flowise AI 등 최신 추가 항목을 포함한 다양한 프레임워크를 지원합니다:

통합 설명 문서
ADK Google Agent Development Kit(ADK) 트레이스 문서
AG2 AG2 LLM 호출 트레이스 문서
aisuite aisuite LLM 호출 트레이스 문서
Agno Agno 에이전트 오케스트레이션 프레임워크 호출 트레이스 문서
Anthropic Anthropic LLM 호출 트레이스 문서
Autogen Autogen 에이전시 워크플로우 트레이스 문서
Bedrock Amazon Bedrock LLM 호출 트레이스 문서
BeeAI (Python) BeeAI Python 에이전트 프레임워크 호출 트레이스 문서
BeeAI (TypeScript) BeeAI TypeScript 에이전트 프레임워크 호출 트레이스 문서
BytePlus BytePlus LLM 호출 트레이스 문서
CrewAI CrewAI 호출 트레이스 문서
Cloudflare Workers AI Cloudflare Workers AI 호출 트레이스 문서
Cursor Cursor 대화 트레이스 문서
Cohere Cohere LLM 호출 트레이스 문서
DeepSeek DeepSeek LLM 호출 트레이스 문서
Dify Dify 에이전시 실행 트레이스 문서
DSPy DSPy 실행 트레이스 문서
Fireworks AI Fireworks AI LLM 호출 트레이스 문서
Flowise AI Flowise AI 비주얼 LLM 앱 트레이스 문서
Gemini (Python) Google Gemini LLM 호출 트레이스 문서
Gemini (TypeScript) Google Gemini TypeScript SDK 호출 트레이스 문서
Groq Groq LLM 호출 트레이스 문서
Guardrails Guardrails AI 검증 트레이스 문서
Haystack Haystack 호출 트레이스 문서
Harbor Harbor 벤치마크 평가 트라이얼 트레이스 문서
Instructor Instructor LLM 호출 트레이스 문서
LangChain (Python) LangChain LLM 호출 트레이스 문서
LangChain (JS/TS) LangChain JavaScript/TypeScript 호출 트레이스 문서
LangGraph LangGraph 실행 트레이스 문서
Langflow Langflow 비주얼 AI 빌더 트레이스 문서
LiteLLM LiteLLM 모델 호출 트레이스 문서
LiveKit Agents LiveKit Agents AI 에이전트 프레임워크 호출 트레이스 문서
Mastra Mastra AI 워크플로우 프레임워크 호출 트레이스 문서
Microsoft Agent Framework (Python) Microsoft Agent Framework 호출 트레이스 문서
Microsoft Agent Framework (.NET) Microsoft Agent Framework .NET 호출 트레이스 문서
Mistral AI Mistral AI LLM 호출 트레이스 문서
n8n n8n 워크플로우 실행 트레이스 문서
LlamaIndex LlamaIndex LLM 호출 트레이스 문서
Ollama Ollama LLM 호출 트레이스 문서
OpenAI (Python) OpenAI LLM 호출 트레이스 문서
OpenAI (JS/TS) OpenAI JavaScript/TypeScript 호출 트레이스 문서
OpenAI Agents OpenAI Agents SDK 호출 트레이스 문서
OpenClaw OpenClaw 에이전트 실행 트레이스 문서
Novita AI Novita AI LLM 호출 트레이스 문서
OpenRouter OpenRouter LLM 호출 트레이스 문서
OpenTelemetry OpenTelemetry 지원 호출 트레이스 문서
OpenWebUI OpenWebUI 대화 트레이스 문서
Pipecat Pipecat 실시간 음성 에이전트 호출 트레이스 문서
Predibase Predibase LLM 호출 트레이스 문서
Pydantic AI PydanticAI 에이전트 호출 트레이스 문서
Ragas Ragas 평가 트레이스 문서
Smolagents Smolagents 에이전트 호출 트레이스 문서
Semantic Kernel Microsoft Semantic Kernel 호출 트레이스 문서
Spring AI Spring AI 프레임워크 호출 트레이스 문서
Strands Agents Strands Agents 호출 트레이스 문서
Together AI Together AI LLM 호출 트레이스 문서
Vercel AI SDK Vercel AI SDK 호출 트레이스 문서
VoltAgent VoltAgent 에이전트 프레임워크 호출 트레이스 문서
watsonx IBM watsonx LLM 호출 트레이스 문서
xAI Grok xAI Grok LLM 호출 트레이스 문서

Tip

사용 중인 프레임워크가 위 목록에 없다면 issue를 열거나 통합 기능을 포함한 PR을 제출해주세요.

위 프레임워크들을 사용하지 않는 경우에도 track 함수 데코레이터를 사용하여 trace를 로깅할 수 있습니다:

import opik

opik.configure(use_local=True)  # 로컬 실행

@opik.track
def my_llm_function(user_question: str) -> str:
    # LLM 코드 작성
    return "안녕하세요"

Tip

track 데코레이터는 통합 기능들과 함께 사용할 수 있으며, 중첩된 함수 호출도 추적할 수 있습니다.

🧑‍⚖️ LLM as a Judge Metrics

Python Opik SDK에는 LLM 애플리케이션 평가를 도와주는 다양한 LLM as a judge metric이 포함되어 있습니다. 자세한 내용은 metrics documentation을 참조하세요.

사용하려면 해당 metric을 import하고 score 함수를 사용하면 됩니다:

from opik.evaluation.metrics import Hallucination

metric = Hallucination()
score = metric.score(
    input="프랑스의 수도는 어디인가요?",
    output="파리",
    context=["프랑스는 유럽의 국가입니다."]
)
print(score)

Opik은 다양한 사전 구축 heuristic metric과 직접 metric을 만들 수 있는 기능도 제공합니다. 자세한 내용은 metrics documentation을 참조하세요.

🔍 LLM 애플리케이션 평가하기

Opik을 사용하면 개발 중에 DatasetsExperiments를 통해 LLM 애플리케이션을 평가할 수 있습니다. Opik Dashboard는 향상된 실험 차트와 대용량 trace 처리 기능을 제공합니다. PyTest integration을 사용하여 CI/CD 파이프라인의 일부로 evaluation을 실행할 수도 있습니다.

⭐ GitHub에서 Star를 눌러주세요

Opik이 유용하셨다면 Star를 눌러주세요! 여러분의 지원은 커뮤니티를 성장시키고 제품을 지속적으로 개선하는 데 큰 도움이 됩니다.

Star History Chart

🤝 기여하기

Opik에 기여하는 방법은 다양합니다:

Opik에 기여하는 방법에 대해 더 알아보려면 contributing guidelines를 참조하세요.