AI 사용을 돕는 파이썬 패키지, phidata 알아보기

AI-에이전트
AI-에이전트

AI 기술을 활용하여 콘텐츠 제작과 마케팅을 더 효과적으로 수행하는 방법이 있습니다. 이 분야는 AI와 접목했을 때 많은 효율화가 됩니다. 그래서 관련된 방법을 찾아보고 테스트해 보는 분들이 많을 텐데요.

하지만 여러 기능을 모으고, 여러 번 테스트해야 하기 때문에 번거롭고 힘든 일이 될 수 있습니다. 이를 모으고 패키징해서 쉽게 사용하게 하는 파이썬 패키지가 있습니다.

이 포스팅에서는 챗지피티와 Phidata를 사용해 AI 에이전트를 구축하고, 이를 통해 글 작성, 웹 검색 등의 작업을 자동화하는 방법을 알아보겠습니다.

Phidata를 이용하면 손쉽게 AI를 이용하는 파이프라인을 생성할 수 있습니다.


AI 에이전트란?

AI 에이전트는 사용자가 지정한 특정 작업을 자동으로 수행할 수 있도록 설계된 소프트웨어입니다. 이 글에서는 Phidata와 챗지피티를 사용하여, 검색한 내용을 요약한 콘텐츠를 작성하는 AI 에이전트 구축 방법을 알아봅니다.

Phidata는 웹 검색, 데이터 분석, 문서 요약 등 다양한 작업을 수행할 수 있는 도구를 제공합니다. AI 에이전트가 보다 쉽게 생성할 수 있게 도와줍니다.


Phidata를 활용

Phidata는 AI 에이전트 구축을 위한 프레임워크로, 파이썬 패키지로 제공됩니다. 장기 기억과 별도 지식을 가질 수 있고, 함수를 호출해서 행동도 할 수 있습니다.

아래와 같은 작업을 할 수 있습니다.

  • 웹 검색: DuckDuckGO, 구글 등을 이용
  • 데이터 분석: SQL, DuckDB 등을 이용
  • 조사 하고, 레포트 만듥리
  • 질문에 답하기: PDF, API등 활용 가능
  • 스크립트 작성: 책이나 영화 등
  • 요약: 기사나 비디오 등
  • 작업 수행: 메일 보내기, DB 조회 등
  • 기타 등등

사용 방법

파이썬에서 해당 패키지를 설치하고, 예제 코드를 참고하면 사용 방법을 익힐 수 있습니다. 처음에는 어색할 수 있지만, 방법이 어렵지 않아 금방 익힐 수 있습니다.

환경 설정

1) GitHub 저장소 복사

phidata 프로젝트를 다운로드 합니다. 패키지는 따로 설치해야 하지만, 프로젝트를 복사해서 cookbook에 있는 예제를 참조하면 편리합니다.

2) 가상환경 설정

phidata 디렉토리로 이동해서 가상환경을 설치하고, 실행합니다. 아래 명령은 맥북 기준입니다. 윈도우는 그에 맞게 실행합니다.

cd phidata

python -m venv venv
source venv/bin/activate

3) 패키지 설치

requirements를 설치합니다.

pip install -r requirements.txt

편리하게 사용하려면, 추가로 패키지를 더 설치해야 합니다. 아래 패키지를 설치합니다.

pip install phidata
pip install openai duckduckgo-search

4) 환경변수 지정

phidata를 사용할 때, 기본 LLM으로 오픈AI 챗지피티를 사용합니다. 챗지티를 사용할 때는 API를 이용하고, API키가 환경변수로 설정되야 합니다.

맥북에서 환경변수를 지정하는 방법은 어떤 쉘을 사용하느냐에 따라 다릅니다. 터미널에서 아래 명령어를 실행해서 확인합니다.

echo $SHELL

/bin/zsh면 ~/.zshrc를 편집하고, bashrc라면 ~/.bash_profile을 수정합니다.

  • zsh
    • nano ~/.zshrc
    • export OPENAI_API_KEY=’API’키 입력 후 저장
    • 터미널에서 source ~/.zshrc 실행해서 적요
  • bash
    • nano ~/.bash_profile
    • export OPENAI_API_KEY=’API’키 입력 후 저장
    • source ~/.bash_profile

잘 설정됐는지 보려면, echo $OPENAI_API_KEY를 실행해서 API키가 잘 출력되는지 확인합니다.


2) 코드 작성

예제 코드를 참고하여 자신만의 에이전트를 설정합니다. 필요에 따라 맞춤형 API를 이용할 수 있습니다. 이렇게 설정된 AI 에이전트는 웹에서 최신 정보를 검색하고 이를 요약하여 블로그 글을 작성하는 등의 작업을 수행할 수 있습니다.

필자는 검색을 해서 내용을 요약하는 기능을 작성해 보았습니다.

from phi.assistant import Assistant
from phi.llm.openai import OpenAIChat
from phi.tools.duckduckgo import DuckDuckGo

assistant = Assistant(tools=[DuckDuckGo()]
                      , llm=OpenAIChat(model="gpt-4o")
                      , instructions = [
                          '"Search the web for the latest news and information."'
                          ,"Summarize the key points from the search results."
                          ,"Write a detailed article about topic using the summary"
                      ]
                      ,description="You are a blogger writing a psting on a topic."                      
                      , show_tool_calls=True)

이제 설정된 AI 에이전트를 활용하여, 검색하고 내용을 요약하는 작업을 수행할 수 있습니다.

예를 들어, “오마이걸 10집”이라는 주제로 글을 작성하려면, AI 에이전트가 최신 정보를 검색하고, 그 내용을 요약하여 글을 작성해 줍니다.

assistant.print_response("오마이걸 10집")
phidata-출력
phidata-출력

이 외에도 마케팅 이메일 작성, 소셜 미디어 콘텐츠 생성 등 다양한 콘텐츠 제작 작업을 자동화할 수 있습니다. 이 포스팅에서 소개한 내용을 바탕으로, 여러분도 직접 AI 에이전트를 구축해 보세요. 궁금한 점이 있다면 댓글로 남겨주세요.


Leave a Comment