lang fuse docs 요약

AI탐사대·2026년 1월 24일

Langfuse 완벽 가이드

목차


개요

Langfuse는 LLM(Large Language Model) 애플리케이션을 위한 오픈소스 엔지니어링 플랫폼입니다. 팀이 협업하여 LLM 애플리케이션을 디버깅, 분석, 반복 개선할 수 있도록 돕는 통합 솔루션을 제공합니다.

주요 특징

  • 완전한 오픈소스: GitHub에서 공개되어 있으며, 커스텀 통합을 위한 Public API 제공
  • 프로덕션 최적화: 최소한의 성능 오버헤드로 설계
  • 우수한 SDK: Python 및 JavaScript 네이티브 SDK 제공
  • 프레임워크 지원: OpenAI SDK, LangChain, LlamaIndex 등 주요 프레임워크와 통합
  • 멀티모달 지원: 텍스트, 이미지 등 다양한 모달리티 추적
  • 자체 호스팅 가능: 클라우드 또는 온프레미스 배포 가능

핵심 기능

1. Observability (관찰성)

LLM 애플리케이션의 모든 동작을 투명하게 추적하고 모니터링할 수 있는 기능입니다.

주요 기능

📊 Trace (추적)
  • 완전한 가시성: 모든 LLM 호출, API 호출, 검색(retrieval), 임베딩 등을 추적
  • 계층적 구조: 복잡한 호출 체인을 트리 구조로 시각화
  • 타임라인 뷰: 각 단계의 실행 시간과 지연 시간을 시각적으로 분석
  • 비용 추적: 토큰 사용량 및 API 비용을 실시간으로 모니터링
🔄 Sessions (세션)
  • 대화 추적: 멀티턴 대화나 에이전트 워크플로우를 세션으로 그룹화
  • 사용자 여정 분석: 전체 사용자 인터랙션 흐름 파악
  • 컨텍스트 유지: 대화 히스토리와 컨텍스트를 한눈에 확인
👤 User Tracking (사용자 추적)
  • 사용자별 분석: userId를 통해 개별 사용자의 비용과 사용량 모니터링
  • 딥링크 생성: 사용자별 뷰로 직접 연결되는 링크 생성 가능
  • 사용 패턴 분석: 사용자 행동 및 선호도 파악
🤖 Agent Graphs (에이전트 그래프)
  • 워크플로우 시각화: 복잡한 에이전트 워크플로우를 그래프로 표현
  • 의사결정 추적: 에이전트의 의사결정 경로 및 로직 분석
  • 디버깅 용이성: 에이전트 실행 흐름에서 문제점 빠르게 파악
📈 Dashboard (대시보드)
  • 실시간 메트릭: 품질, 비용, 지연시간 등 핵심 지표를 대시보드에서 모니터링
  • 커스텀 뷰: 필요한 지표만 선택하여 맞춤형 대시보드 구성
  • 알림 설정: 임계값 초과 시 알림 수신

통합 방법

Python SDK 예제:

from langfuse import Langfuse

# 초기화
langfuse = Langfuse(
    public_key="pk-lf-...",
    secret_key="sk-lf-..."
)

# Trace 생성
trace = langfuse.trace(
    name="my-llm-app",
    user_id="user-123",
    metadata={"environment": "production"}
)

# Generation 추적
generation = trace.generation(
    name="chat-completion",
    model="gpt-4",
    input={"messages": [{"role": "user", "content": "Hello"}]},
    output={"content": "Hi there!"},
    usage={"prompt_tokens": 10, "completion_tokens": 5}
)

JavaScript/TypeScript SDK 예제:

import { Langfuse } from "langfuse";

const langfuse = new Langfuse({
  publicKey: "pk-lf-...",
  secretKey: "sk-lf-..."
});

const trace = langfuse.trace({
  name: "my-llm-app",
  userId: "user-123",
  metadata: { environment: "production" }
});

const generation = trace.generation({
  name: "chat-completion",
  model: "gpt-4",
  input: { messages: [{ role: "user", content: "Hello" }] },
  output: { content: "Hi there!" },
  usage: { promptTokens: 10, completionTokens: 5 }
});

