Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

Tabby: um assistente de programação de IA nativo auto-hospedado que se integra ao VSCode

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.

Tabby: um assistente de programação de IA nativo auto-hospedado que se integra ao VSCode-1


 

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.

  1. 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.
  2. Puxando espelhos
    Execute o seguinte comando no terminal para obter o Tabby mais recente:
docker pull tabbyml/tabby
  1. 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 allAtivar a aceleração da GPU (nenhuma GPU pode ser removida).
  • -p 8080:8080Mapeia a porta do contêiner localmente.
  • -v $HOME/.tabby:/data:: Os dados são armazenados localmente .tabby Pasta.
  • --modelModelo de preenchimento de código: Especifica o modelo de preenchimento de código, padrão StarCoder-1B.
  • --chat-modelEspecifique o modelo de bate-papo, padrão Qwen2-1.5B-Instruct.
  • --device cuda: use GPU, se não houver GPU, mude para cpu.
  1. Execuções de verificação
    Após a inicialização, acesse o http://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.
  2. 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-tabbyEm execução npx 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_listpode sugerir:
def sort_list(lst):
return sorted(lst)
  • Parâmetros de ajuste: Em config.toml modificação max_input_length(padrão 1024) e max_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

  1. 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.
  2. 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.
  3. 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

  1. 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.
  2. 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.
  3. 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.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Tabby: um assistente de programação de IA nativo auto-hospedado que se integra ao VSCode
pt_BRPortuguês do Brasil