이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.
핵심 요약
llm-mock은 LLM API 호출을 기록하고 재사용하여 결정론적 테스트 환경을 제공하는 파이썬 라이브러리이다. 실제 API 호출을 HTTP 계층에서 가로채 JSON 파일로 저장함으로써 테스트 시 네트워크 비용과 비결정성을 제거한다. pytest와 통합되어 별도의 코드 수정 없이 기존 파이프라인에 적용 가능하다. 개발자는 기록 모드에서 실제 API 응답을 저장하고, 이후 테스트에서 이를 재사용하여 오프라인 환경에서도 테스트를 수행한다.
배경
Python 3.10+, pytest
대상 독자
LLM 애플리케이션 개발자
의미 / 영향
LLM 기반 애플리케이션의 테스트 비용과 비결정성 문제를 해결하여 개발 생산성을 높인다. 특히 CI/CD 환경에서 외부 API 의존성을 제거하여 안정적인 배포 파이프라인 구축을 지원한다.
섹션별 상세
LLM API 호출의 비결정성과 비용 문제는 CI/CD 환경에서 테스트를 어렵게 만든다. llm-mock은 HTTP 전송 계층을 가로채어 API 응답을 로컬 JSON 파일로 저장하고 이를 재사용하는 방식을 채택한다.
기록 모드에서는 실제 API 키를 사용하여 응답을 저장하고, 재생 모드에서는 저장된 JSON 픽스처를 사용하여 네트워크 호출 없이 테스트를 수행한다. 이 과정에서 애플리케이션 코드는 수정할 필요가 없다.
python
with llm_mock(mode="record", fixture="tests/fixtures/summarize"):
result = my_pipeline("Summarize this document...")실제 LLM API 호출을 기록하여 JSON 픽스처로 저장하는 예시
pytest 데코레이터와 컨텍스트 매니저를 지원하여 테스트 코드 내에서 간편하게 모드 전환이 가능하다. 요청은 모델, 메시지, 온도(temperature)의 SHA256 해시를 기준으로 매칭되어 정확한 응답을 보장한다.
python
@pytest.mark.llm_replay(fixture="summarize")
def test_summarize():
result = my_pipeline("Summarize this document...")
assert "key points" in result저장된 픽스처를 사용하여 네트워크 호출 없이 테스트를 수행하는 예시
Anthropic과 OpenAI SDK를 지원하며, 테스트 실행 시 API 키 없이도 즉각적인 응답을 반환하여 개발 속도와 테스트 효율을 높인다.
실무 Takeaway
- llm-mock을 사용하면 LLM API 호출을 로컬 JSON으로 캐싱하여 테스트 비용을 절감하고 결정론적 테스트 환경을 구축할 수 있다.
- pytest 데코레이터를 활용하면 기존 애플리케이션 코드 수정 없이 테스트 파이프라인에 즉시 통합 가능하다.
- 요청 파라미터(모델, 메시지, 온도) 기반의 해시 매칭을 통해 테스트의 일관성을 유지한다.
언급된 리소스
GitHubllm-mock GitHub
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 05. 21.수집 2026. 05. 21.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.