How to Use Gemma 4 E2B the Smart Way: Family Trip Advisor
개요
Gemma 4 E2B 모델을 활용한 "Family Trip Advisor"라는 가족 여행 계획 애플리케이션이 개발되었으며, 이 애플리케이션은 LLM의 한계를 인식하고 백엔드 오케스트레이션을 통해 모델의 활용도를 극대화하는 스마트한 접근 방식을 사용합니다.
주요 내용
* Family Trip Advisor 애플리케이션: 사용자가 간단한 프롬프트로 여행 계획을 요청하면, 날씨, 선택된 날짜, 출발 위치를 기반으로 레스토랑, 활동, 주차 장소에 대한 여러 제안을 제공하는 풀스택 애플리케이션입니다. 이 애플리케이션은 사용자의 로컬 컴퓨터에서 실행되며 외부 AI 서비스로 데이터가 전송되지 않습니다.
* 개발 스택: 백엔드는 ASP.NET, 프론트엔드는 Angular로 개발되었으며, 이는 Python 및 React 외의 대안을 보여줍니다.
* 아키텍처: Vertical Slice Architecture를 채택하여 기능별로 개발이 분리되고, 각 슬라이스는 API 결과 반환에 필요한 모든 것을 포함합니다. 이는 빠른 기능 개발과 쉬운 코드 이해를 돕습니다.
* Gemma 4 E2B 활용 전략: Gemma 4 E2B 모델의 추론 능력의 한계를 고려하여, 복잡한 워크플로우 오케스트레이션이나 RAG 파이프라인에 직접 의존하는 대신, 작고 전문화된 프롬프트를 사용하고 백엔드에서 대부분의 오케스트레이션 로직을 처리합니다.
* 백엔드 오케스트레이션:
* 의도 추출: 사용자의 프롬프트에서 여행의 실제 날짜와 위치를 추출하기 위해 Gemma 4 E2B 모델을 사용합니다.
* 날씨 정보 활용: 추출된 위치와 날짜를 바탕으로 날씨 예보를 가져옵니다.
* 활동 유형 결정: 날씨 예보를 기반으로 실내, 실외 또는 혼합 활동이 더 적합한지 Gemma 4 E2B 모델을 사용하여 결정합니다.
* 장소 검색: Geoapify Places API를 사용하여 활동, 레스토랑, 주차 장소를 검색합니다.
* 최종 여행 계획 생성: 수집된 모든 정보(여행 세부 정보, 날씨, 활동 유형, 검색된 장소 목록)를 종합하여 최종 여행 계획을 생성하도록 Gemma 4 E2B 모델에 요청합니다.
* 견고성 및 복원력:
* 입력 유효성 검사: 사용자 프롬프트에 대해 길이, 허용 문자, 프롬프트 주입 시도 및 주제 외 내용 등을 검증합니다.
* 재시도 파이프라인: Polly 라이브러리를 사용하여 외부 API 호출이나 모델 요청 실패 시 최대 3회까지 지수 백오프 방식으로 재시도하여 요청 실패 가능성을 줄입니다.
* 벤치마크: Intel i5-6400, 24GB RAM, NVIDIA GeForce GTX 950 (2GB VRAM) 환경에서 Ollama 0.23.2를 사용하여 테스트되었습니다.
* 의도 추출 프롬프트: 평균 9.64 tokens/s
* 활동 결정 프롬프트: 평균 12.65 tokens/s
* 여행 계획 생성 프롬프트: 평균 8.65 tokens/s
* 테스트 결과, 프롬프트의 복잡성 및 응답 크기에 따라 속도가 달라지지만, 생성된 결과는 실용적으로 사용 가능하고 일관적으로 우수했습니다.
시사점
Gemma 4 E2B와 같은 상대적으로 작은 LLM도 정교한 백엔드 오케스트레이션과 결합될 경우, 복잡한 요구사항을 충족하는 실용적인 애플리케이션을 구축하는 데 효과적으로 사용될 수 있음을 보여줍니다. 이는 LLM의 한계를 기술적으로 보완하여 성능과 예측 가능성을 높이는 개발 접근 방식의 중요성을 강조합니다.
댓글
GitHub Discussions