Auto-GPT Quick 설정 가이드

daewoo kim
13 min readMay 15, 2023

--

Auto-GPT는 Autonomous AI Agent로 기본적으로 인간의 개입이 필요없이 다양한 도메인에 대해 광범위한 작업을 수행하도록 설계된 AI 시스템이다.

Auto-GPT는 OpenAI의 GPT-3 또는 GPT-4 모델을 사용하며, 사용자가 원하는 task를 지정하면 Auto-GPT는 role, goals 등을 스스로 정의한 후 task 수행을 위해 Next Action을 수립하는 것을 반복 실행하여 task에 대한 결과를 사용자에게 제공한다.

Auto-GPT는 릴리즈 2달여만에 무려 131K의 github star를 받았으며 github top-100 랭킹에서 27위를 기록할 만큼 큰 인기를 얻고 있다. (2023/5/15 기준)

source: auto-gpt github

현재 Auto-GPT이 제공하는 기능은 다음과 같다. (v0.3.0)

  • 🌐검색 및 정보 수집을 위한 인터넷 접근
  • 💾장기 및 단기 메모리 관리
  • 🧠텍스트 생성을 위한 GPT-4 인스턴스
  • 🔗인기 있는 웹사이트 및 플랫폼에 접근
  • 🗃️GPT-3.5를 사용한 파일 저장 및 요약
  • 🔌플러그인을 통한 확장성

백문이 불여일견! Auto-GPT를 설치하고 실행해보기로 하자.

Auto-GPT 셋업하기

1단계 : python & git 준비

Auto-GPT를 시작하려면 기본적으로 python과 git이 설치되어 있어야 한다.

  • python: 3.10 버전 이상을 권장
  • git: Auto-GPT를 다운로드할 때 필요함

Note: 필자는 python과 git을 개별적으로 설치하는 것이 불편하여 Anaconda 환경에서 설치된 python과 git을 사용하였으며 conda 명령으로 가상 env을 만들어서 작업하였다.

$ conda create -n autogpt python=3.10
$ conda activate autogpt

2단계: OpenAI API key 및 Billing 설정

Auto-GPT를 사용하려면 OpenAI API Key와 유료 계정 설정이 필요하다.

#1. OpenAI API 계정

아직 OpenAI 계정이 없는 경우, 먼저 OpenAI 웹사이트에서 계정을 생성해야 한다. 필자는 Google 계정으로 OpenAI 계정을 만들었다.

OpenAI 계정 만들기 (captured by author)

#2. OpenAI API Key 생성

OpenAI 계정을 생성하였다면 OpenAI API key를 생성해야 한다. OpenAPI의 API key를 설정하기 위해선 아래와 같이 1) 우측 상단의 개인 계정 프로필> View API keys를 클릭하거나 2) api-keys 링크를 통해 바로 접근할 수 있다.

openai 개인 계정 프로필 (capatured by author)

API keys 페이지에서 “Create new secret key”를 선택하여 Open API key를 생성한다.

OpenAI API key 생성 (captured by author)

아래 Create new secret key 창에서 secret key 이름을 지정한 후 secret key를 생성한다.

OpenAI의 secret key 생성하기 (captured by author)

Note: 생성된 Secret Key는 API keys 페이지에서 다시 확인할 수 없으니 꼭 안전한 장소에 Secret Key를 복사하여 보관해야 한다!!!

#3. Billing 방법 설정

Auto-GPT 셋업 가이드에 따르면, Auto-GPT를 이상없이 원활하게 사용하기 위해 OpenAI이 제공하는 무료 계정 대신 유료 계정으로 전환할 것을 강력하게 권장하고 있다. 왜냐하면 무료 계정은 3 API calls/min 제한이 걸려 있기 때문에 Auto-GPT 실행 시 crash의 원인이 된다고 한다.

아래 Billing 페이지에서 “Set up paid account”을 클릭하여 신용카드 정보 및 주소지를 입력하면 유료 계정을 활성화할 수 있다.

(source: auto-gpt)

Note: 유료 계정을 활성화시켜면 OpenAI에서 “OpenAI API- Your New Paid Plan” 이메일이 발송됨과 함께 등록한 신용카드에서 $5가 일시적으로 결제되었다. 단순히 신용카드 유효성 확인을 위해 결제되었다가 나중에 취소가 될지, 가입비인지 아직 모르겠다.

captured by author

# 4. Billing에서 사용제한

만일 API 사용량 과다로 사용료 폭탄이 걱정이 된다면 Usage limits 페이지에서 지출 한도를 설정할 수 있다. (아무래도 Auto-GPT가 자동으로 동작하다 보니 API 사용량을 인지하기 어렵기 때문에 설정하는 것이 좋을 것같다.)

Usage limits 설정하기 (captured by author)

API 사용량 제한은 다음과 같이 2가지 항목을 설정할 수 있다. OpenAI는 월간 최대 사용량을 $120 이내로 제한하고 있다.

  • Hard limit 항목: 사용자가 월간 최대 사용량 제한을 지정할 수 있다.
  • Soft limit 항목: 일정 사용량이 지나면 알림 메일을 수신할 수 있도록 사용량 threshold양을 지정할 수 있다.

Note: 필자는 Hard limit: $20, Soft limit: $10로 설정하였다.

OpenAI 사용량 제한 설정하기 (captured by author)

이제 Auto-GPT 사용을 위한 OpenAI 계정 설정이 끝났다.

3단계: AutoGPT 다운로드

Auto-GPT는 docker 기반 또는 docker 없이 실행할 수 있다. 필자는 docker가 필요하지 않는 방법을 사용할 예정이다. Docker를 이용하는 방법은 링크를 확인하도록 하자.

