AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

메모리 기능, 내장 검색, LiteLLM 사용 Google Agent Development Kit을 활용한 에이전트 🤖 Gemini, Fast API, Streamlit 🗃

카테고리

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

서브카테고리

앱 개발

대상자

AI 에이전트 개발에 관심 있는 개발자, 특히 Python 및 클라우드 서비스에 익숙한 중급 이상 개발자

핵심 요약

  • Google Agent Development Kit (ADK)메모리 기능, 내장 검색 도구, 다양한 LLM(예: Bedrock, OpenAI, Ollama)을 지원하는 오픈소스 프레임워크로, 프로덕션 환경에서 사용 가능한 로깅, 모니터링, 오류 처리 기능을 제공합니다.
  • MemoryServiceInMemoryMemoryServiceVertexAiRagMemoryService 두 가지 방식으로 구현되며, VertexAiRagMemoryService는 Google Cloud의 Vertex AI RAG 서비스를 활용해 지속적인 지식 저장이 가능합니다.
  • LiteLLM을 사용하여 bedrock/meta.llama3-1-405b-instruct-v1:0과 같은 다양한 LLM 모델을 호환할 수 있으며, StreamlitFastAPI를 통해 프론트엔드 인터페이스를 구축할 수 있습니다.

섹션별 세부 요약

1. Google Agent Development Kit (ADK) 소개

  • 구조화된 워크플로우: 에이전트가 결정, 도구 사용, 응답 생성을 명확한 루프로 자동화합니다.
  • 다중 에이전트 협업: 복잡한 작업을 위해 전문적인 에이전트가 협업할 수 있도록 설계되었습니다.
  • LLM 유연성: GPT, Claude, Nova 등 다양한 모델을 사용하고 전환할 수 있습니다.

2. 메모리 서비스 (MemoryService) 구현

  • SessionService: 단일 대화의 세션 상태를 관리하며, 세션 생성, 조회, 업데이트, 삭제를 처리합니다.
  • InMemoryMemoryService: 애플리케이션 메모리에 데이터를 저장하지만, 재시작 시 데이터가 소멸됩니다.
  • VertexAiRagMemoryService: Google Cloud의 Vertex AI RAG 서비스를 사용하여 지속적인 지식 저장세마틱 검색이 가능합니다.

3. LiteLLM과 다양한 LLM 모델 사용

  • LiteLlm 클래스를 사용해 bedrock/meta.llama3-1-405b-instruct-v1:0과 같은 모델을 사용할 수 있습니다.
  • 구성 예시:
  • Agent(model=LiteLlm(model="bedrock/meta.llama3-1-405b-instruct-v1:0"), ...)

4. 프론트엔드 (Streamlit) 구현

  • Streamlit UI를 사용해 사용자 입력과 에이전트 응답을 실시간으로 표시합니다.
  • .env 파일에 Gemini API 키Serper API 키를 설정해야 합니다.

5. 백엔드 구현 (FastAPI)

  • FastAPI를 통해 에이전트의 메모리 및 검색 기능을 처리하는 백엔드를 구축합니다.
  • 요청 처리 예시:
  • from fastapi import FastAPI
    app = FastAPI()

6. GitHub 샘플 프로젝트

  • 두 가지 샘플 프로젝트가 제공되며, 주소는 다음과 같습니다:

- 04-agent-memory-builtin-search-tool

- 05-agent-litellm-bedrock-ollama

결론

  • VertexAiRagMemoryService를 사용해 지속적인 지식 저장이 필요한 경우, Google Cloud 프로젝트와 Vertex AI RAG 리소스를 설정해야 합니다.
  • LiteLLM을 통해 다양한 LLM 모델을 호환하고, StreamlitFastAPI를 결합해 사용자 친화적인 인터페이스를 구축할 수 있습니다.
  • Gemini API 키Serper API 키.env 파일에 설정하고, pip install을 통해 필요한 라이브러리(fastapi, google-adk, google-generativeai)를 설치해야 합니다.