comet-ml/opik
요약
Opik은 생성형 AI 애플리케이션의 구축, 테스트 및 최적화를 지원하는 오픈 소스 플랫폼입니다. RAG 챗봇부터 복잡한 에이전트 시스템까지 트레이싱, 평가, 모니터링을 통해 AI 개발의 불확실성을 제거합니다.
핵심 포인트
- LLM 호출의 심층 트레이싱 및 대화 로깅 제공
- LLM-as-a-judge 기반의 고급 평가 및 실험 관리
- 프롬프트와 에이전트 최적화를 위한 전용 SDK 지원
- CI/CD 파이프라인 통합을 위한 PyTest 연동 가능
- 확장 가능한 프로덕션 모니터링 대시보드 제공
English | 简体中文 | 日本語 | Português (Brasil) | 한국어
Español | Français | Deutsch | Русский | العربية | हिन्दी | Türkçe
Español | Français | Deutsch | Русский | العربية | हिन्दी | Türkçe
Opik은 프로토타입부터 프로덕션(Production)까지 더 나은 성능을 발휘하는 생성형 AI (Generative AI) 애플리케이션을 구축, 테스트 및 최적화할 수 있도록 돕습니다. RAG 챗봇부터 코드 어시스턴트, 복잡한 에이전트 시스템 (Agentic systems)에 이르기까지, Opik은 포괄적인 트레이싱 (Tracing), 평가 (Evaluation), 그리고 자동 프롬프트 및 도구 최적화를 제공하여 AI 개발에서 추측에 의존하는 요소를 제거합니다.
Website •
Slack Community •
Twitter •
Changelog •
Documentation
🧑⚖️ LLM as a Judge • 🔍 애플리케이션 평가 • ⭐ Star Us • 🤝 기여하기
Opik (Comet 제작)은 LLM 애플리케이션의 전체 라이프사이클을 간소화하도록 설계된 오픈 소스 (Open-source) 플랫폼입니다. 개발자가 모델과 에이전트 시스템을 평가, 테스트, 모니터링 및 최적화할 수 있도록 지원합니다. 주요 제공 기능은 다음과 같습니다:
포괄적인 관측성 (Comprehensive Observability): LLM 호출의 심층 트레이싱 (Tracing), 대화 로깅 및 에이전트 활동.
고급 평가 (Advanced Evaluation): 강력한 프롬프트 평가, LLM-as-a-judge, 그리고 실험 관리.
프로덕션 준비 완료 (Production-Ready): 프로덕션을 위한 확장 가능한 모니터링 대시보드 및 온라인 평가 규칙.
Opik Agent Optimizer: 프롬프트와 에이전트를 향상시키기 위한 전용 SDK 및 최적화 도구 세트.
Opik Guardrails: 안전하고 책임감 있는 AI 관행을 구현할 수 있도록 돕는 기능.
주요 역량은 다음과 같습니다:
개발 및 트레이싱 (Development & Tracing):
-
개발 및 프로덕션 단계에서 상세한 컨텍스트와 함께 모든 LLM 호출 및 트레이스를 추적합니다 (Quickstart).
-
쉬운 관측성을 위한 광범위한 제3자 통합 (3rd-party integrations): 성장하는 프레임워크 목록과 원활하게 통합되며, 가장 크고 인기 있는 많은 프레임워크를 기본적으로 지원합니다 (Google ADK, Autogen, Flowise AI와 같은 최근 추가 항목 포함). (Integrations)
-
Python SDK 또는 UI를 통해 피드백 점수로 트레이스(Traces) 및 스팬(Spans)에 주석을 답니다.
-
프롬프트 플레이그라운드 (Prompt Playground)에서 프롬프트와 모델을 실험합니다.
평가 및 테스트 (Evaluation & Testing):
-
데이터셋 (Datasets) 및 실험 (Experiments)을 통해 LLM 애플리케이션 평가를 자동화합니다.
-
환각 탐지 (Hallucination detection), 모더레이션 (Moderation), RAG 평가 (답변 관련성 (Answer Relevance), 컨텍스트 정밀도 (Context Precision))와 같은 복잡한 작업을 위해 강력한 LLM-as-a-judge 메트릭을 활용합니다.
-
PyTest 연동을 통해 평가 프로세스를 CI/CD 파이프라인에 통합합니다.
운영 모니터링 및 최적화 (Production Monitoring & Optimization):
- 대량의 운영 트레이스 (Production traces)를 기록합니다: Opik은 확장성을 고려하여 설계되었습니다 (일일 4,000만 개 이상의 트레이스).
- Opik 대시보드 (Opik Dashboard)에서 피드백 점수, 트레이스 수, 토큰 사용량을 시간에 따라 모니터링합니다.
- LLM-as-a-Judge 메트릭이 포함된 온라인 평가 규칙 (Online Evaluation Rules)을 활용하여 운영 중 발생하는 문제를 식별합니다.
- Opik Agent Optimizer 및 Opik Guardrails를 활용하여 운영 중인 LLM 애플리케이션을 지속적으로 개선하고 보안을 강화합니다.
팁 (Tip)
현재 Opik에 없는 기능을 찾고 계신다면, 새로운 기능 요청 (Feature request)을 남겨주세요 🚀
몇 분 안에 Opik 서버를 실행할 수 있습니다. 귀하의 필요에 가장 적합한 옵션을 선택하세요:
설정 없이 즉시 Opik에 접속하세요. 빠른 시작과 번거로움 없는 유지보수에 이상적입니다.
귀하의 자체 환경에 Opik을 배포하세요. 로컬 설정을 위한 Docker 또는 확장성을 위한 Kubernetes 중에서 선택할 수 있습니다.
로컬 Opik 인스턴스를 실행하는 가장 간단한 방법입니다. 새로운 ./opik.sh 설치 스크립트에 유의하세요:
Linux 또는 Mac 환경:
# Opik 저장소(repository)를 클론합니다
git clone https://github.com/comet-ml/opik.git
# 저장소로 이동합니다
...
Windows 환경:
# Opik 저장소(repository)를 클론합니다
git clone https://github.com/comet-ml/opik.git
# 저장소로 이동합니다
...
개발을 위한 서비스 프로필 (Service Profiles for Development)
Opik 설치 스크립트는 이제 다양한 개발 시나리오를 위한 서비스 프로필을 지원합니다:
# 전체 Opik 스위트 시작 (기본 동작)
./opik.sh
# 인프라 서비스만 시작 (데이터베이스, 캐시 등)
...
--help 또는 --info를 사용하세요.
문제를 해결하기 위한 옵션입니다. 이제 Dockerfile은 보안 강화를 위해 컨테이너가 non-root 사용자(non-root users)로 실행되도록 보장합니다. 모든 서비스가 실행되면, 브라우저에서 localhost:5173을 방문할 수 있습니다! 자세한 지침은 로컬 배포 가이드(Local Deployment Guide)를 참조하세요.
프로덕션(production) 환경 또는 대규모 셀프 호스팅(self-hosted) 배포를 위해, Opik은 당사의 Helm 차트를 사용하여 Kubernetes 클러스터에 설치할 수 있습니다. Helm을 사용한 전체 Kubernetes 설치 가이드를 보려면 배지를 클릭하세요.
중요
버전 1.7.0 변경 사항: 중요한 업데이트 및 중대한 변경 사항(breaking changes)은 변경 로그(changelog)를 확인해 주세요.
Opik은 Opik 서버와 상호 작용할 수 있는 클라이언트 라이브러리 세트와 REST API를 제공합니다. 여기에는 Python, TypeScript, Ruby(OpenTelemetry를 통해)용 SDK가 포함되어 있어 워크플로에 원활하게 통합할 수 있습니다. 자세한 API 및 SDK 참조는 Opik 클라이언트 참조 문서(Opik Client Reference Documentation)를 참조하세요.
Python SDK로 시작하려면:
패키지를 설치하세요:
# pip를 사용하여 설치
pip install opik
# 또는 uv로 설치
...
opik configure 명령을 실행하여 Python SDK를 구성하세요. 이 명령은 Opik 서버 주소(셀프 호스팅 인스턴스의 경우) 또는 API 키 및 워크스페이스(Comet.com의 경우)를 요청합니다:
opik configure
팁
Python 코드에서 opik.configure(use_local=True)를 호출하여 SDK가 로컬 셀프 호스팅 설치에서 실행되도록 구성하거나, Comet.com을 위한 API 키 및 워크스페이스 세부 정보를 직접 제공할 수도 있습니다. 더 많은 구성 옵션은 Python SDK 문서를 참조하세요.
이제 Python SDK를 사용하여 트레이스(traces)를 로깅할 준비가 되었습니다.
트레이스를 로깅하는 가장 쉬운 방법은 당사의 직접 통합(direct integrations) 중 하나를 사용하는 것입니다. Opik은 최근 추가된 Google ADK, Autogen, AG2, Flowise AI를 포함하여 광범위한 프레임워크를 지원합니다:
| 통합(Integration) | 설명 | 문서 |
|---|---|---|
| ADK | Google Agent Development Kit (ADK)에 대한 트레이스 로깅 | 문서 |
| ... |
팁
사용 중인 프레임워크가 위에 나열되어 있지 않다면, 자유롭게 이슈(issue)를 생성하거나 통합(integration)을 포함한 PR(Pull Request)을 제출해 주세요.
만약 위의 프레임워크 중 어느 것도 사용하지 않는다면, track 함수 데코레이터(decorator)를 사용하여 트레이스(trace)를 로깅할 수도 있습니다:
import opik
opik.configure(use_local=True) # 로컬에서 실행
@opik.track
...
팁
track 데코레이터는 우리의 모든 통합 기능과 함께 사용할 수 있으며, 중첩된 함수 호출(nested function calls)을 추적하는 데에도 사용할 수 있습니다.
Python Opik SDK에는 LLM 애플리케이션 평가를 돕기 위한 다양한 LLM as a judge 메트릭(metrics)이 포함되어 있습니다. 자세한 내용은 메트릭(metrics) 문서에서 확인하세요.
이를 사용하려면 관련 메트릭을 임포트(import)하고 score 함수를 사용하기만 하면 됩니다:
from opik.evaluation.metrics import Hallucination
metric = Hallucination()
score = metric.score(
...
Opik에는 여러 가지 사전 구축된 휴리스틱 메트릭(heuristic metrics)이 포함되어 있을 뿐만 아니라, 직접 메트릭을 생성할 수 있는 기능도 제공합니다. 자세한 내용은 메트릭(metrics) 문서에서 확인하세요.
Opik를 사용하면 데이터셋(Datasets)과 실험(Experiments)을 통해 개발 과정에서 LLM 애플리케이션을 평가할 수 있습니다. Opik 대시보드(Dashboard)는 실험을 위한 강화된 차트와 대규모 트레이스(traces)에 대한 더 나은 처리 능력을 제공합니다. 또한 우리의 PyTest 통합 기능을 사용하여 CI/CD 파이프라인의 일부로 평가를 실행할 수 있습니다.
Opik가 유용하다고 생각하신다면, 별(star)을 눌러 저희를 응원해 주세요! 여러분의 지원은 저희 커뮤니티가 성장하고 제품을 지속적으로 개선하는 데 큰 도움이 됩니다.
Opik에 기여하는 방법은 여러 가지가 있습니다:
- 버그 리포트(bug reports) 및 기능 요청(feature requests) 제출
- 문서를 검토하고 개선을 위한 PR(Pull Requests) 제출
- Opik에 대해 강연하거나 글을 쓰고 저희에게 알려주기
- 인기 있는 기능 요청에 투표하여 지지 의사 표시하기
Opik에 기여하는 방법에 대해 더 자세히 알아보려면 기여 가이드라인(contributing guidelines)을 참조하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기