Linux 터미널에서 ChatGPT를 설정하고 사용하는 방법

최근 NFT와 메타버스의 열기가 다소 식으면서, 인공지능(AI)이 기술 분야의 새로운 중심으로 떠오르고 있습니다. 특히 ChatGPT와 그와 유사한 AI 챗봇들은 인터넷 공간에서 활발히 사용되며, 사용자들의 일상적인 업무를 더욱 편리하게 만들어주고 있습니다. 이전에는 모든 브라우저에서 Bing AI를 활용하여 자신만의 ChatGPT 스타일 챗봇을 만드는 방법에 대한 안내를 제공했습니다. 그렇다면 리눅스(Linux) 사용자들은 이러한 AI 챗봇의 기능을 자신의 시스템에 어떻게 적용할 수 있을까요? 바로 여기서 ShellGPT가 등장합니다. ShellGPT는 ChatGPT의 강력한 기능을 리눅스 터미널로 직접 가져와, 사용자가 명령줄 환경을 보다 효율적으로 탐색할 수 있도록 지원합니다. 이 도구는 지능적인 답변과 제안을 제공하며, 필요한 명령과 코드를 생성하여 명령줄 작업을 간소화합니다. 이 글에서는 ShellGPT 명령줄 도구를 설치하고 리눅스 명령줄에서 ChatGPT와 비슷한 AI 챗봇을 사용하는 방법을 상세히 설명합니다.

리눅스 터미널에서 ChatGPT 실행(2023)

리눅스용 ShellGPT란 무엇인가?

이미지 제공: Farkhod Sadykov(Github)

Farkhod Sadykov를 비롯한 여러 개발자들의 협력으로 탄생한 ShellGPT는 사용자가 리눅스 터미널 환경에서 AI 챗봇과 직접 상호작용할 수 있도록 설계된 ChatGPT의 명령줄 인터페이스 버전입니다. 이 도구는 OpenAI의 대규모 언어 모델인 GPT를 기반으로 작동하며, 특히 OpenAI의 최신 GPT-4 모델에 대한 정보는 여기에서 확인할 수 있습니다. ShellGPT는 단순히 텍스트 입력을 기반으로 답변을 제공하는 것을 넘어, 지능적인 제안과 추천을 제공하고, 셸 명령어를 실행하는 기능까지 갖추고 있습니다. 또한 사용자 상호작용을 통해 지속적으로 학습하며, 시간이 지날수록 그 정확도가 향상됩니다. 명령줄 환경에 통합된 이 ChatGPT 도구를 통해 사용자는 복잡한 리눅스 터미널 명령어를 일일이 기억하거나 긴 명령어를 입력하는 번거로움 없이, 효율적으로 작업을 수행할 수 있습니다. 이는 오류 발생 가능성을 줄이고, 귀중한 시간을 절약하며, ChatGPT가 사소한 작업을 대신 처리해 줌으로써 전반적인 생산성을 향상시킵니다.

리눅스 CLI에 ChatGPT 설치를 위한 선행 조건

리눅스 시스템에 ShellGPT를 설치하기 전에 몇 가지 필요한 선행 조건들이 있습니다. 이 도구들은 복잡하지 않으며 몇 가지 간단한 명령을 통해 설치할 수 있습니다.

파이썬(Python) 설치

파이썬(Python)은 필수적인 도구이며, ShellGPT(ChatGPT의 명령줄 버전)를 포함한 많은 리눅스 도구와 라이브러리의 기반이 됩니다. 실제로 ChatGPT 자체도 파이썬을 비롯한 다양한 언어로 구축되었습니다. 일반적으로 최신 리눅스 배포판에는 파이썬이 이미 설치되어 제공됩니다. 따라서, 먼저 다음 명령을 사용하여 리눅스 PC에 설치된 파이썬의 버전을 확인해 보십시오.

python3 –version

위 명령을 실행했을 때 오류 메시지가 표시된다면, 파이썬이 설치되지 않았거나, 시스템에 더 이상 사용되지 않는 파이썬 2.7 버전이 설치되어 있다는 의미입니다. 이 경우 리눅스에 파이썬을 설치하는 방법에 대한 안내를 참고하십시오.

