Controles de IA NOVO

O HarbourBuilder e o primeiro IDE xBase com componentes de IA integrados. Arraste componentes de IA para o seu formulario, configure uma chave de API e interaja com os modelos de linguagem mais poderosos do mundo.

IA Local com Ollama

O componente TOllama conecta-se a uma instancia local do Ollama -- nenhuma chave de API e necessaria, totalmente privado, funciona offline. Perfeito para desenvolvimento e ambientes corporativos.

Visao Geral dos Componentes de IA

ComponenteID CTFornecedorTipo
TOpenAI46OpenAIAPI na Nuvem
TGemini47GoogleAPI na Nuvem
TClaude48AnthropicAPI na Nuvem
TDeepSeek49DeepSeekAPI na Nuvem
TGrok50xAIAPI na Nuvem
TOllama51OllamaServidor Local
TTransformer52LocalModelo no Dispositivo
TWhisper110OpenAI/LocalFala para Texto
TEmbeddings111DiversosEmbeddings Vetoriais

Propriedades Comuns (todos os controles de IA)

PropriedadeTipoDescricao
cApiKeyStringChave de autenticacao da API
cModelStringNome do modelo (ex. "gpt-4o", "claude-sonnet-4-20250514")
nTemperatureNumericoCriatividade (0,0 = deterministico, 2,0 = criativo)
nMaxTokensNumericoComprimento maximo da resposta
cSystemPromptStringInstrucoes do sistema para a IA
lStreamLogicoAtivar respostas em streaming (token por token)

Eventos Comuns

EventoParametrosDescricao
OnResponsecResponseResposta completa recebida
OnStreamcTokenCada token durante streaming
OnErrorcError, nCodeOcorreu erro na API
OnTokenCountnPrompt, nCompletionRelatorio de uso de tokens

Metodos Comuns

MetodoParametrosDescricao
:Chat( cMessage )StringEnviar mensagem de chat, dispara OnResponse
:Complete( cPrompt )StringCompletacao de texto
:Embed( cText )StringObter vetor de embedding

TOpenAI CT = 46

Conectar a API da OpenAI (GPT-4o, GPT-4, GPT-3.5).

oAI := TOpenAI():New()
oAI:cApiKey := "sk-..."
oAI:cModel  := "gpt-4o"
oAI:OnResponse := { |cResp| oMemo:Text := cResp }
oAI:Chat( "Explique as classes do Harbour" )

TGemini CT = 47

Conectar a API do Google Gemini.

Modelo padrao: gemini-2.5-flash

TClaude CT = 48

Conectar a API do Anthropic Claude.

Modelo padrao: claude-sonnet-4-20250514

TDeepSeek CT = 49

Conectar a API do DeepSeek. Excelente para geracao de codigo.

Modelo padrao: deepseek-chat

TGrok CT = 50

Conectar a API do xAI Grok.

Modelo padrao: grok-3

TOllama CT = 51

Conectar a instancia local do Ollama. Nenhuma chave de API necessaria.

PropriedadeTipoPadraoDescricao
cHostString"localhost"Host do servidor Ollama
nPortNumerico11434Porta do servidor Ollama
cModelString"llama3"Nome do modelo local
oAI := TOllama():New()
oAI:cModel := "codellama"
oAI:OnStream := { |cToken| oOutput:Text += cToken }
oAI:Chat( "Escreva uma funcao Harbour para ordenar um array" )

TTransformer CT = 52

Componente de arquitetura transformer completa. Treine, ajuste fino e execute inferencia localmente.

