Nano Bots: bots com tecnologia de IA que podem ser facilmente compartilhados como um único arquivo, projetados para oferecer suporte a vários provedores, como Cohere Command, Google Gemini, Maritaca AI MariTalk, Mistral AI, Ollama, OpenAI ChatGPT e outros, com suporte para ferramentas de chamada (funções).
Aumente sua produtividade e fluxo de trabalho trazendo o poder da Inteligência Artificial para o seu editor de código!
Instalação
Instância de API local
Configurar
Comandos
Incitar
Aplicar
Avaliar
Parar
Cartuchos
Mercado
Padrão
Atalhos
Padrões sugeridos
Comandos personalizados
Estado
Privacidade e segurança: perguntas frequentes
Meus arquivos/código/conteúdo serão compartilhados ou enviados para serviços de terceiros?
Que informações podem ser compartilhadas com fornecedores terceirizados de IA?
Quem são esses terceiros?
Existe uma opção para evitar o compartilhamento de qualquer informação?
Posso usar isso para conteúdo/código privado ou confidencial?
Preciso pagar para usar isso?
Este projeto é afiliado à OpenAI?
Garantia e Isenção de Responsabilidade
Desenvolvimento
Para instalar Nano Bots para Sublime Text, siga estas etapas:
Antes de prosseguir com a instalação, certifique-se de instalar o Package Control.
Abra o Sublime Text e use o atalho ctrl + shift + p para abrir a Paleta de Comandos.
Escolha "Controle de pacote: instalar pacote" na paleta de comandos.
Procure por “Nano Bots” e pressione Enter para instalar o pacote.
Alternativamente, você pode clonar manualmente o repositório usando o seguinte comando:
clone https://github.com/icebaker/sublime-nano-bots.git "/home/me/.config/sublime-text/Packages/Nano Bots"
Por padrão, o acesso à API pública do Nano Bots está disponível. No entanto, ele fornece apenas um cartucho padrão e às vezes pode ficar lento ou indisponível devido a limites de taxa. Isso é comum quando muitos usuários ao redor do mundo usam intensamente a API simultaneamente.
Para obter o melhor desempenho e a oportunidade de desenvolver e personalizar seus próprios cartuchos, é recomendável usar suas próprias credenciais de provedor para executar sua instância da API localmente. Esta abordagem proporcionará uma experiência superior e personalizada, em contraste com a experiência conveniente, mas limitada, fornecida pela API pública.
Para conectar seu pacote à sua própria API Nano Bots local, inicie uma instância local usando nano-bots-api. Observe que a API local ainda depende de provedores externos, que possuem suas próprias políticas em relação à segurança e privacidade. No entanto, se você optar por usar o Ollama com modelos de código aberto, poderá garantir que tudo seja mantido localmente e totalmente privado.
Depois de ter acesso à API Nano Bots, você pode ir em “Preferências” -> “Configurações” e adicionar a seguinte configuração:
{ "NANO_BOTS_API_ADDRESS": "http://localhost:3048", "NANO_BOTS_STREAM": verdadeiro, "NANO_BOTS_END_USER": "anônimo" //seu-nome}
Após a instalação, você terá os seguintes comandos disponíveis na paleta de comandos:
Nano Bots: Alerta
Nano Bots: Aplicar
Nanobots: avaliar
Nanobots: Pare
O comando Prompt funciona como um chat tradicional, permitindo fazer uma pergunta e receber uma resposta do Nano Bot.
Exemplo:
Prompt: write a hello world in Ruby
Nano Bot: puts "Hello, world!"
O comando Aplicar funciona em uma seleção de texto. Você seleciona um trecho de texto e pede ao Nano Bot para realizar uma ação.
Exemplo:
Selected Text: How are you doing?
Prompt: translate to french
Nano Bot: Comment allez-vous ?
O comando Avaliar envia o texto atualmente selecionado para um Nano Bot sem quaisquer instruções adicionais.
Exemplo:
Selected Text: Hi!
Nano Bot: Hello! How can I assist you today?
Para interromper uma resposta de streaming ou parar de esperar por uma resposta completa, você pode usar o comando “Parar” na paleta de comandos. Isso é útil se você perceber que a resposta do bot não é o que você esperava da sua solicitação.
Ao executar qualquer um dos comandos mencionados anteriormente, aparecerá um prompt solicitando que você selecione um cartucho. O cartucho padrão é a interação de chat padrão. No entanto, você pode criar seus próprios cartuchos que aparecerão automaticamente na paleta de comandos.
Para obter mais detalhes sobre cartuchos, consulte as especificações do Nano Bots. Você pode encontrá-lo aqui.
Você pode explorar o Nano Bots Marketplace para descobrir novos cartuchos que podem ajudá-lo.
Você pode substituir o cartucho padrão criando o seu próprio com o nome default.yml
:
---meta: símbolo: ? nome: Padrão autor: Seu nome versão: 1.0.0 licença: CC0-1.0 descrição: Um assistente útil.provedor: id: openai credenciais:endereço: ENV/OPENAI_API_ADDRESStoken de acesso: ENV/OPENAI_API_KEY configurações: usuário: ENV/NANO_BOTS_END_USERmodelo: gpt-3.5-turbo
Não há atalhos padrão, mas você pode adicionar os seus próprios acessando “Preferências” e selecionando “Key Binding”. Recomendamos os seguintes:
[ {"keys": ["ctrl+b", "ctrl+p"], "command": "nano_bots","args": { "state": "-", "action": "prompt", "modo ": "adicionar" } }, {"keys": ["ctrl+b", "ctrl+l"], "command": "nano_bots","args": {"state": "-", "action": "apply","mode ": "substituir", "prefixo": "","formato": "[prompt]: [entrada]" } }, {"keys": ["ctrl+b", "ctrl+b"], "command": "nano_bots","args": { "state": "-", "action": "avaliar", "modo ": "substituir" } }, {"keys": ["ctrl+b", "ctrl+k"], "command": "nano_bots","args": { "action": "stop" } } ]
A palavra-chave action
refere-se aos comandos disponíveis.
O mode
refere-se a como a resposta será entregue quando um texto for selecionado. add
adicionará a resposta após o texto selecionado, enquanto replace
irá substituí-la pela resposta.
Quando add
é definido, você também pode querer adicionar um prefix
:
{ "teclas": ["ctrl+b", "ctrl+l"], "command": "nano_bots", "args": { "state": "-", "action": "apply", "mode": "add", "prefix": "n", "format": " [prompt]: [entrada]" } },
Ao usar o comando apply
, é possível personalizar o prompt incluindo uma palavra-chave format
:
Selected Text: How are you doing?
Prompt: translate to french
{ "formato": "[prompt]: [entrada]"}
Produzirá o prompt:
translate to french: How are you doing?
Se preferir pular a solicitação de seleção de cartucho ao usar esses comandos, você pode definir previamente o cartucho desejado:
{"keys": ["ctrl+b", "ctrl+b"], "command": "nano_bots","args": { "state": "-", "action": "avaliar", "modo ": "substituir", "cartucho": "-" } }
O -
representa o cartucho padrão. Você pode substituí-lo por qualquer outro cartucho disponível em seu sistema.
Se quiser definir um comando simples que não exija nenhuma entrada ou consideração do usuário, você pode fazer isso usando:
{"keys": ["ctrl+b", "ctrl+p"], "command": "nano_bots","args": { "state": "-", "action": "prompt", "modo ": "adicionar", "cartucho": "-", "input": "Olá!" } }
Se desejar definir um comando que se aplique à sua seleção atual sem exigir nenhuma entrada adicional, você pode usar:
{"keys": ["ctrl+b", "ctrl+b"], "command": "nano_bots","args": { "state": "-", "action": "avaliar", "modo ": "substituir", "cartucho": "-" } }
{"keys": ["ctrl+b", "ctrl+l"], "command": "nano_bots","args": { "state": "-", "action": "apply", "mode ": "replace", "cartridge": "-", "input": "traduzir para en-us" } }
Todas as interações com Nano Bots são sem estado por padrão. No entanto, se desejar preservar o histórico de interações, você pode usar uma chave de estado:
{"keys": ["ctrl+b", "ctrl+p"], "command": "nano_bots","args": { "state": "0470dfa445f1f11b5eb9b3089c5943c8", "action": "prompt", "modo ": "adicionar" } }
Cada cartucho manterá seu próprio estado isolado. Consulte a especificação para obter mais informações sobre gerenciamento de estado.
Absolutamente não, a menos que você tome medidas intencionalmente para fazê-lo. Os arquivos nos quais você está trabalhando ou abertos em seu editor nunca serão carregados ou compartilhados sem sua ação explícita.
Apenas pequenos fragmentos de texto/código que você intencionalmente toma medidas para compartilhar. O texto que você insere ao usar o comando Prompt é compartilhado com a API pública Nano Bots, que também precisa compartilhá-lo com a API OpenAI estritamente para gerar uma resposta. Se você usar Avaliar ou Aplicar, o texto específico selecionado também será compartilhado para produzir uma resposta.
Os dados que você decidir compartilhar deliberadamente serão transmitidos com segurança (HTTPS) para a API pública do Nano Bots. Esta API pública é de código aberto e está disponível para auditoria aqui. Ele emprega API OpenAI para processamento de dados. Como resultado, quaisquer dados que você optar por compartilhar também serão enviados para a API OpenAI, que de acordo com suas políticas, não é usada para treinamento de modelo e não é retida além de um período de 30 dias.
O compartilhamento de fragmentos de dados é necessário para gerar resultados. Você tem a opção de usar sua própria instância local da API Nano Bots. Essa configuração garante que todas as interações ocorram localmente em sua máquina, sendo os únicos dados compartilhados com sua API OpenAI pessoal. Alternativamente, você pode decidir não usar OpenAI também e, em vez disso, conectar a API Nano Bots local ao seu próprio LLM local, como FastChat, permitindo uma interação completamente local e privada.
Para conteúdo/código privado ou confidencial, recomendamos que você ou sua organização conduzam uma avaliação completa de segurança e privacidade. Com base nisso, você pode decidir que a API pública do Nano Bots e as políticas de privacidade da OpenAI são suficientes ou pode optar por usar sua própria configuração privada para o provedor de API e LLM.
Não. Se você estiver usando a API pública padrão do Nano Bots, não haverá nenhum custo envolvido, mas você poderá encontrar problemas ocasionais de limitação de taxa ou estabilidade. Se você decidir usar seu próprio provedor de API e LLM, quaisquer custos associados dependerão do provedor escolhido. Por exemplo, usar a API Nano Bots localmente com OpenAI exigirá uma conta paga da plataforma OpenAI.
Não, este é um projeto de código aberto sem afiliações formais com OpenAI. Ele foi projetado para compatibilidade com vários provedores de LLM, sendo OpenAI o padrão. Como a OpenAI é uma empresa privada, não podemos fornecer quaisquer garantias sobre os seus serviços e não temos qualquer afiliação. Use por sua conta e risco.
Este projeto segue a licença do MIT. Em linguagem simples, significa:
O software é fornecido como está. Isso significa que não há garantia ou garantia para isso. Isso inclui o quão bem funciona (se funciona como você espera), se é adequado ao seu propósito e se não causará danos a nada (não violação). As pessoas que criaram ou possuem este software não podem ser responsabilizadas se algo der errado por causa do software, seja você o usando, alterando ou qualquer outra coisa que esteja fazendo com ele.
Em outras palavras, não há nenhuma promessa ou responsabilidade nossa sobre o que acontece quando você o usa. Portanto, é importante que você o use por sua própria conta e risco e decida o quanto você confia nele. Você é o responsável pela forma como o utiliza e pelas possíveis consequências de seu uso.
Desinstale seu pacote Nano Bots atual.
Clone o repositório dentro Packages/Nano Bots
(o link simbólico não funciona):
clone https://github.com/gbaptista/sublime-nano-bots.git "/home/me/.config/sublime-text/Packages/Nano Bots"
Para começar a desenvolver em Nano Bots para Sublime Text, siga estas etapas:
Instale os pacotes necessários executando pip install -r requirements-dev.txt
.
Verifique a formatação do seu código executando pycodestyle *.py
.
Analise seu código usando pylint executando pylint *.py
.