지원 통합

  • Native SDKs (Python, JavaScript/TypeScript)
  • 50+ 라이브러리/프레임워크 통합
  • OpenTelemetry 지원
  • LLM Gateway (LiteLLM 등)

2. Prompt Management (프롬프트 관리)

프롬프트를 체계적으로 관리하고 버전 관리하며, 팀과 협업할 수 있는 기능입니다.

주요 기능

📝 Create & Version Control (생성 및 버전 관리)
  • UI/API/SDK 지원: 다양한 방법으로 프롬프트 생성 및 수정
  • 버전 히스토리: 모든 변경 사항을 추적하고 이전 버전으로 롤백 가능
  • 협업 편집: 팀원들과 함께 프롬프트를 편집하고 리뷰
  • 변경 추적: 누가, 언제, 무엇을 변경했는지 완벽하게 기록
🚀 Deploy (배포)
  • 환경별 라벨: production, staging, development 등 환경별로 프롬프트 배포
  • 코드 변경 없이 배포: 라벨만 변경하여 즉시 프롬프트 업데이트
  • A/B 테스팅: 여러 프롬프트 버전을 동시에 테스트
  • 점진적 롤아웃: 일부 사용자에게만 먼저 배포하여 안전하게 테스트
🎮 Playground (플레이그라운드)
  • 인터랙티브 테스트: 프롬프트를 즉시 테스트하고 결과 확인
  • 모델 비교: 여러 LLM 모델에서 동일한 프롬프트 테스트
  • 파라미터 조정: Temperature, max_tokens 등 파라미터를 조정하며 실험
  • 빠른 반복: 코드 작성 없이 빠르게 프롬프트 개선
📊 Metrics (메트릭)
  • 성능 비교: 프롬프트 버전별 지연시간, 비용, 품질 비교
  • 통계 분석: 평균, 중앙값, 백분위수 등 상세 통계
  • 시각화: 그래프와 차트로 성능 변화 추이 파악
  • 컨텍스트 이해: 프롬프트가 실제 애플리케이션에서 어떻게 사용되는지 확인
  • 실제 성능 측정: 프로덕션 환경에서의 프롬프트 성능 분석
  • 문제 진단: 특정 프롬프트로 인한 문제를 빠르게 식별
🧪 Experiments (실험)
  • 데이터셋 테스트: 데이터셋에 대해 프롬프트와 모델 조합을 체계적으로 테스트
  • 자동화된 평가: 설정한 기준에 따라 자동으로 성능 평가
  • 결과 비교: 여러 실험 결과를 한 번에 비교

고급 기능

🔧 Variables (변수)
  • 동적 프롬프트: 변수를 사용하여 상황에 맞게 프롬프트 커스터마이징
  • 재사용성: 공통 부분을 변수로 관리하여 중복 제거
# 프롬프트 템플릿
"""
당신은 {{role}}입니다.
사용자 질문: {{user_question}}
답변 형식: {{format}}
"""

# 사용 시
prompt = langfuse.get_prompt("assistant-template")
compiled = prompt.compile(
    role="친절한 AI 어시스턴트",
    user_question="Python이란?",
    format="간단명료하게"
)
🧩 Composability (구성 가능성)
  • 프롬프트 조합: 여러 프롬프트를 조합하여 복잡한 프롬프트 생성
  • 모듈화: 공통 프롬프트 부분을 모듈로 분리하여 관리
📋 Message Placeholders (메시지 플레이스홀더)
  • 대화 템플릿: 채팅 형식의 프롬프트에서 메시지 구조 정의
  • 역할 관리: system, user, assistant 역할별 메시지 관리
⚙️ Config (설정)
  • 모델 설정: temperature, max_tokens 등 모델 파라미터를 프롬프트와 함께 저장
  • 일관성: 프롬프트와 설정을 함께 관리하여 재현성 보장
🔔 Webhooks & Integrations
  • 자동화: 프롬프트 변경 시 Slack 알림, CI/CD 트리거 등
  • GitHub 연동: 프롬프트를 Git 리포지토리와 동기화
  • n8n 노드: 노코드 워크플로우 자동화
