IT

AI 에이전트 구축: Phidata와 Groq 모델을 활용한 초보자 가이드

esmile1 2025. 1. 5. 05:55

AI 에이전트 구축: Phidata와 Groq 모델을 활용한 초보자 가이드

AI 에이전트에 대한 관심이 높아지고 있습니다. 2025년은 AI 멀티모달 에이전트, 에이전트 RAG 등이 주목받을 것으로 예상됩니다. 이 글에서는 Phidata 프레임워크를 사용하여 간단한 AI 에이전트를 만드는 방법을 소개합니다.

프로젝트 설정

먼저 프로젝트 환경을 설정해 보겠습니다.

  1. 새 폴더 생성: agenti_ai
  2. UV 사용하여 가상 환경 초기화:
  3. uv init --name agenti_phidata --python 3.12
  4. 필요한 패키지 설치:
  5. uv add phidata uv add groq uv add duckduckgo-search

웹 검색 에이전트 구현

웹 검색 기능을 가진 에이전트를 만들어 보겠습니다.

from phidata import Agent
from phidata.model import Groq
from phidata.tools.duckduckgo import DuckDuckGoTool
from dotenv import load_dotenv

load_dotenv()

web_search_agent = Agent(
    name="웹 검색 에이전트",
    model=Groq("llama2-70b-4096"),
    tools=[DuckDuckGoTool()],
    instructions="항상 출처를 포함하고 마크다운 형식으로 답변하세요.",
    description="웹에서 콘텐츠를 검색하는 에이전트입니다.",
    debug_mode=True
)

print(web_search_agent.run("네팔의 수도는 어디인가요?"))

금융 정보 에이전트 구현

주식 정보를 제공하는 에이전트를 만들어 보겠습니다.

from phidata.tools.yfinance import YFinanceTool

finance_agent = Agent(
    name="금융 정보 에이전트",
    model=Groq("llama2-70b-4096"),
    tools=[YFinanceTool(
        stock_price=True,
        analyst_recommendations=True,
        company_info=True,
        company_news=True
    )],
    instructions="데이터를 표 형식으로 표시하세요.",
    description="금융 정보를 찾는 에이전트입니다.",
    debug_mode=True
)

print(finance_agent.run("NVDA의 애널리스트 추천을 요약해주세요."))

멀티 에이전트 구현

웹 검색과 금융 정보 에이전트를 결합한 멀티 에이전트를 만들어 보겠습니다.

team = Agent(
    name="멀티 에이전트 팀",
    agents=[web_search_agent, finance_agent],
    model=Groq("llama2-70b-4096"),
    instructions=["항상 출처를 포함하세요.", "데이터를 표 형식으로 표시하세요."],
    debug_mode=True
)

print(team.run("NVIDIA의 애널리스트 추천을 요약하고 최신 뉴스를 공유해주세요."))

Phidata 플레이그라운드 UI 설정

Phidata에서 제공하는 UI를 사용하여 에이전트와 상호작용할 수 있습니다.

  1. API 키 설정:
  2. PHIDATA_API_KEY=your_api_key_here
  3. 필요한 패키지 설치:
  4. uv add sqlalchemy uv add fastapi
  5. playground.py 파일 생성:
from phidata import Agent, Playground
from phidata.model import Groq
from phidata.tools.duckduckgo import DuckDuckGoTool
from phidata.tools.yfinance import YFinanceTool
from sqlalchemy import create_engine
from dotenv import load_dotenv

load_dotenv()

engine = create_engine("sqlite:///playground.db")

web_search_agent = Agent(
    name="웹 검색",
    model=Groq("llama2-70b-4096"),
    tools=[DuckDuckGoTool()],
    instructions=["항상 출처를 포함하세요."],
    description="웹에서 콘텐츠를 검색하는 에이전트입니다."
)

finance_agent = Agent(
    name="금융 정보",
    model=Groq("llama2-70b-4096"),
    tools=[YFinanceTool(
        stock_price=True,
        analyst_recommendations=True,
        company_info=True,
        company_news=True
    )],
    instructions=["데이터를 표 형식으로 표시하세요."],
    description="금융 정보를 찾는 에이전트입니다."
)

playground = Playground(
    agents=[web_search_agent, finance_agent],
    storage=engine,
)

app = playground.app

  1. 플레이그라운드 실행:
  2. uv run playground.py
  3. 브라우저에서 http://localhost:7777 접속

주요 내용 사용 방법 30단계

  1. Python 3.12 설치
  2. 프로젝트 폴더 생성
  3. UV 설치
  4. UV로 가상 환경 초기화
  5. Phidata 패키지 설치
  6. Groq 패키지 설치
  7. DuckDuckGo 검색 도구 설치
  8. 환경 변수 파일 (.env) 생성
  9. Groq API 키 설정
  10. 웹 검색 에이전트 코드 작성
  11. 웹 검색 에이전트 실행 및 테스트
  12. YFinance 도구 설치
  13. 금융 정보 에이전트 코드 작성
  14. 금융 정보 에이전트 실행 및 테스트
  15. 멀티 에이전트 팀 코드 작성
  16. 멀티 에이전트 실행 및 테스트
  17. Phidata API 키 획득
  18. SQLAlchemy 설치
  19. FastAPI 설치
  20. playground.py 파일 생성
  21. SQLite 데이터베이스 설정
  22. 웹 검색 에이전트 설정 (플레이그라운드용)
  23. 금융 정보 에이전트 설정 (플레이그라운드용)
  24. Playground 객체 생성
  25. FastAPI 앱 설정
  26. 플레이그라운드 실행
  27. 로컬호스트 접속
  28. UI에서 에이전트 선택
  29. 질문 입력
  30. 결과 확인 및 분석

이 가이드를 따라하면 Phidata와 Groq 모델을 사용하여 기본적인 AI 에이전트를 구축하고 실행할 수 있습니다. 웹 검색, 금융 정보 조회, 그리고 이들을 결합한 멀티 에이전트 시스템까지 다양한 에이전트를 경험해볼 수 있습니다. 또한 Phidata에서 제공하는 플레이그라운드 UI를 통해 더욱 직관적으로 에이전트와 상호작용할 수 있습니다.

 

AI 에이전트 기술은 계속 발전하고 있으며, 이는 단지 시작에 불과합니다. 앞으로 더 많은 기능과 도구가 추가되어 더욱 강력한 AI 에이전트 시스템을 구축할 수 있을 것입니다. 이 튜토리얼을 통해 AI 에이전트의 기본 개념과 구현 방법을 이해하셨기를 바랍니다. 계속해서 실험하고 학습하면서 AI 에이전트의 무한한 가능성을 탐구해 보세요!