Pip 패키지 관리자 설치

Pip은 파이썬을 위한 크로스 플랫폼 패키지 관리자입니다. 이 도구는 ChatGPT를 리눅스 환경에서 사용할 수 있도록 하는 데 필요한 다양한 파이썬 패키지 및 라이브러리를 관리하는 데 필수적입니다. Pip을 사용하면 단일 명령으로 필요한 패키지를 설치, 업그레이드 및 삭제할 수 있습니다. 일반적으로 대부분의 리눅스 배포판에는 파이썬과 함께 Pip이 설치되어 있지만, 설치되어 있지 않다면 다음 명령을 사용하여 Pip을 설치할 수 있습니다.

sudo apt-get -y install python3-pip

설치가 완료되면, 다음 명령을 사용하여 리눅스에 설치된 Pip 버전을 확인할 수 있습니다.

pip3 –version

Venv 모듈 설치

이 모듈은 ShellGPT 또는 ChatGPT 사용에 필수적인 것은 아니지만, 다른 라이브러리와의 충돌을 방지하기 위해 리눅스 환경에서 격리된 가상 환경을 만들 때 권장됩니다. 라이브러리나 패키지를 설치하면 다른 라이브러리를 방해할 수 있는 여러 종속성이 함께 설치될 수 있습니다. 특정 프로젝트를 위한 가상 환경을 생성하려면 ‘venv’ 모듈이 필요하며, 이는 다음 명령을 사용하여 설치할 수 있습니다.

sudo apt install python3-venv

리눅스 터미널에서 ChatGPT를 사용하도록 ShellGPT 설정

ShellGPT를 리눅스 PC에 설치하는 과정을 이해하기 쉽도록 네 가지 섹션으로 나누어 설명하겠습니다. 환경 설정을 시작으로, OpenAI API 키를 획득하고, 터미널에 챗봇을 설치하는 단계까지 차근차근 진행해 보겠습니다.

환경 설정

이제 필요한 종속성들을 모두 설치했으니, 다음 단계를 따라 리눅스 터미널에서 ChatGPT에 접근할 수 있는 환경을 설정해 보겠습니다.

1. 먼저, 앱 메뉴에서 터미널을 실행하거나 “Ctrl + Alt + T” 키보드 단축키를 사용하여 터미널을 엽니다.

2. 다음으로, 아래 명령어를 사용하여 새로운 디렉토리를 생성하고 작업에 필요한 파일들을 정리합니다.

mkdir <디렉토리_이름>

예를 들어, 아래 명령어를 사용하여 “commandline-chatgpt”라는 이름의 새 디렉토리를 만들었습니다.

mkdir commandline-chatgpt

3. 그런 다음, “디렉토리 변경” 명령어를 사용하여 방금 생성한 새 디렉토리로 이동합니다.

cd <새_디렉토리_이름>

아래 예시에서는, commandline-chatgpt 디렉토리로 이동하여 리눅스 터미널에서 ChatGPT를 사용하기 위한 환경을 구성합니다.

cd commandline-chatgpt

4. 이제 아래 명령어를 사용하여 venv 모듈을 이용해 가상 환경을 생성합니다. 가상 환경의 이름은 “chatgpt_cli”로 설정했습니다.

python3 -m venv <가상_환경_이름>

예: python3 -m venv chatgpt_cli

5. 방금 생성한 가상 환경은 기본적으로 비활성화되어 있습니다. 가상 환경을 활성화하려면 다음 명령어를 사용하십시오.

source <가상_환경_이름>/bin/activate

위 명령을 실행하면, 셸 프롬프트가 다음과 같이 괄호 안에 가상 환경 이름과 함께 표시됩니다.

(<가상_환경_이름>)<사용자이름>@<시스템이름>

아래 이미지에서 볼 수 있듯이, 기본적인 리눅스 셸 프롬프트가 (chatgpt_cli)로 변경된 것을 확인할 수 있습니다. [email protected] 위 명령어를 실행했을 때의 결과입니다.

OpenAI API 키 획득

