Gemini 기반 대화형 날씨 에이전트 구축 및 Maxim 로깅 활용
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

제목

🌤️ Gemini 기반 대화형 날씨 에이전트 구축과 Maxim 로깅 활용

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

앱 개발

대상자

  • 대상자: AI 에이전트 개발자, 대화형 애플리케이션 개발자
  • 난이도: 중간 (Python 및 REST API 기초 지식 필요)

핵심 요약

  • Gemini AI를 활용한 대화형 날씨 에이전트 구현
  • TavilyClient로 실시간 날씨 데이터 수집
  • Maxim SDK로 대화 흐름, 지연 시간, 도구 사용 기록
  • GeminiGeminiClient로 로깅 레이어 통합

섹션별 세부 요약

1. 환경 설정 및 의존성 설치

  • Python 3.8 이상과 google-generativeai, maxim-py, tavily-python, python-dotenv 라이브러리 설치
  • .env 파일을 통해 GEMINI_API_KEY, MAXIM_API_KEY, TAVILY_API_KEY 설정
  • API 키 누락 시 로 경고 표시

2. Maxim 로깅 초기화

  • Maxim().logger()로 로거 초기화
  • TraceConfig를 통해 트레이스 ID 생성 및 관리
  • MaximGeminiClient로 Gemini API 요청/응답 자동 로깅

3. 날씨 데이터 수집 기능 구현

  • TavilyClientcurrent weather in {location} 검색
  • temperature, degrees, ° 키워드로 날씨 정보 필터링
  • 예외 처리를 통해 오류 시 메시지 반환 (Error: Could not retrieve weather for {location} — {e})

4. 대화형 에이전트 클래스 정의

  • ConversationalAgent 클래스에서 gemini_client, logger, weather_function 초기화
  • chat() 메서드로 사용자 메시지 처리 및 Gemini 모델(gemini-2.0-flash) 호출
  • use_external_trace 플래그로 자동/수동 트레이스 관리 가능
  • get_history()로 대화 기록 확인, clear_history()로 기록 초기화

5. 대화 인터페이스 구현

  • interactive_chat() 함수로 CLI 기반 대화 테스트
  • exit, history, clear 명령어 지원
  • Maxim 대시보드에서 Tokens used, Response latency, Tool call usage 분석 가능

결론

  • Maxim SDK로 에이전트의 모든 상호작용 기록하여 성능 모니터링 가능
  • TavilyClientGeminiGeminiClient 통합으로 모듈화된 아키텍처 구현
  • weather_function 대체하여 검색, 주식 정보, RAG 파이프라인 등 다양한 도구 연동 가능
  • 핵심 팁: 자동 로깅 기능 활용 시 use_external_trace=False 설정 권장