💾 Caching (캐싱)
  • 성능 최적화: 자주 사용되는 프롬프트 결과를 캐싱
  • 비용 절감: 중복 API 호출 방지
📁 Folders (폴더)
  • 조직화: 프롬프트를 폴더로 구조화하여 관리
  • 팀별 분리: 팀이나 프로젝트별로 프롬프트 분류

사용 예제

프롬프트 생성 및 가져오기:

from langfuse import Langfuse

langfuse = Langfuse()

# 프롬프트 가져오기
prompt = langfuse.get_prompt(
    name="customer-support-agent",
    label="production"  # 또는 version=3
)

# 프롬프트 컴파일 (변수 치환)
compiled_prompt = prompt.compile(
    customer_name="홍길동",
    issue_type="결제 문제"
)

# LLM에 전달
response = openai.chat.completions.create(
    model="gpt-4",
    messages=compiled_prompt
)

3. Evaluation (평가)

LLM 애플리케이션의 품질을 측정하고 개선하기 위한 체계적인 평가 시스템입니다.

주요 평가 방법

🤖 LLM-as-a-Judge
  • 자동화된 평가: 다른 LLM을 사용하여 출력물의 품질을 자동으로 평가
  • 다양한 기준: 정확성, 관련성, 일관성, 유해성 등 다양한 기준으로 평가
  • 확장성: 대량의 데이터를 빠르게 평가 가능
  • 커스터마이징: 도메인 특화 평가 기준 설정 가능

예제:

# LLM-as-a-Judge 평가 설정
langfuse.score(
    trace_id="trace-123",
    name="answer-quality",
    value=0.85,
    comment="답변이 정확하고 관련성이 높음"
)
👥 Annotation Queues (어노테이션 큐)
  • 휴먼 평가: 사람이 직접 출력물을 검토하고 평가
  • 베이스라인 구축: 자동화된 평가의 기준이 되는 골드 스탠다드 생성
  • 팀 협업: 여러 평가자가 동시에 작업 가능
  • 일관성 관리: 평가 가이드라인을 통해 평가자 간 일관성 유지
📊 Scores via UI/API/SDK
  • 유연한 입력: UI, API, SDK를 통해 점수 입력
  • 다양한 타입: 숫자형, 불린형, 범주형 점수 지원
  • 메타데이터: 점수와 함께 추가 정보 저장

API 예제:

POST /api/public/scores
{
  "traceId": "trace-123",
  "name": "user-satisfaction",
  "value": 1,
  "dataType": "BOOLEAN",
  "comment": "사용자가 답변에 만족함"
}

SDK 예제:

langfuse.score(
    trace_id="trace-123",
    name="hallucination-check",
    value=0,
    data_type="NUMERIC",
    comment="환각 없음"
)
👍 User Feedback (사용자 피드백)
  • 실시간 수집: 사용자로부터 직접 피드백 수집
  • 브라우저 SDK: 프론트엔드에서 바로 피드백 전송
  • 암묵적 피드백: 클릭, 체류 시간 등 행동 데이터 수집
  • 명시적 피드백: 좋아요/싫어요, 별점, 텍스트 피드백 등

브라우저 SDK 예제:

import { Langfuse } from "langfuse";

const langfuse = new Langfuse({
  publicKey: "pk-lf-..."
});

// 사용자 피드백 전송
langfuse.score({
  traceId: "trace-123",
  name: "user-feedback",
  value: 1, // 좋아요
  comment: "정확한 답변이었어요!"
});
📈 Score Analytics (점수 분석)
  • 트렌드 분석: 시간에 따른 품질 변화 추이 파악
  • 분포 확인: 점수 분포를 통해 성능 패턴 이해
  • 비교 분석: 버전 간, 모델 간 성능 비교
  • 대시보드: 시각적으로 평가 결과 확인

Experiments (실험)

📚 Datasets (데이터셋)
  • 테스트 케이스 관리: 일관된 테스트를 위한 데이터셋 구축
  • 버전 관리: 데이터셋 변경 사항 추적
  • 다양한 시나리오: Edge case, 일반적인 케이스 등 포괄적으로 커버
  • 재사용: 동일한 데이터셋으로 반복 테스트

