Skip to content

Lumen Python SDK 개발 중 ​

pip install lumen-ai 이후 SDK는 수집, 영속화, 비용 집계를 아우르는 세 가지 핵심 클래스를 제공합니다:

LumenTracer ​

python
from lumen_ai import LumenTracer

tracer = LumenTracer(
    project="my-agent",
    tags={"env": "prod", "team": "core"},
    redact=("api_key", "password"),   # 自动脱敏字段
)

graph = workflow.compile(callbacks=[tracer])

주요 파라미터:

파라미터기본값설명
project"default"프로젝트 식별자, 데이터 귀속을 결정
tags{}각 Trace에 부가되는 키-값 태그
redact()자동 마스킹할 필드명 튜플
backend"local"local / lurus / 사용자 정의 URL

LumenCheckpointer ​

LangGraph의 SqliteSaver를 대체합니다:

python
from lumen_ai import LumenCheckpointer

graph = workflow.compile(checkpointer=LumenCheckpointer())

SqliteSaver와 비교하면:

항목SqliteSaverLumenCheckpointer
복구 속도밀리초 단위마이크로초 단위(Kova WAL 엔진 기반)
멀티프로세스락 필요네이티브 지원
원격 영속화직접 구현 필요내장
비용 연동없음자동

직접 교체, API 호환

LumenCheckpointer는 LangGraph의 BaseCheckpointSaver 인터페이스와 호환되어, 기존 SqliteSaver를 한 줄만 바꾸면 되며 그래프 구조를 수정할 필요가 없습니다. 자세한 내용은 생태계 통합 · LangGraph를 참고하세요.

CostTracker ​

Agent 간 비용 집계 조회:

python
from lumen_ai import CostTracker

# 过去 24h
CostTracker.summary(hours=24)

# 按 Agent 拆分
CostTracker.by_agent(hours=24)

# 按 Graph 节点拆分
CostTracker.by_node(graph_id="research-graph")

# 预算告警
CostTracker.set_budget(daily_rmb=50.0, on_exceed=my_handler)

사용자 정의 Backend ​

기본적으로 데이터는 ~/.lumen/에 기록됩니다. 원격으로 전송하려면: LumenTracer(backend="https://lumen.lurus.cn/ingest"). 또는 직접 정의할 수 있습니다:

python
from lumen_ai.backend import Backend
class MyBackend(Backend):
    def send(self, event): ...
LumenTracer(backend=MyBackend())

Async 지원 ​

SDK의 모든 I/O는 비동기 친화적입니다:

python
import asyncio
from lumen_ai import LumenTracer

async def main():
    tracer = LumenTracer()
    async with tracer:
        await graph.ainvoke({"query": "hi"})

asyncio.run(main())

다음 단계 ​

다음 단계

Powered by Lurus Technologies