Introdução geral
O Tabby é um assistente de programação de IA de código aberto, desenvolvido pela equipe do TabbyML, que os usuários podem implantar localmente ou em um servidor. Ele oferece recursos semelhantes Copiloto do GitHub O Tabby oferece suporte a várias linguagens de programação e pode ser integrado a ferramentas de desenvolvimento, como VSCode e Vim. Os dados oficiais mostram que, a partir de abril de 2025, a versão mais recente v0.24.0 tem suporte para autenticação LDAP e notificações de tarefas em segundo plano, e a funcionalidade continua a ser otimizada. Ele é adequado para desenvolvedores ou equipes preocupados com a privacidade.
Lista de funções
- Conclusão do códigoSugestão de linhas únicas ou múltiplas de código em tempo real ao inserir código para aumentar a eficiência.
- Assistente de bate-papo inteligenteResposta a perguntas sobre programação ou geração de trechos de código por meio de diálogo.
- Implementação auto-hospedadaProteção de dados: Executa localmente ou na nuvem, protege a privacidade dos dados e oferece suporte à personalização.
- Suporte a vários modelosModelos de código aberto, como StarCoder-1B, Qwen2-1.5B, etc., podem ser usados.
- sensível ao contextoCompreender o contexto do código e fornecer orientações precisas.
- Integração do IDESuporte a VSCode, Vim, IntelliJ e outros editores importantes.
- navegador de códigoCódigo de projeto: navegue pelo código do projeto com suporte a pesquisa e navegação.
- Estatísticas de usoVisualização de dados de uso para preenchimento de código e bate-papo.
- Autenticação LDAPUsuários corporativos podem gerenciar permissões via LDAP (novo na v0.24.0).
Usando a Ajuda
Processo de instalação
O Tabby precisa ser criado pelo usuário. Aqui estão as etapas detalhadas com base no Docker.
- Preparação do ambiente
- Certifique-se de que o Docker esteja instalado (versão 20.10 ou superior).
- Se estiver usando uma GPU, será necessário instalar o driver NVIDIA e o CUDA Toolkit (recomenda-se a versão 11.8 ou 12.x).
- Reserve pelo menos 10 GB de espaço de armazenamento para modelos e dados.
- Puxando espelhos
Execute o seguinte comando no terminal para obter o Tabby mais recente:
docker pull tabbyml/tabby
- Iniciar o servidor
Use o seguinte comando para iniciar, escutando na porta 8080 por padrão:
docker run -it --gpus all -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve --model TabbyML/StarCoder-1B --device cuda --chat-model Qwen2-1.5B-Instruct
--gpus all
Ativar a aceleração da GPU (nenhuma GPU pode ser removida).-p 8080:8080
Mapeia a porta do contêiner localmente.-v $HOME/.tabby:/data
:: Os dados são armazenados localmente.tabby
Pasta.--model
Modelo de preenchimento de código: Especifica o modelo de preenchimento de código, padrão StarCoder-1B.--chat-model
Especifique o modelo de bate-papo, padrão Qwen2-1.5B-Instruct.--device cuda
: use GPU, se não houver GPU, mude paracpu
.
- Execuções de verificação
Após a inicialização, acesse ohttp://localhost:8080
. Se a página de boas-vindas for exibida ou se o registro solicitar "Listening at 0.0.0.0:8080", o processo foi bem-sucedido. - Instalação de extensões do IDE
- VSCodeProcure por "Tabby" no mercado de extensões, instale-o e defina o endereço do servidor como
http://localhost:8080
. - VimInstalação por meio do gerenciador de plug-ins
TabbyML/vim-tabby
Em execuçãonpx tabby-agent --stdio
Conexões. - IntelliJProcure por "Tabby" no JetBrains Marketplace para instalar e configurar o endereço.
Funções principais
Conclusão do código
- procedimentoDigite o código no IDE e o Tabby exibirá uma caixa de sugestões. Pressione
Tab
Aceitação.Esc
Rejeição. - Funções em destaqueConsciência do contexto: Há suporte para a consciência do contexto. Por exemplo, entrada
def sort_list
pode sugerir:
def sort_list(lst):
return sorted(lst)
- Parâmetros de ajuste: Em
config.toml
modificaçãomax_input_length
(padrão 1024) emax_output_tokens
(padrão 512).
Assistente de bate-papo inteligente
- Maneiras de abrirNo VSCode, clique no ícone Tabby na barra lateral para abrir o painel de bate-papo.
- UsoPerguntas de entrada, como "Escreva uma função de desduplicação de matriz em JavaScript", que Tabby retornará:
function uniqueArray(arr) {
return [...new Set(arr)];
}
Isso também pode ser feito por meio do @
Consulte o documento para adicionar contexto.
- Executar comandoDigite similar
dir
para visualizar os resultados da simulação (v0.23.0 Aprimorado).
navegador de código
- caminho de acessoClique em "Code Browser" (Navegador de código) na interface da Web.
- fluxo de trabalhoDigite palavras-chave (por exemplo
class
), código de pesquisa. Suporte à filtragem por tipo de arquivo, clique nos resultados para ir para um local específico. - Recursos de atualizaçãov0.23.0 Experiência de navegação otimizada com suporte para mais opções de navegação.
Nota suplementar
- lançamento inicial: O download do modelo pode levar de 5 a 10 minutos, dependendo da rede.
- otimização do desempenho: Uso
--parallelism 4
Aumentar a capacidade de processamento simultâneo (requer hardware de ponta). - Suporte à comunidadeDisponível via Slack (
links.tabbyml.com/join-slack
) Procure ajuda.
cenário do aplicativo
- desenvolvimento pessoal
Um desenvolvedor de front-end implementa o Tabby localmente, usando-o para complementar o Reagir Códigos de componentes para economizar tempo com entradas duplicadas. - Colaboração empresarial
A empresa implantou o Tabby em um servidor interno e, com a autenticação LDAP, os membros da equipe puderam resolver rapidamente os bugs por meio do recurso de bate-papo. - Educação e treinamento
Os alunos usam o Tabby para aprender C++, perguntando "O que é um ponteiro?" no bate-papo e obtendo exemplos de código e explicações.
QA
- Quais modelos são compatíveis com o Tabby?
O StarCoder-1B (preenchimento de código) e o Qwen2-1.5B-Instruct (bate-papo) são compatíveis por padrão, e os usuários podem substituir outros modelos de código aberto. - Quais são as vantagens da auto-hospedagem?
Os dados não são carregados na nuvem, são totalmente localizados para cenários sensíveis à privacidade e podem ser ajustados livremente para configuração. - Quais são os requisitos mínimos de hardware?
A CPU é executada com 8 GB de RAM e a GPU é executada com 16 GB de RAM e 4 GB de memória de vídeo.