데이터셋 생성:

# 데이터셋 생성
dataset = langfuse.create_dataset(
    name="customer-support-qa",
    description="고객 지원 QA 테스트 케이스"
)

# 아이템 추가
dataset.create_item(
    input={"question": "환불은 어떻게 하나요?"},
    expected_output={"answer": "구매일로부터 14일 이내 환불 가능합니다."}
)
🧪 Experiments via SDK/UI
  • 체계적 테스트: 프롬프트와 모델 조합을 데이터셋에 대해 테스트
  • 자동화: 스크립트를 통해 실험 자동 실행
  • UI 지원: 코드 없이 UI에서 실험 실행 가능
  • 결과 비교: 여러 실험을 나란히 비교

실험 실행:

from langfuse import Langfuse

langfuse = Langfuse()

# 데이터셋 로드
dataset = langfuse.get_dataset("customer-support-qa")

# 실험 실행
for item in dataset.items:
    # 프롬프트 가져오기
    prompt = langfuse.get_prompt("support-agent", version=2)
    
    # LLM 호출
    response = llm.generate(
        prompt=prompt.compile(**item.input),
        trace_id=item.id
    )
    
    # 결과 평가
    langfuse.score(
        trace_id=item.id,
        name="accuracy",
        value=evaluate(response, item.expected_output)
    )

평가 워크플로우

graph TD
    A[프로덕션 트레이스] --> B{평가 필요}
    B --> C[LLM-as-a-Judge]
    B --> D[Annotation Queue]
    B --> E[User Feedback]
    C --> F[Score 생성]
    D --> F
    E --> F
    F --> G[Analytics Dashboard]
    G --> H{문제 발견}
    H -->|Yes| I[Dataset 추가]
    I --> J[Experiment 실행]
    J --> K[개선된 버전]
    K --> L[프로덕션 배포]
    H -->|No| M[모니터링 계속]

플랫폼 기능

Metrics (메트릭)

📊 Custom Dashboards (커스텀 대시보드)

  • 맞춤형 뷰: 필요한 메트릭만 선택하여 대시보드 구성
  • 실시간 업데이트: 데이터가 실시간으로 반영
  • 공유: 팀원들과 대시보드 공유
  • 필터링: 날짜, 사용자, 모델 등 다양한 기준으로 필터링

📡 Metrics API

  • 프로그래밍 방식 접근: API를 통해 메트릭 데이터 조회
  • 통합: 자체 모니터링 시스템에 통합
  • 자동화: 알림, 리포팅 자동화
# Metrics API 사용 예제
import requests

response = requests.get(
    "https://cloud.langfuse.com/api/public/metrics",
    headers={"Authorization": "Bearer sk-lf-..."},
    params={
        "from": "2024-01-01",
        "to": "2024-01-31",
        "groupBy": "model"
    }
)

metrics = response.json()

🔌 Analytics 통합

  • PostHog: 제품 분석 플랫폼과 연동
  • Mixpanel: 사용자 행동 분석 도구와 연동
  • 커스텀 통합: Webhook을 통해 다른 도구와 연동

API & Data Platform

💾 Export (데이터 내보내기)

UI에서 내보내기:

  • CSV, JSON 형식으로 데이터 다운로드
  • 날짜 범위, 필터 조건 지정
  • 대량 데이터 처리

Blob Storage로 내보내기:

  • S3, Azure Blob Storage, GCS 등 지원
  • 자동화된 정기 백업
  • 장기 보관 및 규정 준수
# 데이터 내보내기 설정
langfuse.configure_export(
    destination="s3://my-bucket/langfuse-exports",
    schedule="daily",
    format="parquet"
)

🔍 Observations API

  • 세밀한 데이터 접근: 개별 관찰(observation) 데이터에 접근
  • 필터링: 복잡한 쿼리로 원하는 데이터만 추출
  • 페이지네이션: 대량 데이터를 효율적으로 처리

