breve
Este documento descreve como criar localmente algo como Copiloto s para ajudá-lo a escrever códigos mais bonitos e eficientes.
Com este curso, você aprenderá a usar Ollama Integração de assistentes de programação locais, incluindo
- Continuar
- Ajudante
Atenção:
- Vamos falar sobre a instalação e o uso básico do VScode. O jetbrain é usado da mesma forma que o VScode, basta consultar o vscode.
- Os recursos e as configurações disponíveis no jetbrain não são tão avançados quanto os disponíveis no VScode, portanto, é recomendável usar o VScode.
- A criação do Copilot localmente tem requisitos mais altos para a máquina, especialmente para a parte de preenchimento automático do código; portanto, se você não tiver nenhuma necessidade especial, é recomendável comprar uma API para usá-lo.
I. Introdução à programação de IA
1.1 Por que estamos programando com IA?
O Big Language Model existe há muito tempo, mas a área em que ele teve melhor desempenho foi a programação, pelos seguintes motivos:
- Critérios claros de certo e errado. No mundo da programação, o código ou funciona ou não funciona. Essa natureza em preto e branco torna mais fácil para a IA julgar a qualidade de seu resultado.
- Linguagem precisa. As linguagens de programação não têm muita ambiguidade. Cada símbolo, cada palavra-chave tem um significado claro. É nessa precisão que os modelos de IA são bons.
- Missões direcionadas. Quando escrevemos código, geralmente temos um objetivo claro. Por exemplo, "Escreva uma função que calcule a sequência de Fibonacci". Essas instruções claras facilitam o foco da IA no problema.
- Generalização do conhecimento. Depois de aprender os conceitos básicos de uma linguagem de programação, muitas coisas podem ser transferidas para outras linguagens. Essa capacidade de transferência de conhecimento torna os modelos de IA particularmente eficientes no domínio da programação.
1.2 Como programamos com IA?
- Usando o aplicativo Big Model Dialogue (não explicado aqui)
- Usando o ambiente de desenvolvimento integrado (IDE)
- Continuar
- Uso de ferramentas de linha de comando
- Ajudante
II. IDE Continue Access
2.1 Instalação dos modelos necessários
- Instalar Ollama
- Instale os seguintes modelos
- Instalação do modelo de perguntas e respostas universais (UQA)
ollama pull llama3:8b
- Instalação de modelos de preenchimento automático de código.
ollama pull starcoder2:3b
- Instale o modelo de incorporação.
ollama pull nomic-embed-text
- Instalação do modelo de perguntas e respostas universais (UQA)
2.2 Instalação do Continue no VScode e configuração do Ollama local
- Instalação de modelos na biblioteca de plug-ins do VScode
Procure por Continue, veja o ícone a seguir, clique em instalar ou instale
- (Ação recomendada) É altamente recomendável mover o "Continue" para a barra lateral direita do VS Code. Isso ajuda a manter o explorador de arquivos aberto ao usar o Continue e permite que você alterne a barra lateral com um simples atalho de teclado.
- Configuração Ollama
Caminho 1: Clique em Select model---- selecione Add model---- clique em Ollama---- selecione Autodetect
Isso selecionará automaticamente o modelo que acabamos de baixar no Ollama para a ferramenta de raciocínio de código.
Modo 2: Clique no botão Setup, conforme mostrado na figura, para acessar a página de configuração e cole a seguinte configuração{ "models": [ { "título": "Ollama", "provider": "ollama", "model": "AUTODETECT "model": "AUTODETECT" } ], "tabAutocompleteModel". "tabAutocompleteModel": { "title": "starcoder 2 3b", "title": "Starcoder 2 3b", "provider": "ollama", { "provedor": "ollama", "modelo". "model": "starcoder2:3b" }, "embeddingsProvider": "starcoder2:3b "embeddingsProvider": { "provider": "ollama", "model": "starcoder2:3b" }, "embeddingsProvider": { "model": "nomic-embed-text" } }
2.3 Diretrizes básicas de uso
- Código fácil de entender
- Código VS.
cmd+L
( MacOS ) /ctrl+L
( Windows ) - JetBrains.
cmd+J
( MacOS ) /ctrl+J
( Windows )
- Uso da tecla Tab para preenchimento automático de código
- Código VS.
guia
( MacOS ) /guia
( Windows ) - JetBrains.
guia
( MacOS ) /guia
( Windows )
- A IA modifica rapidamente seu código
- Código VS.
cmd+I
( MacOS ) /ctrl+I
( Windows ) - JetBrains.
cmd+I
( MacOS ) /ctrl+I
( Windows )
- Faça perguntas com base no diretório de código atual
- Código VS.
@codebase
( MacOS ) /@codebase
( Windows ) - JetBrains : suporte futuro
- Faça uma pergunta com base na documentação oficial
- Código VS.
@docs
( MacOS ) /@docs
( Windows ) - JetBrains.
@docs
( MacOS ) /@docs
( Windows )
2.4 Referências
Site oficial: https://docs.continue.dev/intro
Ambiente de linha de comando Acesso ao Aider
O Aider é um assistente de programação baseado em linha de comando que tem acesso ao sistema e uso de recursos de nível superior ao de um IDE, mas isso também significa que é mais difícil começar.
Os tutoriais a seguir ensinarão você a instalar o Aider e a se conectar ao serviço Ollama.
Além disso, certifique-se de que:
- Ter o git instalado e experiência com o git.
- Experiência com python
3.1 Instalação do Aider
- A Aider tem muitas dependências em ambientes python, portanto, é recomendável usar o conda para criar um novo ambiente ou o python para criar um novo ambiente virtual, conforme demonstrado no exemplo a seguir usando o conda
- Inicie um novo ambiente virtual conda (o mesmo para o ambiente virtual python)
conda create -n aider_env python=3.9
- Entre nesse ambiente virtual
conda activate aider_env
- Siga estes comandos para instalar
python -m pip install aider-chat
- Inicie um novo ambiente virtual conda (o mesmo para o ambiente virtual python)
3.2 Configuração e inicialização do Ollama
- Inicie a linha de comando e defina as variáveis de ambiente da seguinte forma
export OLLAMA_API_BASE=http://127.0.0.1:11434 # Ambiente Mac/Linux setx OLLAMA_API_BASE http://127.0.0.1:11434 # Ambiente Windows, reinicie a ferramenta shell depois de configurá-la.
- cd para acessar seu repositório local; caso contrário, o Aider inicializará automaticamente um repositório git no diretório atual.
#exemplo cd D:\Myfile\handy-ollama\handy-ollama\handy-ollama\handy-ollama
- Execute o Aider com o seguinte comando
aider --model ollama/ #exemplo #aider --model ollama/llama3:8b
Você também pode usar o arquivo .env para configurar as informações do Aider.
por exemplo## Especifique OPENAI_KEY (se houver) OPENAI_API_KEY=xxx ## Especifique que você está usando um mod AIDER_MODEL=ollama/llama3:8b
Mais referências de configuração:https://aider.chat/docs/config/dotenv.html
- Será bem-sucedido se você acessar a seguinte página
- Agora você pode conversar com ele ou enviar alguns comandos e ele pode modificar seu código diretamente
3.3 Uso básico
- Você pode solicitar a ele algumas informações básicas sobre esse repositório
- Adicionar arquivos
/add ...
Em seguida, você pode fazer algumas perguntas com base nesses documentos
- Você pode usar o Aider sem adicionar nenhum arquivo e ele tentará descobrir quais arquivos precisam ser editados com base na sua solicitação. (Mas o pensamento geralmente é ruim)
- Adicione arquivos relevantes para fazer alterações ou responder a perguntas sobre um código ou arquivo específico. (Não adicione um monte de arquivos extras. Se você adicionar muitos arquivos, a geração não será tão eficaz e custará mais caro. Token ).
Exemplo:
- Use o Aider para fazer alterações diretamente nos arquivos de código ou em outros arquivos, como adicionar um resumo à última linha de um Leia-me.
Veja o documento real
- Se não quiser que o Aider realmente faça algo com o arquivo, você pode prefixar a caixa de diálogo com o operador /ask
- Exclua todos os arquivos adicionados com /drop
3.4 Referências
Uma lista de comandos de barra comumente usados:
comando | descrições |
---|---|
/adicionar |
Adicione arquivos ao bate-papo para que o GPT possa editá-los ou revisá-los em detalhes |
/perguntar |
Faça perguntas sobre a base de código sem editar nenhum dos arquivos |
/modo-chat |
Alternar para o novo modo de bate-papo |
/limpar |
Limpar histórico de bate-papo |
/clipboard |
Adicione imagens/texto da área de transferência ao bate-papo (opcionalmente, forneça nomes para as imagens) |
/código |
Solicitação de alterações no código |
/commit |
Enviar edições feitas no depósito fora do bate-papo (mensagem de envio opcional) |
/diff |
Exibe a diferença nas alterações desde a última mensagem |
/drop |
Remova arquivos da sessão de bate-papo para liberar espaço no contexto |
/saída |
Sair do aplicativo |
/git |
Execute o comando git |
/ajuda |
Faça uma pergunta sobre o aider |
/lint |
Verificação e correção de código dos arquivos fornecidos ou no bate-papo (se os arquivos não forem fornecidos) |
/ls |
Lista todos os arquivos conhecidos e indica quais arquivos estão incluídos na sessão de bate-papo |
/mapa |
Imprimir informações atuais do depósito |
/map-refresh |
Forçar a atualização e a impressão das informações do depósito |
/modelo |
Mudança para um novo modelo de idioma |
/modelos |
Pesquisar a lista de modelos disponíveis |
/quit |
Sair do aplicativo |
/read-only |
Adicionar arquivo ao bate-papo, para sua informação, não editável |
/run |
Execute o comando do shell e, opcionalmente, adicione a saída ao bate-papo (alias: !) |
/teste |
Execute o comando do shell e adicione a saída ao bate-papo em um código de saída diferente de zero |
/tokens |
Informe o número de tokens em uso no momento no contexto do chat |
/undo |
Desfazer o último commit do git se ele tiver sido feito por um aider |
/voz |
Gravar e transcrever a entrada de voz |
/web |
Capture páginas da Web, converta para markdown e adicione ao bate-papo |
Para obter mais informações sobre o uso, consulte https://aider.chat/docs/usage.html
IV. ambiente de desenvolvimento integrado Acesso ao RooCline (novo)
4.1 Cline e RooCline
Cline É o melhor plug-in de programação de IA para vscode do mundo. Ele usa a assistência de IA de uma maneira diferente da maioria das ferramentas do mercado. Em vez de se concentrar apenas na geração ou conclusão de código, ele opera como uma ferramenta em nível de sistema que pode interagir com todo o ambiente de desenvolvimento. Esse recurso é especialmente importante ao lidar com cenários complexos de depuração, refatoração em grande escala ou testes de integração, como podemos ver na seção Cline da referência. Hoje vamos apresentar o Roo Cline.
O RooCline é uma versão aprimorada do Cline, focada em melhorar a eficiência e a flexibilidade do desenvolvimento. Ele é compatível com várias linguagens e modelos (por exemplo, Gemini, Meta, etc.) e oferece recursos como notificações inteligentes, otimização do manuseio de arquivos e detecção de código ausente. Além disso, o RooCline suporta a execução em paralelo com o Cline para os desenvolvedores que precisam trabalhar em várias tarefas ao mesmo tempo.
mesmo que Roo Cline Ele ainda não é tão grande quanto o Cline, mas está crescendo rapidamente. Ele acrescenta alguns recursos experimentais extras ao Cline e também pode escrever partes de seu código com apenas uma pequena quantidade de intervenção humana.
E a Cline consome um grande número de tokens, o que afeta mais ou menos os custos diários de desenvolvimento.
4.2 Instalação do RooCline no VScode e configuração do Ollama local
[](https://github.com/datawhalechina/handy-ollama/blob/main/docs/C7/1.1 TP3T20AICopilot .md#42--vscode--roocline- - ollama)- Modelos de instalação da Ollama (na forma de deepseek-r1:1.5b, por exemplo)
ollama executar deepseek-r1:1.5b
- Instalação de modelos na biblioteca de plug-ins do VScode
Procure por Roo Cline, veja o ícone a seguir e clique em instalar ou instalar
- Configuração ollama
- Clique no ícone da linha Roo à direita
- Clique no ícone Settings (Configurações)
- Nome do modelo de entrada
- Clique em Concluído
- Agora você pode usar o vscode como qualquer outro editor integrado + ai.
A seguir, abordaremos alguns recursos exclusivos do Roo cline!
4.3 Recursos do Roo Cline
Observe que esses recursos dependem de certos recursos de modelos grandes, especialmente quando aplicados no nível do sistema de controle. O deepseek-r1:1.5b em nosso exemplo não tem a capacidade de executar essas operações abaixo e relatará muita complexidade. Recomenda-se acessar busca profunda acesso à API (é barato).
Para as funções 1~2 a seguir, clique no ícone Prompt na área de função para acessar a página de configuração.
- Suporte a APIs/modelos arbitrários
- OpenRouter/Anthropic/Glama/OpenAI/Google Gemini/AWS Bedrock/Azure/GCP Vertex
- Modelos nativos (LM Studio/Ollama) e qualquer interface compatível com OpenAI
- Modelos diferentes podem ser usados para padrões diferentes (por exemplo, modelo de alto nível para projeto arquitetônico, modelo econômico para codificação diária)
- Rastreamento de uso em nível de sessão (estatísticas de custo e consumo de token)
- Modos personalizados: personalização por meio de modos Código Roo funções, instruções e permissões:
- modo integrado
- Código Modo: assistente de codificação multifuncional padrão
- Arquiteto Padrões: design em nível de sistema e análise de arquitetura
- Perguntar Modelo: Pesquisa aprofundada e perguntas e respostas
- Modo de criação de usuário
- Digite "Create a new mode for" (Criar um novo modo para) para criar uma função personalizada.
- Cada modo pode ter comandos e conjuntos de habilidades independentes (gerenciados na guia Prompts)
- Recursos avançados
- Restrições de tipo de arquivo (por exemplo, o modo ask/architect edita apenas markdown)
- Regras de arquivo personalizadas (por exemplo, operar somente arquivos de teste .test.ts)
- Alternância entre modos (por exemplo, modo de codificação automática para funções específicas)
- Criação autônoma de novos modelos (com definições de funções e limites de arquivos)
- modo integrado
- Controle de granularidade Permissões de linha de comando
Clique na tela Settings (Configurações) para entrar: você pode controlar as permissões da linha Roo na configuração Auto-Approve (Aprovação automática).
Observe que isso controla quais ações podem ser executadas automaticamente sem o seu consentimento. Caso contrário, você será solicitado a clicar no processo de confirmação antes de prosseguir.
- Operações de arquivo e editor
- Criação/edição de arquivos de projeto (mostrar comparação de diferenças)
- Resposta automática a erros de código (importações ausentes, problemas de sintaxe, etc.)
- Acompanhamento de alterações na linha do tempo do editor (para facilitar a revisão/retrocesso)
- Integração da linha de comando
- Comandos de gerenciamento de pacotes/compilação/teste
- Monitore a produção e adapte-se automaticamente aos erros
- Servidores de desenvolvimento em execução contínua em segundo plano Suporte a políticas de aprovação: confirmação linha a linha/aprovação automática de operações de rotina
- Automação do navegador
Na terceira etapa, selecione as seguintes opções para fornecer recursos de automação da Web ao Roo Cline
- Inicialização de aplicativos da Web locais/remotos
- Operação de toque/entrada/rolagem/captura de tela
- Colete logs de console para depurar problemas de tempo de execução Para testes de ponta a ponta e verificação visual
- MCP Extensão da ferramenta
Modelo de protocolo de contexto (MCP) é um protocolo de extensão de recursos para o Roo que permite que o Roo se comunique com servidores locais que fornecem ferramentas e recursos adicionais. É o equivalente a colocar um "cérebro externo" no assistente de programação.
Modo duplo local/na nuvem: você pode usar as ferramentas e os serviços locais do seu computador, mas também pode se conectar aos módulos prontos compartilhados pela comunidade
Crie dinamicamente uma ferramenta: basta dizer ao Roo para "criar uma ferramenta que procure a documentação mais recente do npm" e ele gerará automaticamente o código de encaixe.
Exemplos:- Pegando recursos da comunidade: usando rodas construídas por outros
Por exemplo, acessar a "Weather API Query Tool" existente.
Uso direto de ferramentas validadas pela comunidade de código aberto - Ferramentas de coleta privada criadas pelo próprio usuário: personalizadas de acordo com as necessidades da empresa
Diga: "Crie uma ferramenta que capture os registros internos da empresa".
Roo é gerado automaticamente:# Exemplo de uma estrutura de ferramenta gerada automaticamente class LogTool(MCPPlugin). def fetch_logs(self, service_name): # Interface automatizada para o sistema de registro da empresa # Retorna a última 1 hora de registros de erros críticos ...
Depois de aprovada, a ferramenta aparecerá na lista de habilidades do Roo!
- Mecanismo de segurança: todas as novas ferramentas precisam ser revisadas manualmente e autorizadas antes da ativação, evitando a chamada arbitrária de interfaces confidenciais
- Pegando recursos da comunidade: usando rodas construídas por outros
- Context@: uma maneira de fornecer contexto adicional:
@arquivo
Conteúdo do documento incorporado@pasta
Estrutura do catálogo: contém a estrutura completa do catálogo@problemas
Introduzir erros/avisos no espaço de trabalho@url
Obter documentação de URL (para markdown)@git
Análise de discrepância/registro de commit do Git: fornece análise de discrepância/registro de commit do Git para ajudar a focar em informações importantes e otimizar o uso de tokens.
Referências (leitura recomendada)
Endereço do github de Roo Cline: https://github.com/RooVetGit/Roo-Code agora renomeado para Código RooMais recursos novos para você descobrir!
Introdução de Cline:Cline (Claude Dev): plug-in do VSCode para programação automatizada
Comparação de ferramentas de programação de IA:Comparação das ferramentas de programação de IA Trae, Cursor e Windsurf
Conclua um site de serviço de IA do zero sem escrever uma única linha de código usando ferramentas de programação de IA: https://cloud.tencent.com/developer/article/2479975