리눅스 환경에서 ChatGPT 서비스를 사용하려면 OpenAI API 키가 필요합니다. 현재 OpenAI는 평가판 사용자를 위해 5달러 상당의 크레딧을 제공하고 있습니다. 이 크레딧을 모두 사용하면 API 접근 비용을 지불해야 합니다. 다음은 이 명령줄 ChatGPT 챗봇을 위한 OpenAI API 키를 획득하는 방법입니다.

1. OpenAI 웹사이트(방문하기)에 접속하여 새로운 OpenAI 계정을 생성합니다. 이미 계정이 있다면, 로그인 후 다음 단계로 진행하십시오.

2. 다음으로, 오른쪽 상단 모서리에 있는 프로필 이미지를 클릭하고 드롭다운 메뉴에서 “API 키 보기”를 선택합니다.

3. 이곳에서 이전에 생성된 API 키 목록을 확인할 수 있습니다. 새로운 API 키를 생성하려면, “Create new secret key” 버튼을 클릭하십시오.

4. API 키가 포함된 새로운 팝업 상자가 나타납니다. 이 API 키는 누구와도 공유하거나 공개적으로 노출해서는 안 됩니다. API 키는 한 번만 확인할 수 있으므로, 안전한 파일이나 위치에 복사해두십시오. “확인”을 클릭하면, API 키를 다시 복사할 수 없습니다.

5. 이제 다음 명령어를 사용하여, 이 API 키에 대한 환경 변수를 생성합니다. 리눅스에서는 “export” 명령어를 사용하여 환경 변수를 설정할 수 있습니다. <OpenAI_API_key_here> 부분을 실제 생성한 API 키로 바꿔주십시오.

export OPENAI_API_KEY=<OpenAI_API_key_here>

6. env 명령어를 사용하여 환경 변수 목록을 확인하여, 설정한 환경 변수가 제대로 적용되었는지 확인합니다.

env

7. 이 변수는 현재 세션 동안에만 임시로 저장됩니다. API 키를 영구적으로 저장하려면, 선호하는 텍스트 편집기를 사용하여 .bashrc 파일을 열고, 파일 끝부분에 환경 변수를 추가합니다.

export OPENAI_API_KEY=<OpenAI_API_key_here>

8. 파일을 저장하고 텍스트 편집기를 종료합니다. 그런 다음, 변경 사항을 적용하려면 다음 명령어를 실행합니다.

source .bashrc

9. 마지막으로, env 명령어를 사용하여 변경 사항을 확인합니다.

env

ChatGPT를 사용하기 위해 ShellGPT 설치

환경 설정을 완료했으므로, 이제 리눅스에서 ChatGPT의 명령줄 버전을 설치할 수 있습니다. 아래 명령어를 사용하여 PC에 ShellGPT를 설치하십시오.

pip3 install shell-gpt –user

ShellGPT: 구문 및 옵션

ShellGPT 설치를 완료했으므로, 이제 다양한 작업에 활용할 수 있게 되었습니다. 사용하기 전에, 출력 형식을 조정하는 데 사용될 수 있는 몇 가지 구문과 옵션을 살펴보겠습니다. 간단한 구문 덕분에 ShellGPT는 다양한 작업에 쉽게 적용될 수 있습니다.

sgpt <옵션> <입력 쿼리>

ShellGPT(sgpt) 챗봇과 함께 사용할 수 있는 주요 옵션은 다음과 같습니다.

옵션 설명
–temperature 출력의 무작위성 정도를 변경
–top 가장 가능성이 높은 토큰 또는 단어만으로 출력 제한
–chat 고유한 이름으로 대화를 진행할 때 사용
–shell 셸 명령어를 출력으로 생성
–execute –shell 옵션으로 생성된 명령을 직접 실행
–code 코드를 출력으로 생성

리눅스 터미널에서 ChatGPT를 사용하는 방법 (예시)

1. 쿼리에 ShellGPT 사용

ShellGPT를 모든 종류의 쿼리에 대한 검색 엔진으로 활용할 수 있습니다. AI 챗봇이기 때문에, 일반적인 검색 엔진처럼 순위가 매겨진 웹 페이지 목록 대신, 인간과 더 유사한 답변 형식으로 결과를 얻을 수 있습니다. ShellGPT를 사용하여 질문에 대한 답변을 얻는 구문은 다음과 같습니다.

