Uma alternativa de código aberto ao GitHub Copilot que roda localmente.
? Veja em ação
Conclusão do código em tempo real
Converse com a IA sobre o seu código
Pré-requisitos
Se você ainda não fez, escolha uma das seguintes plataformas para executar o LLM de sua escolha em seu sistema localmente .
Ollama (altamente recomendado)
Llamafile (experimental)
llama.cpp (experimental)
? Recomendações LLM
Observe que você precisa configurar o LLM para a conclusão do código e o recurso de bate -papo separadamente . Alguns dos LLMs populares que recomendamos são os seguintes. Escolha o tamanho (ou seja, 1.3b, 7b, 13b ou 34b) do modelo com base nos seus recursos de hardware.
Conclusão do código
Bater papo
Links
Deepseek-Coder: {1.3b ou 6,7b ou 33b} -base
Deepseek-Coder: {1.3b ou 6,7b ou 33b} -Instruct
Tags Ollama, casa
Codellama: {7b ou 13b ou 34b} -Code
Codellama: {7b ou 13b ou 34b} -Intruct
Tags Ollama, casa
Mistral: {7b} -Instruct
Tags Ollama, casa
Você também pode escolher um modelo avaliando seus LLMs locais usando o Benchllama.
Instalação rápida
Você pode instalar a extensão privada no mercado de código do Visual Studio ou no registro Open VSX.
Visual Studio Code Marketplace
Open VSX Registry
Opções de configuração
Defina as seguintes opções nas configurações para extensão privada.
Privy.Provider ( required ): Escolha a plataforma que está sendo usada para executar LLMs localmente. Há suporte para o uso do OpenAI, mas isso afetará os aspectos de privacidade da solução. O padrão é Ollama .
privy.providerurl ( required ): o URL da plataforma que está sendo usado para executar LLMs localmente. O padrão é http://localhost:11434 .
privy.autocomplete.mode : use esta configuração para ativar/desativar o recurso de conclusão automática.
privy.autocomplete.model : Insira o nome do modelo de Ollama local que você deseja usar para conclusão automática. Os formatos suportados são Deepseek Coder, Llama e Código estável. Escolhemos o codificador Deepseek: 1,3b-base, pois requer menor quantidade de VRAM. Você pode personalizar com base na sua configuração de hardware.
privy.autocomplete.debouncewait : use isso para definir a lacuna de tempo antes de acionar a próxima conclusão em milissegundos. O padrão é 300 ms.
privy.model : selecione o LLM com o qual você deseja conversar. Atualmente, apoia Deepseek, Mistral e Codellama. Se você deseja usar outros LLMs, selecione custom e configure privy.customModel de acordo.
Privy.Custommodel : Se você deseja escolher outros modelos em execução no seu Ollama, insira o nome deles.
Principais recursos
? Código aberto
? Privacidade primeiro
Conclusão do código automático
? Chat de estilo copiloto
Conversas encadeadas
Suporte para explicação de código, testes de unidade, encontro de bugs, erros de diagnóstico etc.
⌨️ Atalhos de teclado
Atalho (Mac)
Descrição
Alt + (para Windows/Linux) ou Cmd + (para Mac)
Acionar a conclusão do código embutido
Ctrl + Alt + c (para Windows/Linux) ou Ctrl + Cmd + c (para Mac)
Inicie o chat
Dicas e truques
A compreensão desses conceitos o ajudará a tirar o máximo proveito da privada.
Ser específico . Quando você solicita, por exemplo, alterações de código, inclui nomes de concreto e descreva o resultado desejado. Evite referências vagas.
Fornecer contexto . Você pode incluir a linguagem de programação ("em ferrugem") ou outros contextos relevantes para perguntas básicas. Você pode selecionar um trecho de código significativo para explicações de código e diagnóstico de erros.
Não confie em respostas cegamente . É um grande passo para a paisagem poder responder às suas perguntas. Pode responder com respostas imprecisas, especialmente quando se fala em tópicos menos conhecidos ou quando a conversa fica muito detalhada.
Use diferentes tópicos de bate -papo para tópicos diferentes . Tópicos mais curtos com tópicos específicos ajudarão a privação a responder com mais precisão.
? Créditos
Rubberduck AI - Este projeto é fortemente inspirado pelo trabalho de Rubberduck AI, e somos gratos a eles por construir em cima dele. A seguir, é apresentada a lista de colaboradores deste projeto e estendemos nossa sincera gratidão a todos eles.
Lars Grammel ? ? ?
Iain Majer ?
Nicolas Carlo ?
Ratogbm ?
Lionel Okpeicha ?
Mercerk ?
Lundeen.Bryan ?
Ducog ?
SBSTN87 ?
Manuel ?
Alessandro-Newzoo ?
Void & NULL ?
Wittydingo ?
Eva ?
Alexeylavrentev ?
LINSHU123
Michael Adams ?
inquietação
? Contribuições de código
Guia contribuinte
Leia nosso guia contribuinte para aprender sobre nosso processo de desenvolvimento, como propor bugs e melhorias e como criar e testar suas alterações.
Boas primeiras questões
Para ajudá -lo a molhar os pés e familiarizar -se com nosso processo de contribuição, temos uma lista de bons primeiros problemas que contêm coisas com um escopo relativamente limitado. Este é um ótimo lugar para começar!