#1. Auto-GPT 리포지토리 복제

git clone 명령을 이용하여 Auto-GPT 리포지토리를 복제한다.

$ git clone https://github.com/Significant-Gravitas/Auto-GPT.git

#2. Auto-GPT의 stable 버전으로 바꾸기

Auto-GPT는 master 브랜치를 그대로 사용하지 말고 최신 stable 버전을 사용할 것을 가이드하고 있다. 최신 stable 버전은 lateset releases 링크를 참고하여 zip 또는 tar.gz를 직접 다운로드하거나, 위에서 clone한 repository에서 최신 tag로 checkout하여 해당 stable 버전을 사용하자. (필자가 이 글을 쓰는 시점에 v0.3.0이 최신 stable이었다.)

$ cd Auto-GPT

$ git tag -l
v0.1.0
v0.1.1
v0.1.2
v0.1.3
v0.2.0
v0.2.1
v0.2.2
v0.3.0

$ git checkout tags/v0.3.0
Note: switching to 'tags/v0.3.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

git switch -c <new-branch-name>

Or undo this operation with:

git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD의 현재 위치는 d8f5cdb Release v0.3.0 (#3683)

(autogpt) kimdaewoo@gimdaeuui-MacBookAir Auto-GPT % git branch
* (HEAD v0.3.0 위치에서 분리됨)
master

#3. OpenAI API key 설정하기

OpenAI의 API를 사용하기 위해선 .env에 앞에서 생성한 OpenAI API key를 추가해야 한다. Auto-GPT 디렉토리에 있는 .env.template 파일을 .env로 이름을 변경한 후 OPEN_API_KEY 변수에 앞에서 생성했던 OpenAPI key를 추가하도록 한다. (필자는 .env.template 파일을 그대로 copy & paste한 후, .env로 파일의 이름을 바꾸었다.)

#4. Auto-GPT 실행하기

Auto-GPT를 사용하기 전에 ./run.sh — help를 이용하여 모든 옵션을 확인할 수 있다. Auto-GPT 실행 시 주요 옵션은 다음과 같다.

  • — gpt3only: 텍스트 생성에 gpt-3 버전을 사용
  • — gpt4only: 텍스트 생성에 gpt-4 버전을 사용
  • -c: 프롬프트가 끝날 때마다 권한을 요청하지 않고 자동으로 실행함.

Note: run.sh을 실행시키면 자동으로 필요한 패키지를 설치하기 시작한다.


$ ./run.sh --help
....

Usage: python -m autogpt [OPTIONS] COMMAND [ARGS]...

Welcome to AutoGPT an experimental open-source application showcasing the
capabilities of the GPT-4 pushing the boundaries of AI.

Start an Auto-GPT assistant.

Options:
-c, --continuous Enable Continuous Mode
-y, --skip-reprompt Skips the re-prompting messages at the
beginning of the script
-C, --ai-settings TEXT Specifies which ai_settings.yaml file to
use, will also automatically skip the re-
prompt.
-l, --continuous-limit INTEGER Defines the number of times to run in
continuous mode
--speak Enable Speak Mode
--debug Enable Debug Mode
--gpt3only Enable GPT3.5 Only Mode
--gpt4only Enable GPT4 Only Mode
-m, --use-memory TEXT Defines which Memory backend to use
-b, --browser-name TEXT Specifies which web-browser to use when
using selenium to scrape the web.
--allow-downloads Dangerous: Allows Auto-GPT to download files
natively.
--skip-news Specifies whether to suppress the output of
latest news on startup.
--install-plugin-deps Installs external dependencies for 3rd party
plugins.
--help Show this message and exit.

우선 다른 옵션없이 default 옵션으로 실행시키도록 하자.

Auto-GPT 초기 실행 화면 (captured by author)

Auto-GPT 사용하기

Auto-GPT를 실행하면 새로운 AI agent가 생성되면서 “I want Auto-GPT to” 프롬프트가 나타나고 사용자가 AI agent가 실행하길 원하는 task를 입력할 수 있다. 사용자가 Auto-GPT가 실행할 task를 입력하면 Auto-GPT는 사용자가 입력한 task를 이해하고 아래 3가지 항목을 자동으로 정의하고 “Next Action”을 실행할 것인지 사용자에게 질문한다.

  • #1: Name
  • #2: Role
  • #3: Goals (5개)

사용자가 “Next Action”에 동의하면 ‘y’를 입력하고, 사용자 피드백을 입력한다. (‘s’는 self-feedback 모드로 AI agent가 자신의 task를 확인하고 자신이 정의한 Goals과 일치하는지 확인하여 자체 피드백을 제공한다. 하지만 token 사용량이 많아 비용이 많이 들어간다고 한다.)

captured by author

‘y’을 입력하면 Next Action의 Command인 google 검색을 수행한다. AI agent는 검색 결과를 이용하여 THOUGHTS -> REASONING -> PLAN -> CRITICISM 순으로 task를 자동으로 수행한 후 “Next Action”을 지정한다.

captured by author

위와 같이 Auto-GPT는 사용자의 feedback이나 self-feedback을 활용하여 사용자가 정의한 task을 자동으로 실행한다.

사용 후기

아직 많은 task를 수행하지 못하였으나 UI만 개선된다면 ChatGPT만큼 센세이션을 일으킬 것 같다. 좀더 사용한 후에 체계적인 후기를 남길 예정이다.

--

--

daewoo kim

AI developer & Author | Working@semiconductor-industry. I write and share about what I learn.