sgpt “<질문>”

예를 들어, 태양의 질량을 알고 싶다면, 다음 명령어를 사용합니다.

sgpt “태양의 질량”

ShellGPT가 응답을 가져오는 동안 터미널에 흥미로운 애니메이션이 표시됩니다. 얻게 된 응답은 다음과 같습니다. 모델 학습 방식에 따라 유사한 응답을 얻을 수 있습니다.

태양의 질량은 약 1.989 x 10^30kg입니다.

2. ChatGPT 챗봇 모드

ChatGPT를 대화형으로 사용해 본 적이 있다면, 그 응답이 마치 사람과 대화하는 것 같다는 느낌을 받았을 것입니다. 이제 ShellGPT를 통해 리눅스 터미널에서 ChatGPT를 직접 활용할 수 있습니다. –chat 옵션과 함께 고유한 세션 이름과 프롬프트를 지정하기만 하면 됩니다.

sgpt –chat <고유한_채팅_세션_이름> <입력_프롬프트>

예를 들어, ChatGPT에게 농담을 해달라고 요청하려면, 다음 명령어를 사용합니다.

sgpt –chat joke “농담 좀 해줄래?”

위 명령어를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

Sure, here's one:

Why couldn't the bicycle stand up by itself?

Because it was two-tired!

3. 코드 생성

CLI 기반 ChatGPT 도구를 사용하여 코딩 문제를 해결하거나, 코드 스니펫을 생성할 수도 있습니다. –code 플래그와 함께 프롬프트를 입력하여 코드 생성을 요청할 수 있습니다.

sgpt –code “<입력_프롬프트>”

예를 들어, 파이썬을 사용하여 고전적인 Fizz Buzz 문제를 해결하고 싶다면, 다음 프롬프트를 사용합니다.

sgpt –code “파이썬을 사용하여 고전적인 fizz 버즈 문제 해결”

ChatGPT는 신속하게 결과를 제공하며, 이 코드를 코드 편집기에 붙여넣어 테스트할 수 있습니다.

for i in range(1, 101):
    if i % 3 == 0 and i % 5 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

4. 셸 명령어 생성

터미널은 복잡한 명령을 실행하고 작업을 자동화하는 강력한 도구이지만, 초보 사용자가 다양한 터미널 명령어와 옵션을 기억하기 어려울 수 있습니다. 리눅스 명령. 명령줄에서 ChatGPT를 사용하면 리눅스 명령 구문을 얻는 것뿐만 아니라, 필요한 매개변수와 옵션이 포함된 정확한 명령을 얻을 수 있습니다. –shell 플래그를 다음과 같이 사용하십시오.

sgpt –shell “<입력_프롬프트>”

예를 들어, 현재 디렉토리의 모든 파일에 대해 읽기 전용 권한을 설정해야 하는 경우, 다음 명령어를 사용합니다.

sgpt –shell “현재 디렉토리의 모든 파일을 읽기 전용으로 설정”

예상대로 ChatGPT는 다음 명령어를 출력으로 전달합니다.

chmod -R a-w .

또한, –execute 플래그를 함께 사용하면 생성된 셸 명령어를 즉시 실행할 수도 있습니다. 위 예시에서 구문은 다음과 같습니다.

sgpt –shell –execute “현재 디렉토리의 모든 파일을 읽기 전용으로 설정”

다음과 같은 결과가 표시됩니다.

chmod -R a-w .
Execute shell command? [y/N]: y

리눅스 명령줄에서 ChatGPT 사용

ShellGPT는 ChatGPT의 기능을 리눅스 터미널에 직접 통합하여, 초보자와 숙련된 사용자 모두에게 명령줄 작업을 간소화할 뿐만 아니라, 추가적인 기능도 제공합니다. 위에서 언급했듯이, 사용자로부터 학습하도록 설계되었기 때문에 시간이 지남에 따라 더욱 유용해질 것입니다. 그러나 어떤 종류의 AI 모델과도 민감한 정보나 데이터, 특히 회사의 독점 코드는 공유하지 않아야 합니다. 이 AI 명령줄 도구에 대한 여러분의 생각과 경험을 아래 의견을 통해 공유해 주십시오.