제가 AI 애플리케이션용 Self-Hosted LLM Observability Tool (Logmera)를 만들었습니다
Source: Dev.to
문제: AI 애플리케이션에서 가시성 상실
AI 애플리케이션을 구축하면 시스템이 무엇을 하고 있는지에 대한 가시성을 금방 잃게 됩니다. 흔히 떠오르는 질문들은 다음과 같습니다:
- 모델에 어떤 프롬프트를 보냈나요?
- 어떤 응답이 돌아왔나요?
- 요청에 걸린 시간은 얼마였나요?
- 어떤 모델이 요청을 처리했나요?
- 요청이 실패한 이유는 무엇인가요?
개발자들은 보통 콘솔에 로그를 남기는 것으로 시작하지만, 프로덕션 환경에서는 이것이 복잡하고 관리하기 어려워집니다.
Logmera 소개
Logmera는 AI/LLM 애플리케이션을 위한 셀프‑호스팅 관측 도구입니다. 콘솔에 로그를 출력하는 대신 다음 정보를 PostgreSQL 데이터베이스에 저장합니다:
- 프롬프트
- 응답
- 모델 이름
- 지연 시간
- 요청 상태
그리고 이를 간단한 웹 대시보드에서 확인할 수 있습니다.
왜 셀프‑호스팅인가?
많은 LLM 관측 도구는 데이터를 외부 클라우드 서비스로 전송합니다. 이는 다음과 같은 우려를 낳을 수 있습니다:
- 프라이버시
- 컴플라이언스
- 데이터 소유권
Logmera는 완전히 자체 인프라에서 실행되며, 모든 로그를 PostgreSQL 데이터베이스 안에 보관합니다.
아키텍처
Your AI Application
│
▼
Logmera Python SDK
│
▼
Logmera Server (FastAPI)
│
▼
PostgreSQL Database
│
▼
Dashboard
빠른 시작 (≈2 분)
SDK 설치
pip install logmera
서버 실행
Logmera는 PostgreSQL 데이터베이스가 필요합니다. 연결 URL을 지정하여 서버를 시작합니다:
logmera --db-url "postgresql://username:password@localhost:5432/database"
서버는 다음 주소에서 사용할 수 있습니다:
Python에서 요청 로그 기록
import logmera
logmera.log(
project_id="chatbot",
prompt="Hello",
response="Hi there",
model="gpt-4o",
latency_ms=120,
status="success"
)
코드를 실행하면 해당 요청이 대시보드에 표시됩니다.
대시보드 기능
- 로그 탐색
- 프롬프트 검색
- 프로젝트 또는 모델별 필터링
- 지연 시간 추적
- 전체 응답 상세 확인
이러한 기능을 통해 AI 시스템 디버깅이 훨씬 쉬워집니다.
REST API
REST 엔드포인트를 통해 어떤 언어에서도 로그를 전송할 수 있습니다.
curl -X POST http://127.0.0.1:8000/logs \
-H "Content-Type: application/json" \
-d '{
"project_id":"demo",
"prompt":"Hello",
"response":"Hi",
"model":"gpt-4o",
"latency_ms":95,
"status":"success"
}'
전형적인 사용 사례
- AI SaaS 애플리케이션
- 챗봇
- 검색 기반 생성(RAG) 시스템
- AI 에이전트
- LLM 기반 자동화 도구
Logmera는 AI 시스템이 무엇을 하고 있는지에 대한 간단하고 실시간 가시성을 제공합니다.
리소스
- PyPI:
- GitHub:
AI 애플리케이션을 구축하고 있다면 Logmera를 사용해 보고 피드백을 공유해 주세요.