📖 Public API

  • 완전한 기능: UI에서 할 수 있는 거의 모든 작업을 API로 수행
  • RESTful: 표준 REST API 디자인
  • 문서화: 상세한 API 레퍼런스 제공

API Reference: https://api.reference.langfuse.com

🔎 Query via SDKs

  • Python/JS SDK: SDK를 통해 데이터 쿼리
  • 타입 안전성: TypeScript 타입 지원
  • 편의성: 복잡한 쿼리를 간단하게 작성
# SDK로 데이터 쿼리
traces = langfuse.fetch_traces(
    name="chat-completion",
    from_timestamp="2024-01-01",
    to_timestamp="2024-01-31",
    user_id="user-123"
)

for trace in traces:
    print(f"Trace: {trace.id}, Cost: {trace.cost}")

🤝 MCP Server (Model Context Protocol)

  • 표준 프로토콜: MCP를 통한 데이터 접근
  • 상호 운용성: 다양한 도구와 쉽게 통합

Administration (관리)

🔐 Authentication & SSO

  • 다양한 인증 방식:
    • Email/Password
    • Google OAuth
    • GitHub OAuth
    • SAML 2.0 (엔터프라이즈)
    • OIDC (엔터프라이즈)
  • Multi-Factor Authentication (MFA): 추가 보안 계층
  • Session 관리: 세션 타임아웃, 동시 로그인 제한

👥 Access Control (RBAC)

  • 역할 기반 접근 제어:
    • Owner: 모든 권한
    • Admin: 관리 권한
    • Member: 일반 사용자
    • Viewer: 읽기 전용
  • 세밀한 권한: 프로젝트, 데이터셋, 프롬프트 등 리소스별 권한 설정
  • 팀 관리: 팀 생성 및 멤버 관리

🔄 SCIM & Org API

  • 자동 프로비저닝: SCIM을 통한 사용자 자동 추가/제거
  • 디렉토리 동기화: Azure AD, Okta 등과 동기화
  • 조직 API: 프로그래밍 방식으로 조직 관리

📝 Audit Logs

  • 모든 활동 기록: 누가, 언제, 무엇을 했는지 완벽하게 추적
  • 규정 준수: SOC 2, ISO 27001 등 규정 요구사항 충족
  • 보안 모니터링: 의심스러운 활동 감지

🗑️ Data Deletion & Retention

  • 데이터 삭제 정책: 자동 또는 수동 데이터 삭제
  • 보존 기간 설정: 데이터 유형별 보존 기간 설정
  • GDPR 준수: 사용자 데이터 삭제 권리 보장
# 데이터 보존 정책 설정
langfuse.set_retention_policy(
    traces=90,  # 90일 후 삭제
    scores=365,  # 1년 후 삭제
    datasets="永久"  # 영구 보존
)

🔌 LLM Connections

  • 모델 프로바이더 연동: OpenAI, Anthropic, Azure OpenAI 등
  • API 키 관리: 안전한 키 저장 및 관리
  • 자동 토큰 계산: 연동된 모델의 토큰 사용량 자동 계산

💰 Spend Alerts

  • 비용 알림: 설정한 임계값 초과 시 알림
  • 예산 관리: 프로젝트별, 사용자별 예산 설정
  • 실시간 모니터링: 현재 지출 현황 확인

📊 Billable Units

  • 투명한 과금: 어떻게 비용이 계산되는지 명확히 표시
  • 사용량 추적: 트레이스, 스코어, 저장 용량 등 사용량 확인
  • 비용 최적화: 사용 패턴 분석을 통한 비용 절감

통합 및 연동

프레임워크 통합

🦜 LangChain

from langfuse.langchain import LangfuseCallbackHandler

handler = LangfuseCallbackHandler(
    public_key="pk-lf-...",
    secret_key="sk-lf-..."
)

# LangChain 체인에 추가
chain.run(input="Hello", callbacks=[handler])

🦙 LlamaIndex

from llama_index.core import set_global_handler

set_global_handler("langfuse")

# 이후 모든 LlamaIndex 호출이 자동으로 추적됨

🌐 OpenAI SDK

from langfuse.openai import openai

# OpenAI SDK를 래핑
client = openai.OpenAI()

