[LangSmith] LLM Management 시작하기
"LangSmith는 LLM 애플리케이션 개발, 모니터링 및 테스트를 위한 플랫폼이다. "
LangSmith 추적 기능
"추적은 LLM 애플리케이션의 동작을 이해하기 위한 강력한 도구이다.". Java, Javascript 의 stackoverflow같은 단계별 call 추적 가능.
- 예상치 못한 최종 결과
- 에이전트가 루팅되는 이유
- 체닝이 예상보다 느린 이유
- 에이전트가 각 단계에서 사용한 토큰 수
LangSmith 추적 사용
- https://smith.langchain.com/ 가입
- API Key를 발급 받는다. 참조
- poetry를 사용하여 "테디노트"의 패키지를 사용한다.
[1] langchain-teddynote 패키지 설치
poetry add langchain-teddynote
[2] 테스트 코드에 항상 입력
from langchain_teddynote import logging
# 프로젝트 이름을 입력합니다.
logging.langsmith("CH01-Basic")
[3] ipynb 에서 테스트 코드 수행하면 LangSmith 사이트에 자동으로 로깅됨
- 본인 계정으로 로그인
- 프로젝트명을 선택
- RunnableSequence는 테디노트의 https://wikidocs.net/233344 LCEL 파트의 "prompt | model | output_parser" 에 대한 Runnable 내역이 각각 기록됨.
LangSmith는 Application Performacne Monitoring 서비스중 하나인 DataDog같은 개념으로 LLM 의 사용 성능 및 과금내역등 그외 많은 기능을 제공하고 있다.
다양한 LLM Trace 도구들
LLM 요청에 대한 추적, Prompt 관리, DataSet 관리등의 다양한 기능을 제공한다. 물론 LangSmith도 같은 기능을 제공한다.
- LangFuse: https://langfuse.com/
- Pheonix: https://docs.arize.com/phoenix