PropriedadeTipoPadraoDescricao
nLayersNumerico6Numero de camadas encoder/decoder
nHeadsNumerico8Numero de cabecas de atencao
nEmbedDimNumerico512Dimensao do embedding (d_model)
nFFDimNumerico2048Dimensao feed-forward
nVocabSizeNumerico50257Tamanho do vocabulario
nMaxSeqLenNumerico512Comprimento maximo da sequencia
nDropoutNumerico0.1Taxa de dropout
cWeightsFileString""Caminho dos pesos pre-treinados
lCausalLogico.T.Usar mascara causal (modo decoder)
EventoDescricao
OnAttentionAcessar pesos de atencao para visualizacao
OnGenerateToken gerado durante inferencia
OnTrainStepEtapa de treinamento concluida (com perda)
OnLossValor de perda computado
graph LR A[Texto de Entrada] --> B[Tokenizer] B --> C[Embedding + PE] C --> D["N x (MHA + FFN)"] D --> E[Linear + Softmax] E --> F[Tokens de Saida] style D fill:#58a6ff,stroke:#388bfd,color:#0d1117
Exemplos Didaticos

Veja a pasta samples/projects/transformer/ para 7 exemplos completos: visualizador de atencao, gerador de texto, treinamento do zero, explorador de tokenizer, analisador de sentimentos, tradutor e um guia completo "Attention Is All You Need".

TWhisper CT = 110

Transcricao de fala para texto usando o modelo Whisper da OpenAI ou implementacoes locais do Whisper. Converta arquivos de audio e entrada de microfone em tempo real para texto.

PropriedadeTipoPadraoDescricao
cAudioFileString""Caminho do arquivo de audio para transcricao
cLanguageString"en"Codigo do idioma (ex. "en", "es", "fr")
cModelString"whisper-1"Tamanho do modelo (tiny, base, small, medium, large)
lTranslateLogico.F.Traduzir para o ingles
nTaskNumerico00=transcrever, 1=traduzir
EventoDescricao
OnTranscriptionTranscricao completa recebida
OnSegmentCada segmento transcrito (com timestamps)
OnErrorOcorreu erro na transcricao
oWhisper := TWhisper():New()
oWhisper:cAudioFile := "gravacao.wav"
oWhisper:cLanguage := "pt"
oWhisper:OnTranscription := { |cText| oMemo:Text := cText }
oWhisper:Transcribe()

TEmbeddings CT = 111

Gere embeddings vetoriais para busca por similaridade de texto, busca semantica, agrupamento e recuperacao. Suporta diversos fornecedores, incluindo OpenAI, Ollama e modelos locais.

PropriedadeTipoPadraoDescricao
cModelString"text-embedding-ada-002"Nome do modelo de embedding
nDimensionsNumerico1536Numero de dimensoes do vetor
cMetricString"cosine"Medida de similaridade (cosine, euclidean, dotproduct)
aVectorsArray{}Vetores de embedding em cache
MetodoParametrosDescricao
:Embed( cText )StringGerar embedding para texto, retorna array
:Similarity( aVec1, aVec2 )ArraysCalcular similaridade entre vetores
:Index( cText, cId )StringsAdicionar texto ao indice vetorial com ID
:Search( cQuery, nTop )String, NumeroPesquisar vetores indexados, retorna top N
EventoDescricao
OnEmbedEmbedding gerado (com array de vetor)
OnSearchResultados da pesquisa recebidos (com similaridades)
OnErrorOcorreu erro no embedding
oEmb := TEmbeddings():New()
oEmb:cModel := "text-embedding-ada-002"

// Indexar alguns documentos
oEmb:Index( "HarbourBuilder e um IDE visual", "doc1" )
oEmb:Index( "Linguagem xBase para apps de banco de dados", "doc2" )

// Pesquisar
oEmb:OnSearch := { |aResults| ShowResults( aResults ) }
oEmb:Search( "ambiente de desenvolvimento visual", 5 )
Caso de Uso: Busca Semantica

Use o TEmbeddings para construir um motor de busca semantica: indexe seus documentos, depois pesquise por significado em vez de palavras-chave. Perfeito para bases de conhecimento e FAQs.

Nesta Página

TOpenAI CT = 46 TGemini CT = 47 TClaude CT = 48 TDeepSeek CT = 49 TGrok CT = 50 TOllama CT = 51 TTransformer CT = 52 TWhisper CT = 110 TEmbeddings CT = 111