# 기존 코드 그대로 사용하면 자동 추적
response = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "Hello"}]
)

⚡ Vercel AI SDK

import { createOpenAI } from '@ai-sdk/openai';
import { observeVercelAI } from 'langfuse';

const openai = observeVercelAI(createOpenAI({
  apiKey: process.env.OPENAI_API_KEY
}));

🔧 Instructor

from instructor import patch
from langfuse.openai import openai

client = patch(openai.OpenAI())

# Pydantic 모델과 함께 사용

🚀 LiteLLM (Gateway)

import litellm
from litellm.integrations.langfuse import LangfuseLogger

litellm.success_callback = ["langfuse"]
litellm.failure_callback = ["langfuse"]

# 이후 모든 LiteLLM 호출이 자동 추적
response = litellm.completion(
    model="gpt-4",
    messages=[{"role": "user", "content": "Hello"}]
)

노코드 플랫폼 통합

🎯 Dify

  • Langfuse를 Dify 워크플로우에 연동
  • 시각적으로 LLM 애플리케이션 구축하면서 자동 추적

🌊 Flowise

  • Flowise 노드에 Langfuse 추가
  • 드래그 앤 드롭으로 LLM 앱 구축 + 모니터링

🌐 Langflow

  • Langflow 컴포넌트와 통합
  • 플로우 실행 자동 추적

기타 통합

📊 PostHog

  • 제품 분석과 LLM 메트릭 결합
  • 사용자 행동과 AI 성능 상관관계 분석

📈 Mixpanel

  • 이벤트 추적과 LLM 데이터 통합
  • 코호트 분석 및 퍼널 분석

시작하기

개발 라이프사이클별 가이드

PoC → 개발 → 테스트 → 프로덕션
 ↓      ↓      ↓        ↓
관찰   프롬프트  평가    모니터링
      관리     실험

1단계: 트레이싱 설정 (모든 단계)

빠른 시작:

pip install langfuse
from langfuse import Langfuse

langfuse = Langfuse(
    public_key="your-public-key",
    secret_key="your-secret-key"
)

# 첫 번째 트레이스
trace = langfuse.trace(name="my-app")

권장사항:

  • ✅ 개발 초기부터 트레이싱 설정
  • ✅ 환경별로 프로젝트 분리 (dev, staging, prod)
  • ✅ 의미 있는 이름과 메타데이터 추가

2단계: 프롬프트 관리 도입 (개발 단계)

시기: 프롬프트가 어느 정도 안정화되기 시작할 때

단계:
1. 기존 프롬프트를 Langfuse에 등록
2. 코드에서 프롬프트 가져오기로 변경
3. 팀과 함께 프롬프트 개선
4. 버전 관리 시작

# Before
prompt = "당신은 고객 지원 AI입니다..."

# After
prompt = langfuse.get_prompt("customer-support", label="production")

3단계: 평가 설정 (테스트/프로덕션 단계)

개발 환경:
1. 테스트 데이터셋 구축
2. 실험 실행
3. 품질 메트릭 정의

프로덕션 환경:
1. 사용자 피드백 수집
2. LLM-as-a-Judge 설정
3. 정기적인 어노테이션

단계별 체크리스트

PoC 단계

  • Langfuse 계정 생성
  • 기본 트레이싱 설정
  • 첫 번째 트레이스 생성
  • 대시보드에서 데이터 확인

개발 단계

  • 프롬프트를 Langfuse로 이관
  • 버전 관리 시작
  • Playground에서 테스트
  • 팀원 초대 및 권한 설정

테스트 단계

  • 테스트 데이터셋 구축
  • 평가 기준 정의
  • 실험 실행
  • 결과 분석

프로덕션 단계

  • 사용자 피드백 시스템 구축
  • 모니터링 대시보드 설정
  • 알림 설정 (비용, 오류 등)
  • 정기 리뷰 프로세스 수립

사용 사례

1. 고객 지원 챗봇

과제:

  • 다양한 질문 유형 처리
  • 일관된 답변 품질 유지
  • 비용 관리

Langfuse 활용:

