DeveloperGPT: 자연어 명령어를 터미널 명령어 및 인-터미널 채팅으로 변환하는 LLM 기반 도구
요약
DeveloperGPT는 자연어 명령어를 터미널 명령어 및 채팅으로 변환해주는 LLM 기반 CLI 도구입니다. Google Gemini, OpenAI, Anthropic 및 다양한 오픈 소스 모델을 지원하며, 로컬 환경에서의 오프라인 실행도 가능합니다.
핵심 포인트
- 자연어를 터미널 명령어로 즉시 변환하는 CLI 도구
- Gemini, GPT, Claude 등 다양한 LLM 모델 선택 가능
- Mistral 양자화 모델을 통한 로컬/오프라인 실행 지원
- 속도 최적화를 위한 --fast 모드 제공
DeveloperGPT는 자연어(natural language)를 터미널 명령어와 인-터미널 채팅으로 변환할 수 있게 해주는 LLM 기반 커맨드 라인 도구입니다. 기본적으로 Google Gemini 1.5 Flash를 사용하지만, Google Gemini 1.0 Pro, OpenAI GPT-3.5 & GPT-4, Anthropic Claude 3 Haiku & Sonnet, Hugging Face에 호스팅된 오픈 LLM(Zephyr, Gemma, Mistral), 그리고 장치에서 오프라인으로 실행되는 양자화된 Mistral-7B-Instruct도 지원합니다.
2024년 6월 기준으로, Google Gemini 1.5 Pro (기본 사용 모델) 또는 Google Gemini 1.0 Pro를 사용할 경우 분당 최대 15회 요청까지 DeveloperGPT는 완전히 무료로 사용할 수 있습니다.
--model 플래그를 사용하여 다른 LLM 간에 전환할 수 있습니다:
developergpt --model [llm_name] [cmd, chat]
| 모델(들) | 출처 | 상세 내용 |
|---|---|---|
| Gemini Pro, Gemini Flash (기본값) | Google Gemini 1.0 Pro, Gemini 1.5 Flash | 무료 (분당 최대 15회 요청), Google AI API 키 필요 |
| GPT35, GPT4 | OpenAI | 사용량 기반 과금(Pay-Per-Usage), OpenAI API 키 필요 |
| Haiku, Sonnet | Anthropic (Claude 3) | 사용량 기반 과금(Pay-Per-Usage), Anthropic API 키 필요 |
| Zephyr | Zephyr7B-Beta | 무료, 오픈 LLM, Hugging Face Inference API |
| Gemma, Gemma-Base | Gemma-1.1-7B-Instruct, Gemma-Base | 무료, 오픈 LLM, Hugging Face Inference API |
| Mistral-Q6, Mistral-Q4 | 양자화된 GGUF Mistral-7B-Instruct | 무료, 오픈 LLM, 오프라인(OFFLINE), 장치에서 실행(ON-DEVICE) |
| Mistral | Mistral-7B-Instruct | 무료, 오픈 LLM, Hugging Face Inference API |
mistral-q6과 mistral-q4는 llama.cpp를 사용하여 로컬 장치에서 실행되는 양자화된 GGUF Mistral-7B-Instruct LLM입니다 (각각 Q6_K 및 Q4_K 양자화 모델). 이 LLM들은 전용 GPU가 없는 컴퓨터에서도 실행할 수 있습니다. 자세한 내용은 llama.cpp를 참조하십시오.
DeveloperGPT는 2가지 주요 기능을 가지고 있습니다.
사용법: developergpt cmd [당신의 자연어 명령어 요청]
# 예시
$ developergpt cmd list all git commits that contain the word llm
설명 없이 더 빠르게 명령어를 얻으려면 developergpt cmd --fast를 사용하십시오 (~--fast 사용 시 1.6초 소요)
vs. 일반 모드 사용 시 평균 약 3.2초 소요). --fast 모드에서 DeveloperGPT가 제공하는 명령어는 정확도가 낮을 수 있습니다. 자세한 내용은 DeveloperGPT Natural Language to Terminal Command Accuracy를 참조하십시오.
# Fast Mode: 더 빠른 응답을 위해 설명 없이 명령어가 제공됩니다
$ developergpt cmd --fast [사용자의 자연어 명령어 요청]
기본으로 사용되는 Gemini Flash 대신 다른 LLM을 사용하려면 developergpt --model [model_name] cmd를 사용하십시오.
# 예시: Gemini Flash 대신 GPT-3.5를 사용하여 자연어를 터미널 명령어로 변환
$ developergpt --model gpt35 cmd [사용자의 자연어 명령어 요청]
사용법: developergpt chat
# Gemini 1.5 Flash(기본값)를 사용하여 DeveloperGPT와 채팅
$ developergpt chat
다른 LLM을 사용하려면 developergpt --model [model_name] chat을 사용하십시오.
# 예시
$ developergpt --model mistral chat
채팅 모더레이션 (Chat moderation)은 구현되어 있지 않습니다. 모든 채팅 메시지는 사용 중인 LLM의 이용 약관을 준수해야 합니다.
DeveloperGPT는 사용 중인 LLM의 이용 약관에서 금지하는 어떠한 목적으로도 사용해서는 안 됩니다. 또한, DeveloperGPT 자체는 (LLM을 제외하고) 개념 증명 (Proof of concept) 도구이며, 심각하거나 상업적인 용도로 사용하도록 의도되지 않았습니다.
pip install -U developergpt
# 사용 가능한 명령어 확인
$ developergpt
DeveloperGPT의 정확도는 사용된 LLM 및 모드 (--fast vs. 일반 모드)에 따라 달라집니다. 아래에는 85개의 자연어 명령어 요청 세트에 대한 다양한 LLM의 Top@1 정확도가 표시되어 있습니다 (이는 엄격한 평가는 아니지만, 대략적인 정확도를 파악할 수 있게 해줍니다). 비교를 위해 CLI v1.0.1 버전의 Github CoPilot도 포함되었습니다.
기본적으로 DeveloperGPT는 Google Gemini 1.5 Flash를 사용합니다. Gemini 1.0 Pro 또는 Gemini 1.5 Flash를 사용하려면 API 키가 필요합니다 (분당 최대 15회 쿼리까지 무료로 사용 가능).
- 본인의 Google AI Studio API Key 가져오기: https://makersuite.google.com/app/apikey
- Google API Key를
GOOGLE_API_KEY로 설정하십시오.
환경 변수 (environment variable)로 설정하십시오. 이 작업은 한 번만 수행하면 됩니다.
# Google API Key 설정 (예: zsh 사용 시)
$ echo 'export GOOGLE_API_KEY=[your_key_here]' >> ~/.zshenv
# 환경 변수 재로드 (또는 터미널을 종료 후 다시 실행)
...
Hugging Face에 호스팅된 Gemma 또는 Mistral과 같은 오픈 LLM (open LLMs)을 사용하려면, 선택적으로 Hugging Face Inference API 토큰을 HUGGING_FACE_API_KEY 환경 변수 (environment variable)로 설정할 수 있습니다. 자세한 내용은 https://huggingface.co/docs/api-inference/index 를 참조하십시오.
양자화된 (quantized) Mistral-7B-Instruct를 사용하려면, --offline 플래그 (flag)와 함께 DeveloperGPT를 실행하기만 하면 됩니다. 이렇게 하면 첫 실행 시 모델을 다운로드하며, 이후 실행 시에는 로컬 (locally)에서 사용합니다 (첫 사용 이후에는 인터넷 연결이 필요하지 않습니다). 별도의 설정은 필요하지 않습니다.
developergpt --offline chat
GPT-3.5 또는 GPT-4를 사용하려면 OpenAI API 키가 필요합니다.
- 본인의 OpenAI API 키를 발급받고 결제 설정을 완료하십시오: https://platform.openai.com/account/api-keys
- OpenAI API 키를
OPENAI_API_KEY환경 변수 (environment variable)로 설정하십시오. 이 작업은 한 번만 수행하면 됩니다.
Anthropic Claude 3 Sonnet 또는 Haiku를 사용하려면 Anthropic API 키가 필요합니다.
- 본인의 Anthropic API 키를 발급받으십시오: https://www.anthropic.com/api
- Anthropic API 키를
ANTHROPIC_API_KEY환경 변수 (environment variable)로 설정하십시오. 이 작업은 한 번만 수행하면 됩니다.
2024년 6월 기준으로, Google Gemini 1.0 Pro 및 Gemini 1.5 Flash는 분당 최대 15개의 쿼리 (queries)까지 무료로 사용할 수 있습니다. 자세한 내용은 다음을 참조하십시오: https://ai.google.dev/pricing
2024년 6월 기준으로, Hugging Face Inference API에 호스팅된 LLM을 사용하는 것은 무료이지만 속도 제한 (rate limited)이 있습니다. 자세한 내용은 https://huggingface.co/docs/api-inference/index 를 참조하십시오.
Mistral-7B-Instruct는 무료로 사용할 수 있으며 기기 내 (on-device)에서 로컬로 실행됩니다.
OpenAI API 사용량은 여기에서 모니터링할 수 있습니다: https://platform.openai.com/account/usage. GPT-3.5를 사용할 경우 쿼리당 평균 비용은 0.1 센트 미만입니다. GPT-3.5는 훨씬 더 비용 효율적이며 대부분의 명령어에 대해 매우 높은 정확도를 달성하므로, GPT-4 사용은 권장되지 않습니다.
Anthropic API 사용량은 여기에서 모니터링할 수 있습니다: https://console.anthropic.com/settings/plans. Claude 3 Haiku를 사용할 경우 쿼리당 평균 비용은 0.1센트 미만입니다. 가격에 대한 자세한 내용은 https://www.anthropic.com/api 를 참조하세요.
CONTRIBUTING.md 파일을 읽어주세요.
- 오픈 LLM(Open LLMs), 관대한 무료 호스팅 추론 API(Free hosted inference APIs), 도구, 양자화(Quantization) 및 기타 리소스를 제공해 준 Hugging Face와 NLP/LLM 커뮤니티에 감사드립니다!
- 관대한 Gemini API 무료 티어(Free tier)를 제공해 준 Google에 감사드립니다.
- 이 프로젝트는 https://github.com/rochacbruno/python-project-template 의 Python 프로젝트 템플릿을 사용합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기