opensmith 소개: 로컬 퍼스트, 오픈소스 LangSmith 대안

Observability is a cornerstone of developing reliable Large Language Model (LLM) applications. While tools like LangSmith have set the standard for tracing and debugging complex LLM pipelines, they often come with a significant trade-off: a heavy reliance on cloud-hosted infrastructure and account requirements. For developers who prioritize data privacy, local development, or simply want to avoid the friction of cloud setup, these barriers can be restrictive.

Enter opensmith, a new open-source, local-first LLM pipeline tracer designed to bring observability directly to the developer's machine. By removing the cloud from the equation, opensmith allows developers to inspect traces without accounts, hosted services, or complex Docker configurations.

로컬 퍼스트 철학

opensmith의 주요 동기는 클라우드 의존성을 없애는 것입니다. 작성자 shivnathtathe가 Hacker News에 적은 바와 같이:

나는 LangSmith가 내 트레이스를 보기 위해 클라우드 계정이 필요하기 때문에 이것을 만들었습니다.

~/.opensmith/traces.db에 기본 저장되는 로컬 SQLite 데이터베이스를 활용함으로써, opensmith는 트레이스 데이터가 사용자 머신을 떠나지 않도록 보장합니다. 이 접근 방식은 프라이버시와 보안을 강화할 뿐만 아니라 디버깅 데이터를 보기 위해 인터넷 연결이 필요 없게 하여 개발 루프를 단순화합니다.

핵심 기능 및 구현

opensmith는 통합의 용이성을 위해 설계되었으며, Python LLM 파이프라인을 계측하는 세 가지 주요 방법을 제공합니다:

1. @trace 데코레이터

세밀한 제어를 위해 개발자는 任意의 Python 함수에 @trace 데코레이터를 적용할 수 있습니다. 이는 함수의 입력과 출력을 캡처하여 RAG(Retrieval-Augmented Generation) 파이프라인이나 복잡한 에이전트 워크플로우를 통한 데이터 흐름을 쉽게 추적할 수 있게 합니다.

2. 컨텍스트 매니저

단일 함수에 깔끔히 들어가지 않는 코드 블록의 경우, trace 컨텍스트 매니저를 사용해 파이프라인 내 특정 이벤트나 변수를 수동으로 로깅할 수 있습니다.

3. 코드 없이 autopatch()

아마도 빠른 프로토타이핑을 위한 가장 강력한 기능은 autopatch()일 것입니다. 이 함수는 비즈니스 로직을 수동으로 변경하지 않고도 인기 있는 LLM 및 벡터 데이터베이스 백엔드를 자동으로 계측하도록 opensmith를 지원합니다.

현재 지원되는 백엔드는 다음과 같습니다:

  • LLMs: OpenAI, Anthropic, LiteLLM
  • Vector Databases: Qdrant, ChromaDB, Pinecone

트레이스 분석: 대시보드와 CLI

트레이싱은 데이터에 쉽게 접근할 수 있을 때만 유용합니다. opensmith는 캡처된 데이터와 상호작용하는 두 가지 주요 방법을 제공합니다:

로컬 대시보드

opensmith ui를 실행하면 개발자는 http://localhost:7823에서 로컬 대시보드를 시작합니다. 이는 트레이스를 탐색하고 파이프라인의 단계들을 검사하며 LLM 호출 성능을 분석할 수 있는 시각적 인터페이스를 제공합니다.

커맨드 라인 인터페이스 (CLI)

터미널을 선호하는 사용자를 위해 CLI는 여러 유틸리티 명령을 제공합니다:

  • opensmith traces: 최근 트레이스를 나열합니다.
  • opensmith stats: 트레이스, 단계, 토큰 및 비용에 대한 집계 통계를 제공합니다.
  • opensmith clear: 로컬 데이터베이스를 삭제하여 새로 시작합니다.

구성 및 유연성

opensmith는 현재 작업 디렉터리의 opensmith.json 파일을 통해 높은 수준의 구성을 지원합니다. 개발자는 사용자 지정 데이터베이스 경로를 지정하고, 콘솔 모드(실시간으로 터미널에 결과를 출력)를 토글하며, 자동 패치하거나 제외할 백엔드를 정의할 수 있습니다.

결론

아직 알파 단계(v0.1.2)이지만, opensmith는 보다 접근 가능하고 프라이버시를 보장하며 가벼운 LLM 관측성을 향한 변화를 의미합니다. "클라우드 없이, 설정 없이" 경험에 초점을 맞춤으로써, 클라우드 계정 및 데이터 유출 비용 없이 LangSmith 스타일 트레이싱의 강력함을 원하는 개발자에게 간소화된 대안을 제공합니다.

Sources