이 튜토리얼에서는 Pytest, Vitest/Jest 등 인기 있는 테스트 도구와 LangSmith의 통합을 활용해 LLM 애플리케이션을 평가하는 방법을 안내합니다.
공개 주식에 대한 질문에 답하는 ReAct 에이전트를 만들고, 이를 위한 종합적인 테스트 스위트를 작성합니다.
환경 설정(Setup)
이 튜토리얼에서는 LangGraph(에이전트 오케스트레이션), OpenAI GPT-4o, Tavily(검색), E2B(코드 인터프리터), Polygon(주식 데이터 조회)을 사용합니다.
다른 프레임워크, 모델, 도구로도 약간의 수정만으로 적용할 수 있습니다.
Tavily, E2B, Polygon은 무료로 가입할 수 있습니다.
설치(Installation)
Python
pip install -U langgraph langchain[openai] langchain-community e2b-code-interpreter
TypeScript
yarn add @langchain/openai @langchain/community @langchain/langgraph @langchain/core @e2b/code-interpreter @polygon.io/client-js openai zod
테스트 프레임워크 설치:
Pytest
# langsmith>=0.3.1 필요
pip install -U "langsmith[pytest]"
Vitest
yarn add -D langsmith vitest
Jest
yarn add -D langsmith jest
환경 변수(Environment Variables)
export LANGSMITH_TRACING=true
export LANGSMITH_API_KEY=<YOUR_LANGSMITH_API_KEY>
export OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
export TAVILY_API_KEY=<YOUR_TAVILY_API_KEY>
export E2B_API_KEY=<YOUR_E2B_API_KEY>
export POLYGON_API_KEY=<YOUR_POLYGON_API_KEY>
앱 생성(Create your app)
LangGraph/LangGraph.js로 에이전트를 정의하고, LangChain으로 LLM과 도구를 연결합니다.
도구 정의(Define tools)
- Tavily 검색 도구
- E2B 코드 인터프리터 도구
- Polygon 주식 정보 도구
(각 도구의 Python/TypeScript 예시는 원문 참고)
테스트 작성(Write tests)
테스트 1: 오프토픽 질문 처리
- 에이전트가 관련 없는 질문에 도구를 사용하지 않는지 확인
테스트 2: 간단한 도구 호출
- 예: "Apple의 주가가 얼마야?" → 올바른 ticker("AAPL")를 검색하는지 확인
테스트 3: 복잡한 도구 호출
- 예: "2024년 FAANG 주식의 평균 수익률은?" → 코드 실행 도구를 활용하는지 확인
테스트 4: LLM-as-a-judge
- LLM을 평가자로 활용해 답변이 근거 문서에 기반하는지 자동 평가
각 테스트는 Pytest, Vitest, Jest 등에서 실행할 수 있습니다.
테스트 코드 예시는 공식 문서에서 확인할 수 있습니다.
테스트 실행(Run tests)
작성한 테스트를 실행하여 에이전트의 동작과 품질을 자동으로 검증할 수 있습니다.
참고 코드(Reference code)
- 에이전트 정의 및 테스트 전체 예제는 공식 문서에서 확인하실 수 있습니다.
이 번역은 [Cursor 웹사이트 번역 가이드]의 규칙을 준수하여 작성되었습니다.
참고:
반응형