2️⃣AutoGPT: Worldcup Winner Search with LangChain

About AutoGPT?

AutoGPT는 OpenAI가 GPT-4 모델을 발표하면서 이 모델의 고급 추론 및 작업 해결 능력을 설명하는 논문을 함께 발표했을 때 고안된 개념입니다. 이 개념은 매우 간단했습니다. LLM이 반복해서 수행할 작업을 결정하고 그 결과를 프롬프트에 다시 피드백하는 방식이었습니다. 이를 통해 프로그램이 목표를 향해 반복적이고 점진적으로 작업할 수 있습니다.이 프로그램이 사용자를 대신하여 작업을 실행할 수 있다는 사실은 이 프로그램을 에이전트로 만듭니다. AutoGPT의 경우 사용자가 여전히 모든 작업을 승인해야 하지만 프로젝트가 진행됨에 따라 에이전트에 더 많은 자율성을 부여하고 일부 작업에 대해서만 동의를 요구할 수 있게 될 것입니다.AutoGPT는 제너럴리스트 에이전트이므로 특정 작업을 염두에 두고 설계되지 않았습니다. 대신 컴퓨터에서 수행할 수 있는 작업이라면 여러 분야에 걸쳐 광범위한 작업을 수행할 수 있도록 설계되었습니다.

AutoGPT with LangChain

이번 예제는 LangChain에서 AutoGPT Agent를 만들고 SerpAPI 웹 검색 Tool을 사용하여 월드컵 우승 국가를 자동으로 탐색하는 Autonomous-Agent를 실행해 보겠습니다.

https://github.com/Significant-Gravitas/Auto-GPT 의 구현이지만 LangChain 기본 요소(LLM, 프롬프트템플릿, 벡터스토어, 임베딩, 도구)를 사용합니다.

Setup Tools

검색 도구, 파일 쓰기 도구, 파일 읽기 도구가 있는 AutoGPT를 설정하겠습니다.

Setup Memory

Setup model and AutoGPT

Run Agent

Chat History Memory

Agent의 즉각적인 단계를 저장하는 메모리 외에도 채팅 기록 메모리도 있습니다.

기본적으로 Agemnt는 ChatMessageHistory를 사용하며 이를 변경할 수 있습니다.

이 메모리는 다른 유형의 메모리(예: FileChatHistoryMemory)를 사용하려는 경우에 유용합니다.

AutoGPT example: Worldcup Winner

  • AutoGPT: https://github.com/Significant-Gravitas/Auto-GPT

  • LangChain primitives (LLMs, PromptTemplates, VectorStores, Embeddings, Tools)

Setup Environments

Setup tools

검색 도구, 파일 쓰기 도구, 파일 읽기 도구, 웹 브라우징 도구, 파이썬 REPL을 통해 CSV 파일과 상호 작용하는 도구가 포함된 AutoGPT를 설정해 보겠습니다

Browse a web page with PlayWright

Q&A Over a webpage

모델이 웹 페이지에 대해 보다 직접적인 질문을 하여 메모리가 복잡해지지 않도록 도와줍니다.

Setup memory

여기서 메모리는 에이전트 중간 단계에 사용됩니다.

Model & AutoGPT

Model set-up

AutoGPT for Querying the Web

데이터 소스를 크롤링하고 데이터를 정리하는 데 많은 시간을 보냅니다.

DuckDuckGoSearch의 웹 서치를 통해 AutoGPT로 최근 월드컵 우승 기록을 조회하고 이를 표 형식으로 변환하는 프롬프트입니다.

최종 생성한 대답은 world_cup_winners.csv 파일에 저장됐습니다.

Last updated