Auto GPT 설명: 당신만의 고유한 사용 사례를 위한 종합 Auto-GPT 가이드
이 글은 원래 The Sequence에 게시되었으며, 허가를 받아 여기에 다시 게시되었습니다.
2022년 12월, GPT로 구동되는 챗봇 인터페이스인 ChatGPT는 대규모 언어 모델(LLM)을 주류 미디어에 소개했습니다. 그 이후로 수많은 GPT 앱이 등장했습니다. 가장 인기 있는 것 중 하나는? Auto-GPT입니다. GPT를 완전히 자율적으로 만드는 것을 목표로 하는 오픈 소스 GPT 기반 앱입니다. 불과 몇 주 만에 GitHub에서 12만 개 이상의 스타를 모으며 PyTorch, Scikit-Learn, HuggingFace Transformers, 그리고 여러분이 떠올릴 수 있는 다른 어떤 오픈 소스 AI/ML 라이브러리보다도 앞섰습니다.
Auto-GPT가 이렇게 인기 있는 프로젝트가 된 이유는 무엇일까요? 첫째, 자율 GPT라는 스스로 내세운 비전을 실현할 가능성을 보여줍니다. Auto-GPT에는 웹 검색, 말하기, 대화 추적 등을 수행하는 “에이전트”가 내장되어 있습니다. 사람들은 이를 피자 주문, 앱 코딩, 굿즈 판매에 사용해 왔습니다. 이제 여러분이 Auto-GPT를 활용하여 워크플로를 강화하고 단조로운 작업을 자동화하는 방법을 배울 차례입니다.
이 Auto GPT 튜토리얼에서 배우게 될 내용:
- Auto-GPT란 무엇인가요?
- 몇 분 만에 Auto GPT 설정하는 방법
- Auto-GPT용
.env구성
- Auto-GPT용
- Auto-GPT로 첫 작업 실행하기
- Auto-GPT에 메모리 추가하기
- Milvus Standalone 사용(Docker Compose)
- Milvus Lite 사용(Pip Install)
- "Auto-GPT Explained" 요약
Auto-GPT란 무엇인가요?
최근 AI가 뜨겁습니다. ChatGPT는 2023년 2월 기준 월간 방문자 수 10억 명 이상을 달성하며 역대 가장 빠르게 성장한 앱으로 알려졌습니다. LLM은 인공 일반 지능(AGI)의 도래, 소프트웨어의 미래, 그리고 인류를 계몽 또는 파멸로 이끌 기술적 돌파구로 칭송받아 왔습니다. 그러나 LLM에는 한 가지 눈에 띄는 결함이 있습니다. 스스로 행동할 수 없다는 점입니다. 작업에서 작업으로 넘어갈 때마다 누군가가 반복적으로 프롬프트를 입력해 주어야 합니다.
Auto-GPT는 이 문제를 해결하고자 합니다. Auto-GPT는 GPT-4가 자율적으로 기능하도록 하는 것을 목표로 하는 오픈 소스 소프트웨어입니다. 어떻게 이러한 자율성을 제공할까요? 에이전트를 사용함으로써입니다. Auto-GPT는 사용자가 인터넷 탐색, 텍스트 음성 변환 도구를 통한 말하기, 코드 작성, 입력과 출력 추적 등의 작업을 수행하는 에이전트를 실행할 수 있게 해줍니다.
이 확장된 기능은 과장된 기대감과 미디어의 종말론적 서사를 부추깁니다. 하지만 AI를 두려워할 필요는 없습니다. AI를 자신의 이익을 위해 활용하는 방법을 이해하기만 한다면, 여러분의 AI 서사는 긍정적이고 생산적일 수 있습니다. 그러니 이제 몇 분 만에 로컬 머신에서 Auto GPT를 실행하는 방법을 살펴보겠습니다.
몇 분 만에 Auto-GPT 설정하는 방법
auto-GPT 구성 방법
Auto-GPT는 놀라울 정도로 설정이 쉽습니다. 먼저 Auto-GPT GitHub 페이지로 이동하여 clone 링크를 복사하세요. 그런 다음 터미널이나 VSCode 인스턴스를 열고 작업 디렉터리로 이동하세요. 제 경우에는 ~/Documents/workspace입니다. git clone [git@github.com](mailto:git@github.com):Significant-Gravitas/Auto-GPT.git를 사용하여 repo를 로컬에 clone하세요. 다음으로, 새로 생성된 폴더로 이동하세요.
새로 생성된 폴더에서 깨끗한 상태로 시작할 수 있도록 새 Python 가상 환경을 만드세요. 가상 환경에 들어간 후에는 pip install -r requirements.txt를 실행하여 모든 종속성을 설치하세요. 이제 Auto-GPT가 설치되었습니다. 인스턴스를 실행하기 위해 마지막으로 해야 할 일은 OpenAI API 키를 환경 변수에 넣는 것입니다.
Auto-GPT용 .env 구성하기
configure-env.png
Auto-GPT의 루트 디렉터리에는 .env.template이라는 파일이 있습니다. 이 파일 이름을 단순히 .env로 변경해야 합니다. 그런 다음 이 파일을 사용하여 Auto-GPT에 자율 기능을 제공하는 외부 도구와 연결하는 데 필요한 모든 정보를 저장할 수 있습니다. Auto-GPT를 실행하기 전에 반드시 해야 할 변경 사항이 하나 있습니다. OPENAI_API_KEY 값을 우리의 OpenAI API 키로 변경해야 합니다.
Auto-GPT로 첫 작업 실행하기
run-task-auto-gpt.png
OpenAI API 키를 업데이트하면 Auto-GPT를 사용하여 일부 작업을 자동화할 수 있습니다. 이 예시에서는 지난달 AI 분야에서 가장 영향력 있었던 발전에 관한 뉴스레터 작성을 자동화합니다. 터미널에서 python -m autogpt를 실행하여 시작하세요. Auto-GPT를 시작하면 이름을 지정하고, 역할을 정의하고, 몇 가지 목표를 제시하라는 메시지가 표시됩니다.
run-first-task-auto-gpt.png
이 예시에서는 AI의 이름을 “Newsletter-Generator”로 지정합니다. 다음 프롬프트에서는 Newsletter-Generator가 AI 발전에 대해 자율적으로 조사하고 뉴스레터를 작성하도록 설계된 AI라고 알려줍니다. 다음으로 Auto-GPT는 AI에 최대 다섯 가지 목표를 제시하라고 요청합니다.
저는 Newsletter-Generator에 세 가지 목표를 부여했습니다. 첫째, 지난달 가장 영향력 있었던 AI 발전을 조사하고 찾아내는 것입니다. 둘째, 지난달 가장 영향력 있었던 AI 발전에 관한 기사들을 수집하고 요약하는 것입니다. 셋째, 수행된 조사에 관한 뉴스레터를 작성하는 것입니다. 설정이 완료되면 Auto-GPT는 이 구성을 저장하기 위해 ai_settings.yaml이라는 파일을 생성하고 작업을 시작합니다.
각 작업에 대해 생각, 추론, 계획, 계획에 대한 비판, 다음 단계를 제공합니다. 작업을 실행하기 전에 계획에 대한 승인이나 피드백을 요청합니다. 원한다면 승인 요청 없이 다음 N개의 작업을 자율적으로 수행하도록 허용할 수 있습니다.
auto-gpt-ability.png
위 이미지에서는 Auto-GPT가 Google에서 찾은 첫 번째 기사가 실제로 작업을 완료하는 데 필요한 정보를 포함하고 있지 않다는 것을 식별하는 능력을 볼 수 있습니다. 이를 우리에게 반환한 다음, 지난달의 영향력 있는 AI 발전을 얻기 위한 다음 단계를 마련합니다.
Auto-GPT에 메모리 추가하기
adding-memory-auto-gpt.png
Auto-GPT의 기본 “local” 저장 옵션을 사용할 때 Auto-GPT는 위 이미지와 비슷한 auto-gpt.json이라는 문서를 생성합니다. 여기에는 텍스트 블록 뒤에 많은 숫자가 포함되어 있습니다. 텍스트 블록은 Auto-GPT와의 현재 대화를 추적하고, 숫자는 해당 대화를 나타내는 벡터 임베딩입니다.
메모리에 JSON 파일을 사용하는 것은 확장 가능한 솔루션이 아닙니다. Auto-GPT를 더 많이 사용할수록 더 많은 데이터가 생성됩니다. 지금까지의 대화 메모리 형태뿐만 아니라 작성할 파일과 추가 “agents”도 생성됩니다. JSON으로 이 정보를 추적할 수는 있지만, 만든 것 중 무엇이든 검색, 가져오기 또는 편집하고 싶다면 영구 저장소 백엔드가 필요합니다.
다행히도 Auto-GPT는 다양한 메모리 백엔드를 사용할 수 있습니다. 벡터 데이터를 저장하고 있으므로 Milvus와 같은 벡터 데이터베이스가 이상적인 솔루션입니다. Milvus는 Kubernetes 또는 Docker에서 실행되는 분산 솔루션과 로컬 인스턴스를 실행하는 방법을 포함한 여러 솔루션을 갖춘 오픈 소스 벡터 데이터베이스입니다. 이 예제에서는 Milvus를 백엔드로 사용하는 두 가지 방법을 다룹니다.
먼저, 로컬에서 실행할 수 있는 Docker Compose를 사용하는 분산 솔루션인 Milvus Standalone을 사용하는 방법을 다룹니다. 둘째, Python 코드에서 벡터 데이터베이스를 인스턴스화하고 사용하기 위해 Milvus Lite를 사용하는 방법을 다룹니다. 첫 번째 솔루션은 Auto-GPT 코드에서 몇 가지 변경만 필요하지만, Docker Compose를 통해 Milvus를 다운로드해야 합니다. 두 번째 솔루션은 기존 패키지에서 조금 더 많은 변경이 필요하지만, pip install만으로 Milvus를 사용할 수 있습니다.
Milvus Standalone 사용하기(Docker Compose)
Milvus Standalone을 메모리 솔루션으로 사용하면 Auto-GPT 코드 변경은 더 적게 필요하지만 Docker가 필요합니다. Milvus Standalone 지침을 따라 로컬 Docker 컨테이너에서 인스턴스를 실행하세요.
Milvus 인스턴스가 실행되면, Auto-GPT가 장기 저장소로 Milvus 인스턴스를 사용하도록 하기 위해 몇 가지 변경만 하면 됩니다. .env 파일에서 MEMORY_BACKEND를 찾아 local에서 milvus로 변경합니다. 그런 다음 MILVUS를 찾습니다. MILVUS 아래에는 MILVUS_ADDR와 MILVUS_COLLECTION이라는 두 개의 환경 변수가 있습니다. 주석을 해제하세요. 기본값은 그대로 두어도 됩니다.
Milvus SDK를 받으려면 pip install pymilvus를 실행하세요. 그런 다음 python -m autogpt를 사용해 Auto-GPT를 다시 시작합니다. 이번에는 변화가 보일 것입니다. 터미널에 Using memory of type: MilvusMemory 메시지가 표시되어야 합니다. Auto-GPT에 Milvus를 추가하는 데 필요한 것은 이것뿐입니다.
add-milvus-auto-gpt.png
Milvus Lite 사용하기(Pip Install)
참고: 이 변경 사항을 Auto-GPT에 반영하기 위한 pull request가 열려 있습니다.
Milvus Standalone과 달리 Milvus Lite는 추가 의존성이 없습니다. pip install milvus pymilvus를 실행하여 pip으로 Milvus Lite와 Milvus Python SDK를 설치합니다. Auto-GPT를 시작하기 전에 외부에서 Milvus를 부팅하지 않을 것이므로, Auto-GPT가 설정되는 동안 함께 부팅되도록 해야 합니다.
이를 위해 .env, autogpt/memory/milvus.py, autogpt/config/config.py 세 파일을 변경합니다. Milvus Standalone 인스턴스에서 했던 것과 동일한 변경부터 시작합니다. MEMORY_BACKEND 변수를 milvus로 변경하고 MILVUS_ADDR 및 MILVUS_COLLECTION 변수의 주석을 해제합니다. .env 파일의 Milvus 섹션 아래에 MILVUS_TYPE이라는 새 환경 변수를 추가하고 값을 lite로 설정합니다.
milvus-type.png
autogpt 폴더 아래에는 변경할 파일이 두 개 있습니다. config 폴더 아래의 config.py 파일에서 milvus_type 값이 환경 변수에서 MILVUS_TYPE을 가져오도록 설정합니다.
# milvus type can be standalone, lite, or cloud
self.milvus_type = os.getenv("MILVUS_TYPE")
memory 폴더 아래의 milvus.py 파일에서는 config에서 milvus_type 값을 확인하는 if 문을 추가합니다. 값이 lite이면 Milvus를 import하고, 서버를 시작한 다음 기본 Milvus Lite 서버에 연결합니다. 원래 코드 줄은 else 문 안으로 옮깁니다.
if cfg.milvus_type == "lite":
from milvus import default_server
print("Starting Milvus Lite")
default_server.start()
connections.connect(host='127.0.0.1', port=default_server.listen_port)
else:
connections.connect(address=cfg.milvus_addr)
이러한 변경을 완료하면 Auto-GPT를 평소처럼 실행할 수 있습니다. python -m autogpt를 실행하면 시작 출력이 약간 다른 Auto-GPT 인스턴스가 시작됩니다. 터미널에는 “Starting Milvus Lite”라고 표시된 줄과 Milvus Lite 출력 텍스트가 표시되어야 합니다. 여전히 “Using memory of type: MilvusMemory”가 표시되어야 합니다.
milvus-memory.png
"Auto GPT 설명" 요약
이 글에서는 Auto-GPT의 기본 사항을 살펴보았습니다. 먼저 GitHub에서 Auto-GPT를 다운로드하고 인스턴스를 실행했습니다. 실행한 후에는 Auto-GPT가 생성한 파일들을 살펴보았습니다. Auto-GPT의 파일들을 살펴본 결과, 로컬에서 메모리를 추적하기 위해 벡터로 가득 찬 JSON 파일을 사용한다는 것을 알게 되었습니다.
JSON 파일은 확장성이 없습니다. 더 견고한 메모리 백엔드를 위해 Auto-GPT에 통합된 다른 메모리 옵션 중 하나인 Milvus 벡터 데이터베이스를 사용합니다. Milvus 백엔드를 추가하는 방법을 두 가지로 보여드립니다. 독립형 Docker 컨테이너 세트로 추가하는 방법과 Auto-GPT가 구동하는 인스턴스로 추가하는 방법입니다. LLM과 함께 사용하는 벡터 데이터베이스에 대한 더 많은 게시물을 기대해 주세요.
계속 읽기

Why Teams Are Migrating from Weaviate to Zilliz Cloud — and How to Do It Seamlessly
Explore how Milvus scales for large datasets and complex queries with advanced features, and discover how to migrate from Weaviate to Zilliz Cloud.

Smarter Autoscaling in Zilliz Cloud: Always Optimized for Every Workload
With the latest upgrade, Zilliz Cloud introduces smarter autoscaling—a fully automated, more streamlined, elastic resource management system.

8 Latest RAG Advancements Every Developer Should Know
Explore eight advanced RAG variants that can solve real problems you might be facing: slow retrieval, poor context understanding, multimodal data handling, and resource optimization.



