DeveloperGPT é uma ferramenta de linha de comando com tecnologia LLM que permite linguagem natural para comandos de terminal e bate-papo no terminal. DeveloperGPT é desenvolvido com Google Gemini 1.5 Flash por padrão, mas também suporta Google Gemini 1.0 Pro, OpenAI GPT-3.5 e GPT-4, Anthropic Claude 3 Haiku & Sonnet, LLMs abertos (Zephyr, Gemma, Mistral) hospedados no Hugging Face e quantizados Mistral-7B-Instruct rodando offline no dispositivo.
A partir de junho de 2024, o uso do DeveloperGPT é totalmente gratuito ao usar o Google Gemini 1.5 Pro (usado por padrão) ou o Google Gemini 1.0 Pro em até 15 solicitações por minuto.
Alterne entre diferentes LLMs usando o sinalizador --model
: developergpt --model [llm_name] [cmd, chat]
Modelo(s) | Fonte | Detalhes |
---|---|---|
Gemini Pro , Gemini Flash (padrão) | Google Gemini 1.0 Pro, Gemini 1.5 Flash | Gratuito (até 15 solicitações/min), chave de API Google AI necessária |
GPT35, GPT4 | OpenAI | Pagamento por uso, chave de API OpenAI necessária |
Haiku, soneto | Antrópico (Claude 3) | Chave de API Antrópica necessária, pagamento por uso |
Zéfiro | Zephyr7B-Beta | LLM gratuito e aberto, API de inferência de abraços faciais |
Gemma, Gemma-Base | Gemma-1.1-7B-Instrução, Gemma-Base | LLM gratuito e aberto, API de inferência de abraços faciais |
Mistral-Q6, Mistral-Q4 | GGUF Mistral-7B-Instruct Quantizado | Gratuito, aberto LLM, OFFLINE, NO DISPOSITIVO |
Mistral | Mistral-7B-Instruir | LLM gratuito e aberto, API de inferência de abraços faciais |
mistral-q6
e mistral-q4
são LLMs quantizados GGUF Mistral-7B-Instruct executados localmente no dispositivo usando llama.cpp (modelos quantizados Q6_K e quantizados Q4_K, respectivamente). Esses LLMs podem ser executados em máquinas sem uma GPU dedicada – consulte llama.cpp para obter mais detalhes.DeveloperGPT possui 2 recursos principais.
Uso: developergpt cmd [your natural language command request]
# Example
$ developergpt cmd list all git commits that contain the word llm
Use developergpt cmd --fast
para obter comandos mais rapidamente sem quaisquer explicações (~1,6 segundos com --fast
vs. ~3,2 segundos com regular em média). Os comandos fornecidos pelo DeveloperGPT no modo --fast
podem ser menos precisos - consulte DeveloperGPT Natural Language to Terminal Command Accuracy para obter mais detalhes.
# Fast Mode: Commands are given without explanation for faster response
$ developergpt cmd --fast [your natural language command request]
Use developergpt --model [model_name] cmd
para usar um LLM diferente em vez do Gemini Flash (usado por padrão).
# Example: Natural Language to Terminal Commands using the GPT-3.5 instead of Gemini Flash
$ developergpt --model gpt35 cmd [your natural language command request]
Uso: developergpt chat
# Chat with DeveloperGPT using Gemini 1.5 Flash (default)
$ developergpt chat
Use developergpt --model [model_name] chat
para usar um LLM diferente.
# Example
$ developergpt --model mistral chat
A moderação do chat NÃO está implementada - todas as suas mensagens de chat devem seguir os termos de uso do LLM utilizado.
DeveloperGPT NÃO deve ser usado para quaisquer fins proibidos pelos termos de uso dos LLMs utilizados. Além disso, o próprio DeveloperGPT (além dos LLMs) é uma ferramenta de prova de conceito e não se destina a ser usado para nenhum trabalho sério ou comercial.
pip install -U developergpt
# see available commands
$ developergpt
A precisão do DeveloperGPT varia dependendo do LLM usado, bem como do modo ( --fast
vs. regular). Abaixo são mostradas a precisão Top@1 de diferentes LLMs em um conjunto de 85 solicitações de comando de linguagem natural (esta não é uma avaliação rigorosa, mas dá uma sensação aproximada de precisão). O Github CoPilot na CLI v1.0.1 também está incluído para comparação.
Por padrão, o DeveloperGPT usa Google Gemini 1.5 Flash. Para usar o Gemini 1.0 Pro ou Gemini 1.5 Flash, você precisará de uma chave de API (gratuita para usar até 15 consultas por minuto).
GOOGLE_API_KEY
. Você só precisa fazer isso uma vez. # set Google API Key (using zsh for example)
$ echo ' export GOOGLE_API_KEY=[your_key_here] ' >> ~ /.zshenv
# reload the environment (or just quit and open a new terminal)
$ source ~ /.zshenv
Para usar LLMs abertos, como Gemma ou Mistral hospedados no Hugging Face, você pode configurar opcionalmente um token de API de inferência de Hugging Face como a variável de ambiente HUGGING_FACE_API_KEY
. Consulte https://huggingface.co/docs/api-inference/index para obter mais detalhes.
Para usar o Mistral-7B-Instruct quantizado, basta executar DeveloperGPT com o sinalizador --offline
. Isso fará o download do modelo na primeira execução e o utilizará localmente em quaisquer execuções futuras (não é necessária conexão com a Internet após o primeiro uso). Nenhuma configuração especial é necessária.
developergpt --offline chat
Para usar GPT-3.5 ou GPT-4, você precisará de uma chave de API OpenAI.
OPENAI_API_KEY
. Você só precisa fazer isso uma vez. Para usar o Anthropic Claude 3 Sonnet ou Haiku, você precisará de uma chave de API do Anthropic.
ANTHROPIC_API_KEY
. Você só precisa fazer isso uma vez.A partir de junho de 2024, o Google Gemini 1.0 Pro e o Gemini 1.5 Flash podem usar gratuitamente até 15 consultas por minuto. Para obter mais informações, consulte: https://ai.google.dev/pricing
A partir de junho de 2024, o uso de LLMs hospedados na API Hugging Face Inference é gratuito, mas com taxa limitada. Consulte https://huggingface.co/docs/api-inference/index para obter mais detalhes.
Mistral-7B-Instruct é de uso gratuito e executado localmente no dispositivo.
Você pode monitorar o uso da API OpenAI aqui: https://platform.openai.com/account/usage. O custo médio por consulta usando GPT-3.5 é <0,1 centavos. O uso do GPT-4 não é recomendado porque o GPT-3.5 é muito mais econômico e atinge uma precisão muito alta para a maioria dos comandos.
Você pode monitorar o uso da API Anthropic aqui: https://console.anthropic.com/settings/plans. O custo médio por consulta usando Claude 3 Haiku é <0,1 centavos. Consulte https://www.anthropic.com/api para obter detalhes de preços.
Leia o arquivo CONTRIBUTING.md.