Assistente de IA
O Assistente de IA e um painel de chat integrado ao HarbourBuilder que se conecta ao Ollama para assistencia de codificacao com IA local. Sem chaves de API, sem servicos em nuvem, sem dados saindo da sua maquina — apenas um modelo local fornecendo assistencia instantanea enquanto voce codifica.
O Assistente de IA se comunica com uma instancia local do Ollama rodando na sua maquina. Seu codigo, perguntas e prompts nunca saem do seu computador. Isso e ideal para ambientes empresariais, bases de codigo proprietarias e desenvolvedores que valorizam a privacidade.
Backends Suportados
| Backend | Tipo | Chave API | Rede |
|---|---|---|---|
| Ollama | Local | Nenhuma | Apenas localhost |
| LM Studio | Local | Nenhuma | Apenas localhost |
Seletor de Modelos
O Assistente de IA inclui um seletor de modelos que lista todos os modelos disponiveis detectados da sua instancia Ollama ou LM Studio em execucao. As opcoes disponiveis normalmente incluem:
| Modelo | Tamanho | Melhor Para |
|---|---|---|
llama3 | ~5 GB | Uso geral, codificacao, explicacao |
codellama | ~4 GB | Geracao e refatoracao de codigo |
mistral | ~4 GB | Respostas rapidas, tarefas de codificacao |
deepseek-coder | ~4 GB | Consultas especificas de codigo |
phi3 | ~2 GB | Leve, rapido em hardware modesto |
qwen2.5-coder | ~3 GB | Assistencia de codigo multi-linguagem |
Execute ollama list no seu terminal para ver os modelos instalados.
Instale novos modelos com ollama pull <nome-do-modelo>. O Assistente de IA
deteta automaticamente os modelos disponiveis ao abrir o painel.
Interface de Chat
O painel do Assistente de IA oferece uma experiencia de chat familiar:
- Historico de chat — visao de conversa rolavel com suas mensagens e respostas da IA.
- Campo de entrada — digite sua pergunta ou cole codigo para analise.
- Botao enviar — envie sua mensagem ao modelo.
- Respostas em streaming — veja a resposta aparecer token por token.
- Blocos de codigo — o codigo gerado e exibido em blocos formatados com destaque de sintaxe e botao de copiar.
- Seletor de modelo — troque modelos sem reiniciar.
- Limpar chat — resetar o historico de conversa.
Prompts de Exemplo
Aqui estao alguns prompts eficazes para testar com o Assistente de IA:
| Categoria | Prompt |
|---|---|
| Geracao de codigo | "Escreva uma funcao Harbour que ordena um array usando quicksort" |
| Explicacao | "Explique como o componente TTransformer funciona" |
| Depuracao | "Por que estou recebendo um erro 'variavel nao encontrada' nesta linha?" |
| Refatoracao | "Reescreva este codigo procedural como uma classe Harbour" |
| Boas praticas | "Qual a melhor forma de lidar com conexoes de banco de dados no HarbourBuilder?" |
| Aprendizado | "Mostre como usar eventos com um TButton" |
Usando TOllama no Seu Codigo
O mesmo componente TOllama que alimenta o Assistente de IA esta disponivel nas suas proprias aplicacoes. Veja como usa-lo:
Uso Basico
#include "hbbuilder.ch" function Main() local oOllama, cResponse DEFINE OLLAMA oOllama ; HOST "localhost" ; PORT 11434 ; MODEL "llama3" cResponse := oOllama:Chat( "O que e a linguagem de programacao Harbour?" ) ? cResponse return nil
Resposta em Streaming
static function StreamExample( oOllama, oMemo ) local cPrompt := "Escreva uma funcao Harbour para calcular fibonacci" oMemo:Append( "Gerando...\n\n" ) // Stream da resposta token por token em um Memo oOllama:ChatStream( cPrompt, ; { |cToken| oMemo:Append( cToken ) } ) return nil
Definindo um Prompt de Sistema
oOllama:SetSystem( "Voce e um especialista em Harbour/xBase. ; Sempre forneca exemplos de codigo completos e funcionais. ; Explique seu raciocinio claramente." ) cResponse := oOllama:Chat( "Como leio um arquivo linha por linha?" )
Usando LM Studio
LM Studio fornece uma API compativel. Basta apontar o TOllama para o servidor LM Studio:
oOllama := TOllama():New() oOllama:cHost := "localhost" oOllama:nPort := 1234 // Porta padrao do LM Studio oOllama:cModel := "local-model"
Beneficios de Privacidade
- Sem exfiltracao de dados — seu codigo fonte, logica de negocio e chaves de API nunca saem da sua maquina.
- Sem chaves de API para gerenciar — modelos locais nao requerem autenticacao ou configuracao de faturamento.
- Funciona offline — uma vez baixados os modelos, nenhuma conexao com a internet e necessaria.
- Sem limites de taxa — consultas ilimitadas sem limites de uso ou custos por token.
- Seguro para empresas — em conformidade com politicas que proibem enviar codigo para servicos externos de IA.
O Assistente de IA usa TOllama internamente. Tudo que voce pode fazer no painel do assistente, voce tambem pode fazer programaticamente nas suas proprias aplicacoes HarbourBuilder. Consulte o tutorial de Integracao com IA para um guia completo.
Configuracao
Abra o painel do Assistente de IA pelo menu Ferramentas > Assistente de IA ou use o botao na barra de ferramentas. O icone de engrenagem de configuracoes permite configurar:
| Configuracao | Descricao | Padrao |
|---|---|---|
| Backend | Ollama ou LM Studio | Ollama |
| Host | Hostname ou IP do servidor | localhost |
| Porta | Porta do servidor | 11434 |
| Modelo | Modelo a usar para o chat | llama3 |
| Temperatura | Criatividade (0,0–2,0) | 0,7 |
| Max Tokens | Tamanho maximo da resposta | 2048 |
| Prompt de Sistema | Instrucoes personalizadas do sistema | (vazio) |