# 1. 대화 추적
trace = langfuse.trace(
    name="customer-support",
    user_id=customer_id,
    session_id=conversation_id,
    metadata={"channel": "web", "language": "ko"}
)

# 2. 프롬프트 관리
prompt = langfuse.get_prompt("support-agent", label="production")

# 3. 의도 분류
classification = trace.span(
    name="intent-classification",
    input=user_message
)

# 4. 답변 생성
response = trace.generation(
    name="response-generation",
    model="gpt-4",
    input=prompt.compile(
        user_message=user_message,
        user_history=history
    )
)

# 5. 사용자 피드백 수집
langfuse.score(
    trace_id=trace.id,
    name="user-satisfaction",
    value=user_rating
)

결과:

  • 📊 대화당 평균 비용 30% 감소
  • ⭐ 사용자 만족도 15% 향상
  • 🚀 신규 프롬프트 배포 시간 70% 단축

2. 문서 검색 및 요약 (RAG)

과제:

  • 관련 문서 정확하게 검색
  • 환각(hallucination) 방지
  • 답변 품질 측정

Langfuse 활용:

trace = langfuse.trace(name="rag-pipeline")

# 1. 문서 검색
retrieval = trace.span(
    name="document-retrieval",
    input={"query": user_question},
    metadata={"top_k": 5}
)
docs = vector_db.search(user_question, k=5)
retrieval.end(output={"retrieved_docs": len(docs)})

# 2. 리랭킹
reranking = trace.span(name="reranking")
ranked_docs = reranker.rank(docs, user_question)
reranking.end(output={"top_docs": ranked_docs[:3]})

# 3. 답변 생성
generation = trace.generation(
    name="answer-generation",
    model="gpt-4",
    input={
        "question": user_question,
        "context": ranked_docs
    }
)

# 4. 환각 체크 (LLM-as-a-Judge)
langfuse.score(
    trace_id=trace.id,
    name="hallucination-check",
    value=hallucination_score
)

결과:

  • ✅ 환각 감소 40%
  • 🎯 답변 정확도 25% 향상
  • 📈 검색 성능 실시간 모니터링

3. 코드 생성 어시스턴트

과제:

  • 다양한 프로그래밍 언어 지원
  • 코드 품질 보장
  • 사용자별 컨텍스트 유지

Langfuse 활용:

# 세션으로 연속된 코딩 세션 추적
trace = langfuse.trace(
    name="code-assistant",
    session_id=coding_session_id,
    user_id=developer_id
)

# 컨텍스트 수집
context_span = trace.span(name="context-gathering")
code_context = get_project_context(project_id)
context_span.end(output=code_context)

# 프롬프트 선택 (언어별)
prompt = langfuse.get_prompt(
    f"code-gen-{programming_language}",
    label="production"
)

# 코드 생성
generation = trace.generation(
    name="code-generation",
    model="gpt-4",
    input=prompt.compile(
        task=user_request,
        context=code_context,
        language=programming_language
    )
)

# 코드 품질 평가
langfuse.score(
    trace_id=trace.id,
    name="code-quality",
    value=static_analysis_score
)

결과:

  • 💻 코드 생성 성공률 85%
  • 🐛 버그 발생률 50% 감소
  • ⚡ 개발자 생산성 2배 향상

4. 콘텐츠 생성 플랫폼

과제:

  • 브랜드 톤앤매너 일관성
  • 다양한 콘텐츠 형식 지원
  • A/B 테스트

Langfuse 활용:

# A/B 테스트를 위한 프롬프트 버전
import random

version = "A" if random.random() < 0.5 else "B"
prompt = langfuse.get_prompt(
    "content-generator",
    label=f"experiment-{version}"
)

trace = langfuse.trace(
    name="content-generation",
    metadata={"experiment_group": version}
)

# 콘텐츠 생성
generation = trace.generation(
    name="generate-content",
    model="gpt-4",
    input=prompt.compile(
        topic=content_topic,
        tone=brand_tone,
        format=content_format
    )
)

# 사용자 참여도 추적
langfuse.score(
    trace_id=trace.id,
    name="engagement-rate",
    value=calculate_engagement(content_id)
)

