Langfuse SDK
Langfuse SDK
Langfuse의 패스스루 엔드포인트를 소개할게요. Langfuse 엔드포인트를 LiteLLM 가상 키(Virtual Key)로 인증하며 호출할 수 있는 기능이에요. 베이스 URL만 바꾸면 돼서 정말 간단합니다.
https://us.cloud.langfuse.com을 LITELLM_PROXY_BASE_URL/langfuse로 바꾸면 끝이에요 🚀
출처: 문서
본문
사용 예시 (Example Usage)
Langfuse Python SDK를 프록시로 연결하는 예시예요. 패스스루 방식이라 별도 공개 키 없이 host만 프록시로 지정하면 돼요.
from langfuse import Langfuse
langfuse = Langfuse(
host="http://localhost:4000/langfuse", # your litellm proxy endpoint
public_key="anything", # no key required since this is a pass through
secret_key="LITELLM_VIRTUAL_KEY", # no key required since this is a pass through
)
print("sending langfuse trace request")
trace = langfuse.trace(name="test-trace-litellm-proxy-passthrough")
print("flushing langfuse request")
langfuse.flush()
print("flushed langfuse request")
모든 Langfuse 엔드포인트를 지원해요. 전체 엔드포인트 목록은 Langfuse API 참조에서 확인할 수 있어요.
빠른 시작 (Quick Start)
Langfuse에 trace를 기록해 볼게요.
먼저 Langfuse 공개/비밀 키를 환경 변수로 설정해요.
export LANGFUSE_PUBLIC_KEY=""
export LANGFUSE_SECRET_KEY=""
LiteLLM 프록시를 실행해요.
litellm
# RUNNING on http://0.0.0.0:4000
이제 trace를 기록해 봐요.
from langfuse import Langfuse
langfuse = Langfuse(
host="http://localhost:4000/langfuse", # your litellm proxy endpoint
public_key="anything", # no key required since this is a pass through
secret_key="anything", # no key required since this is a pass through
)
print("sending langfuse trace request")
trace = langfuse.trace(name="test-trace-litellm-proxy-passthrough")
print("flushing langfuse request")
langfuse.flush()
print("flushed langfuse request")
고급: 가상 키(Virtual Keys)와 함께 사용하기
사전 준비사항으로 DB가 설정된 프록시가 필요해요. 이 방식을 쓰면 개발자에게 Langfuse 원본 키를 직접 주지 않으면서도 Langfuse 엔드포인트를 사용하게 해줄 수 있어요.
사용법 (Usage)
환경 변수를 설정해요.
export DATABASE_URL=""
export LITELLM_MASTER_KEY=""
export LANGFUSE_PUBLIC_KEY=""
export LANGFUSE_SECRET_KEY=""
프록시를 실행해요.
litellm
# RUNNING on http://0.0.0.0:4000
가상 키를 생성해요.
curl -X POST 'http://0.0.0.0:4000/key/generate' \
-H "Authorization: Bearer ***" \
-H 'Content-Type: application/json' \
-d '{}'
예상 응답은 다음과 같아요.
{
...
"key": "sk-<virtual-key>"
}
이제 가상 키로 trace를 기록해 봐요.
from langfuse import Langfuse
langfuse = Langfuse(
host="http://localhost:4000/langfuse", # your litellm proxy endpoint
public_key="anything", # no key required since this is a pass through
secret_key="sk-<your-litellm-api-key>", # no key required since this is a pass through
)
print("sending langfuse trace request")
trace = langfuse.trace(name="test-trace-litellm-proxy-passthrough")
print("flushing langfuse request")
langfuse.flush()
print("flushed langfuse request")
고급: 키/팀별로 별도 Langfuse 프로젝트에 기록하기
키나 팀별로 서로 다른 Langfuse 프로젝트에 로그를 남기고 싶다면 팀 로깅(Team Logging) 문서를 참고해 주세요.