LangSmith 환경설정

LLM 애플리케이션 추적 설정

LangSmith를 이용한 LLM 애플리케이션 개발, 모니터링 및 테스트 환경 설정 가이드

AI
RAG
LangChain
저자

Kwangmin Kim

공개

2025년 01월 04일

1 LangSmith 추적 환경설정

  • LangSmith는 LLM 애플리케이션 개발, 모니터링 및 테스트 를 위한 플랫폼
  • 프로젝트나 LangChain 학습자들은 LangSmith를 설정 후 진행하는 것을 추천

1.1 LangSmith 의 추적기능

  • 추적은 LLM 애플리케이션의 동작을 이해하기 위한 강력한 도구
  • LangSmith는 LangChain 사용 여부와 관계없이 동급 최고의 추적 기능을 제공
  • 추적은 다음과 같은 문제를 추적하는 데 도움이 될 수 있음
    • 예상치 못한 최종 결과
    • 에이전트가 루핑되는 이유
    • 체인이 예상보다 느린 이유
    • 에이전트가 각 단계에서 사용한 토큰 수
    • 프로젝트 단위 추적
      • 프로젝트 단위로 실행 카운트, Error 발생률, 토큰 사용량, 과금 정보등을 확인
  • Lang Smith, https://smith.langchain.com/
  • 회원 가입 및 API 키 발급
    • LangSmith API Key 발급

      • https://smith.langchain.com/ 으로 접속하여 회원가입을 진행
      • 가입후 이메일 인증하는 절차를 진행
      • 왼쪽 톱니바퀴(Setting) - 가운데 “Personal” - “Create API Key” 를 눌러 API 키를 발급
    • .env 에 LangSmith 키 설정

      • 먼저, .env 파일에 LangSmith 에서 발급받은 키와 프로젝트 정보를 입력
      • LANGCHAIN_TRACING_V2: “true” 로 설정하면 추적을 시작
      • LANGCHAIN_ENDPOINT: https://api.smith.langchain.com 변경하지 않는다.
      • LANGCHAIN_API_KEY: 이전 단계에서 발급받은 키 를 입력
      • LANGCHAIN_PROJECT: 프로젝트 명 을 기입하면 해당 프로젝트 그룹으로 모든 실행(Run) 이 추적
    • .env 파일에 발급받은 API 키 입력

      OPENAI_API_KEY=sk-proj-81qk0Zx...... # open AI key
      LANGSMITH_TRACING=true
      LANGSMITH_ENDPOINT=https://api.smith.langchain.com
      LANGSMITH_API_KEY=lsv2_pt....... # lang smith key
      LANGSMITH_PROJECT=Rag-Test

1.2 LangSmith 추적 활성화

from dotenv import load_dotenv

# .env 에 설정한 내용을 불러옴
load_dotenv()
  • 퀄리 날리고 API 호출해서 사용 후
  • LangSmith 웹사이트에 접속 해서 추적 확인

1.3 변경사항을 저장하고 싶을 떄

import os

os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com"
os.environ["LANGCHAIN_PROJECT"] = "LangChain 프로젝트명"
os.environ["LANGCHAIN_API_KEY"] = "LangChain API KEY 입력"

1.4 langchain-teddynote 사용

  • langchain-teddynote 패키지: langchain 관련 기능을 보다 더 편리하게 사용하기 위한 목적으로 만들어진 패키지
  • 패키지 설치: pip install langchain-teddynote
from langchain_teddynote import logging

# 프로젝트 이름을 입력합니다.
logging.langsmith("원하는 프로젝트명")

# 출력

#LangSmith 추적을 시작합니다.
#[프로젝트명]
#랭체인 튜토리얼 프로젝트

# 출력을 원하지 않을 때
from langchain_teddynote import logging

# set_enable=False 로 지정하면 추적을 하지 않습니다.
logging.langsmith("랭체인 튜토리얼 프로젝트", set_enable=False)

Subscribe

Enjoy this blog? Get notified of new posts by email: