How to put a hard daily cap on your LangChain.js API costs

개요

LangChain.js API 비용을 일일 상한선으로 관리하기 위한 오픈소스 도구인 budget-guard는 LLM API 호출 시 예상치 못한 비용 증가를 방지하는 데 도움을 준다.

주요 내용

* budget-guard의 작동 방식: LangChain.js 콜백 핸들러로 통합되며, 각 모델 호출 전에 프로젝트의 일일 지출을 확인한다. 설정된 일일 상한액(USD)을 초과하면 BudgetExceededError를 발생시켜 runaway loop를 즉시 중단시킨다.
* 비용 측정의 정확성: 비용을 토큰 단위가 아닌 USD로 측정하며, 캐시된 입력, 추론 토큰 등 다양한 요금 체계를 고려하여 실제 토큰 사용량을 USD로 정확하게 변환한다.
* Feature 태그의 중요성: 프로젝트의 전체 지출을 하나의 총계로 파악하는 것 외에, feature 태그를 통해 지출이 발생하는 특정 기능별로 세분화하여 비용 누수의 원인을 파악하는 데 유용하다.
* 오류 처리 및 저장 방식: LangChain의 콜백 오류 처리 방식을 활용하여 BudgetExceededError가 실제로 체인을 중단시키도록 한다. 기본적으로 프로세스 로컬 스토리지를 사용하지만, Redis 스토어를 통해 여러 워커 플릿이 공유하는 단일 상한선 관리 또는 파일 스토리지를 통한 cron 작업 지원도 가능하다.
* 제한 사항: budget-guard는 API 게이트웨이, 대시보드, 또는 자체를 통과하지 않는 호출을 모니터링하지 않는다. 이는 LLM 옵저버빌리티 플랫폼을 이미 갖춘 경우보다는 단일 Node.js 앱을 사용하며 비용에 대한 우려가 있는 경우에 더 적합하다.

시사점

budget-guard는 LangChain.js를 사용하는 애플리케이션에서 LLM API의 예상치 못한 비용 폭증을 효과적으로 제어하고, 개발자가 비용 관리 부담 없이 LLM 기능을 활용할 수 있도록 지원한다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions