GPT-4o를 사용하여 자율 AI 에이전트를 쉽게 구축하세요

이 블로그 게시물에서 Fi-data 프레임워크를 사용하여 GPT-4로 강력한 자율 AI 에이전트를 쉽게 구축하는 방법을 알아보세요. 장기 메모리, 상황 지식 및 함수 호출을 통한 작업 수행 기능을 갖춘 고급 에이전트를 만드는 방법을 배우세요. 효율성과 생산성을 위해 AI 시스템을 최적화하세요.

2025년 2월 22일

party-gif

GPT-4o로 자율 AI 에이전트 구축의 힘을 발견하세요! 이 블로그 게시물은 웹 검색, 재무 분석, 데이터 탐색 등 다양한 작업을 처리할 수 있는 지능형 어시스턴트를 쉽게 만드는 과정을 안내합니다. 최첨단 언어 모델의 잠재력을 unleash하고 프로젝트를 위한 새로운 가능성을 열어보세요.

GPT-4로 자율 AI 에이전트 구축하는 방법

이 섹션에서는 장기 메모리, 상황 지식 및 함수 호출을 통한 작업 수행 능력을 갖춘 복잡한 자율 AI 시스템을 구축하는 방법을 탐구할 것입니다. Fi-data 프레임워크를 사용할 것이며, 이는 함수 호출을 통한 자율 AI 지원을 생성하는 강력한 방법을 제공합니다.

먼저 어떠한 도구도 없는 기본 지원 시스템을 만들 것입니다. 이 지원 시스템은 현재 시장에서 가장 우수한 모델 중 하나인 GPT-4 모델을 사용할 것입니다. 그런 다음 Duco 도구를 사용하여 웹을 검색할 수 있는 기능과 같은 추가 기능을 지원 시스템에 추가할 수 있습니다.

다음으로 Yahoo Finance와 같은 다양한 도구에 액세스할 수 있는 금융 지원 시스템을 구축할 것입니다. 주식 가격, 추천, 기업 정보 및 뉴스를 얻을 수 있습니다. 그런 다음 Hacker News API를 예로 들어 사용자 정의 도구를 구축하는 방법을 시연할 것입니다.

마지막으로 DuckDB를 사용하여 CSV 및 Parquet 파일의 데이터를 분석할 수 있는 데이터 분석 지원 시스템과 Exa를 사용하여 웹을 검색하고 지정된 형식으로 보고서를 생성할 수 있는 연구 지원 시스템과 같은 더 복잡한 지원 시스템을 탐구할 것입니다.

이 과정에서 간결성과 초점의 중요성을 강조할 것이며, 내용이 이해하기 쉽고 구현하기 쉽도록 할 것입니다. 이러한 예제의 코드는 Fi-data 리포지토리에서 찾을 수 있으며, 환경 설정 단계는 README에 제공됩니다.

기본 어시스턴트 만들기

기본 지원 시스템을 구축하려면 먼저 fidata 라이브러리에서 필요한 구성 요소를 가져와야 합니다. LLMAssistant 클래스를 사용하여 지원 시스템을 만들 것입니다.

from fidata.assistants.llm_assistant import LLMAssistant
from fidata.llms.openai import OpenAIChat

다음으로 LLMAssistant 클래스의 인스턴스를 만들고 llm 매개변수로 OpenAI GPT-4 언어 모델을 전달합니다.

assistant = LLMAssistant(llm=OpenAIChat(model_name="gpt-4"))

이제 지원 시스템의 설명과 지침을 정의할 수 있습니다. 이는 언어 모델의 시스템 프롬프트로 사용됩니다.

description = "You are a helpful assistant tasked with providing a simple breakfast recipe."
instructions = "Provide a concise breakfast recipe."

마지막으로 assistant 객체의 run 메서드를 호출하여 설명과 지침을 전달할 수 있습니다. 이렇게 하면 지원 시스템이 실행되고 응답이 반환됩니다.

response = assistant.run(description=description, instructions=instructions)
print(response)

이렇게 하면 GPT-4 언어 모델이 생성한 간단한 아침 식사 레시피가 출력됩니다.

웹 검색 기능 추가하기

AI 지원 시스템에 웹 검색 기능을 추가하려면 f_tools 모듈에서 Duco 도구를 가져와야 합니다. 이 도구를 사용하면 지원 시스템이 웹을 검색하고 관련 정보를 검색할 수 있습니다.

먼저 Duco 도구를 지원 시스템에 추가합니다:

from f_tools.duco import Duco
assistant.add_tool(Duco())

다음으로 show_tool_calls 매개변수를 True로 설정하여 내부적으로 발생하는 도구 호출을 볼 수 있습니다.

그런 다음 지원 시스템에 프랑스의 뉴스를 검색하고 이에 대한 짧은 시를 작성하는 작업을 부여합니다:

assistant.run_task("Search for the news from France and write a short poem about it.")

보시다시피 지원 시스템은 Duco 도구를 사용하여 프랑스의 뉴스를 검색하고 수집한 정보를 바탕으로 짧은 시를 생성합니다. 이는 지원 시스템이 웹 검색 기능을 활용하여 정보를 수집하고 이를 활용하여 작업을 완수할 수 있음을 보여줍니다.

금융 어시스턴트 만들기

금융 지원 시스템을 만들기 위해 F-tools 라이브러리의 Yahoo Finance 도구를 사용할 것입니다. 이 도구는 주식 가격, 기업 정보, 추천 및 뉴스와 같은 다양한 금융 데이터와 기능에 대한 액세스를 제공합니다.

먼저 필요한 도구를 가져옵니다:

from f_tools.yahoo_finance import YahooFinance

다음으로 금융 지원 시스템을 만들고 원하는 도구를 추가합니다:

finance_assistant = Assistant(model=gpt4, name="Finance Assistant")
finance_assistant.add_tool(YahooFinance(
    get_stock_price=True,
    get_recommendations=True,
    get_company_info=True,
    get_company_news=True
))

이 예에서는 Yahoo Finance 도구의 get_stock_price, get_recommendations, get_company_infoget_company_news 기능을 활성화했습니다.

이제 지원 시스템에 작업을 부여할 수 있습니다. 예를 들어 특정 회사의 주식 가격을 가져오고 두 회사를 비교하는 내용을 작성할 수 있습니다:

finance_assistant.run_task("What is the stock price of Nvidia?")
finance_assistant.run_task("Write a comparison between Nvidia and AMD using all the available tools.")

지원 시스템은 제공된 도구를 사용하여 필요한 정보를 수집하고 종합적인 응답을 생성할 것이며, 이는 가독성을 높이기 위해 Markdown 형식으로 반환됩니다.

이 금융 지원 시스템은 더 많은 도구를 추가하거나 도구 구성을 조정하거나 작업 지침을 수정하여 사용자의 특정 요구 사항에 맞게 추가로 사용자 정의할 수 있습니다.

맞춤형 도구 만들기

Fi data 프레임워크의 핵심 기능 중 하나는 AI 에이전트에 통합할 수 있는 사용자 정의 도구를 구축할 수 있다는 것입니다. 이를 통해 기본적으로 제공되는 도구 이상의 기능을 에이전트에 추가하고 특정 요구 사항에 맞게 조정할 수 있습니다.

이 비디오에서 제작자는 Hacker News API에 액세스하는 사용자 정의 도구를 구축하는 방법을 보여줍니다. 다음과 같이 수행됩니다:

  1. API와 상호 작용하는 데 사용되는 기능을 설명하고 인수와 반환 값을 지정합니다.
  2. Fi data 지원 시스템에 기능을 추가하고 설명을 제공하며 입력/출력 매개변수를 지정합니다.
  3. 기본 도구와 마찬가지로 사용자 정의 도구를 지원 시스템의 작업에 사용합니다.

비디오에서는 또한 디버그 모드를 활성화하는 방법을 보여줍니다. 이를 통해 지원 시스템의 내부 프로세스에 대한 자세한 로그를 확인할 수 있습니다. 이는 문제 해결 또는 사용자 정의 도구 사용 방식 이해 시 매우 유용할 수 있습니다.

전반적으로 사용자 정의 도구를 구축할 수 있는 기능은 Fi data 프레임워크의 강력한 기능이며, 특정 요구 사항에 맞게 맞춤형 고도로 전문화된 자율 AI 에이전트를 만들 수 있습니다.

DuckDB로 데이터 분석하기

이 섹션에서는 지원 시스템이 DuckDB 도구를 활용하여 CSV 및 Parquet 파일의 데이터를 분석하는 방법을 보여줍니다. 지원 시스템은 다음과 같은 기능을 보여줍니다:

  1. 테이블이 존재하지 않는 경우 자동으로 데이터를 테이블에 로드합니다.
  2. SQL 쿼리를 실행하여 평균 영화 평점을 얻고 평점의 히스토그램을 생성합니다.
  3. 데이터에 따라 적절한 버킷 크기를 선택합니다.
  4. SQL 쿼리와 결과 시각화를 명확하고 간결하게 표시합니다.

지원 시스템이 DuckDB를 원활하게 통합하고 분석 결과를 제시하는 능력은 시연된 프레임워크의 강력함을 보여줍니다. 이 섹션은 지원 시스템이 다양한 작업을 처리하기 위해 데이터 분석 기능으로 강화될 수 있음을 강조합니다.

연구 보고서 생성하기

지원 시스템에 OpenGPT-4 주제에 대한 연구 보고서를 작성하는 작업이 주어집니다. 다음과 같은 단계를 따릅니다:

  1. Exa 도구를 사용하여 웹을 검색하여 OpenGPT-4에 관한 가장 관련성 높은 상위 10개 링크를 찾습니다.
  2. 검색 결과를 주의 깊게 읽습니다.
  3. 요청된 구조에 따라 잘 구성된 기사를 준비합니다:
    • 대략적인 개요
    • OpenGPT-4에 대한 핵심 내용을 다룬 자세한 보고서
  4. 최종 보고서를 "news_article.md"라는 Markdown 파일에 저장합니다.

지원 시스템은 다음과 같은 능력을 보여줍니다:

  • 웹 조사를 수행하고 관련 정보를 수집합니다.
  • 조사 결과를 구조화되고 잘 작성된 보고서로 종합합니다.
  • 보고서를 Markdown 형식으로 작성하여 가독성을 높입니다.
  • 요청된 대로 출력을 파일에 저장합니다.

이를 통해 지원 시스템의 연구 능력, 자연어 처리 기술 및 요구 사항에 따라 고품질 결과물을 생성할 수 있는 능력이 입증됩니다.

자주하는 질문