결과:

  • 📝 콘텐츠 생산량 3배 증가
  • 🎨 브랜드 일관성 95% 달성
  • 📊 A/B 테스트로 참여도 20% 향상

보안 및 컴플라이언스

🔒 보안 인증

  • SOC 2 Type II: 데이터 보안 및 가용성 인증
  • ISO 27001: 정보 보안 관리 시스템 인증
  • GDPR 준수: 유럽 개인정보 보호 규정 완전 준수
  • HIPAA 준수: 의료 데이터 보호 규정 준수 (엔터프라이즈)

🛡️ 데이터 보호

  • 암호화:
    • 전송 중: TLS 1.3
    • 저장 중: AES-256
  • 데이터 격리: 프로젝트별 완전한 데이터 분리
  • 접근 제어: 세밀한 RBAC 및 IP 화이트리스트
  • 감사 로그: 모든 접근 및 변경 사항 기록

🏢 자체 호스팅

  • 완전한 제어: 자체 인프라에서 운영
  • 데이터 주권: 데이터가 외부로 나가지 않음
  • 커스터마이징: 필요에 맞게 수정 가능
  • 지원 옵션: 엔터프라이즈 지원 제공

자체 호스팅 옵션:

  • Docker Compose
  • Kubernetes (Helm Chart 제공)
  • AWS, GCP, Azure 등 클라우드 플랫폼

📋 데이터 거버넌스

  • 데이터 레지던시: 데이터 저장 위치 선택 가능
  • 백업: 자동 백업 및 재해 복구
  • 삭제 권리: GDPR 삭제 권리 지원
  • 데이터 이동성: 언제든 데이터 내보내기 가능

커뮤니티 및 지원

📚 문서 및 리소스

💬 커뮤니티

  • Discord: 실시간 채팅 및 질문
  • GitHub Discussions: 기술적인 논의
  • GitHub Issues: 버그 리포트 및 기능 요청

🎯 시작하기

  1. 무료 계정 생성: https://cloud.langfuse.com
  2. 데모 프로젝트 체험: https://langfuse.com/docs/demo
  3. 10분 비디오 데모: https://langfuse.com/watch-demo

📞 엔터프라이즈 문의


가격 정책

💸 무료 티어

  • 월 50,000개 트레이스
  • 모든 핵심 기능
  • 커뮤니티 지원

📊 Pro 티어

  • 추가 트레이스당 종량제
  • 우선 지원
  • 고급 분석 기능

🏢 엔터프라이즈

  • 무제한 사용
  • 전담 지원
  • SSO, SCIM, 감사 로그
  • 커스텀 계약

최신 가격: https://langfuse.com/pricing


로드맵

Langfuse는 활발하게 개발 중이며, 커뮤니티 피드백을 기반으로 계속 발전하고 있습니다.

최신 로드맵: https://langfuse.com/docs/roadmap

최근 추가된 기능 (Changelog):

  • MCP (Model Context Protocol) 지원
  • 향상된 에이전트 그래프 시각화
  • 프롬프트 GitHub 통합
  • 커스텀 대시보드 빌더
  • 성능 최적화

계획된 기능:

  • 더 많은 LLM 프로바이더 통합
  • 고급 평가 기능
  • 실시간 모니터링 강화
  • AI 기반 인사이트

결론

Langfuse는 LLM 애플리케이션을 개발하고 운영하는 데 필요한 모든 도구를 제공하는 종합 플랫폼입니다.

핵심 가치:

  • 🔍 투명성: 애플리케이션 내부를 완벽하게 이해
  • 🚀 속도: 빠른 반복과 개선
  • 📊 품질: 체계적인 평가와 모니터링
  • 🤝 협업: 팀과 함께 더 나은 AI 만들기
  • 🔒 신뢰: 엔터프라이즈급 보안과 컴플라이언스

시작이 간단합니다:

pip install langfuse
from langfuse import Langfuse
langfuse = Langfuse()
# 이제 시작입니다!

더 나은 LLM 애플리케이션을 만들기 위한 여정을 Langfuse와 함께하세요! 🚀

profile
AI 탐사대

0개의 댓글