Smart CodeInsight

Olá, leitores!

Vamos falar um pouco mais sobre o uso de IA diretamente no IDE do Delphi. Desta vez, abordaremos o recurso nativo chamado Smart CodeInsight, introduzido no Delphi 12 Atenas.

O Smart CodeInsight é uma arquitetura aberta que permite o uso dos seus mecanismos de IA favoritos. Além disso, o RAD Studio oferece uma interface do usuário personalizável para essa integração.

Ele oferece suporte aos seguintes LLMs:
Online: ChatGPT (OpenAI), Gemini (Google) e Claude (Anthropic)
Offline: Ollama

Configurações

Para utilizá-lo, é necessário habilitá-lo. Para isso, basta acessar o menu: Tools > Options > IDE > Smart CodeInsight. E habilitar a opção “Enable AI Engine”, como visto na imagem abaixo.

Nesta janela, você pode configurar a integração de IA nos seguintes campos:

  • Checkbox Enable AI Engine ativa todo o recurso.
  • Combobox Default AI for Editor (IA padrão para editor)
  • Combobox Default AI for Chat Window (IA padrão para janela de bate-papo)

Além disso, na seção Plugins, é possível configurar cada mecanismo de IA em sua guia correspondente, com um conjunto específico de parâmetros. Abaixo estão as opções iniciais sugeridas para cada IA:

  • ChatGPT
    • BaseURL: https://api.openai.com/v1
    • APIKey: API Key from OpenAI
    • Model: gpt-4
    • Max Token: 2048
    • Temperature: 0.1
  • Gemini
    • BaseURL: https://generativelanguage.googleapis.com/v1beta
    • APIKey: API Key from Google AI Studio
    • Model: gemini-1.5-pro
    • Max Token: 2048
    • Temperature: 0.9
    • TopK: 1
    • TopP: 1
  • Claude
    • BaseURL: https://api.anthropic.com/v1
    • APIKey: API Key from Anthropic
    • Model: claude-3-5-sonnet-20240620
    • Max Token: 1024
    • Anthropic Version: 2023-06-01

Chat para interação com IA

O chat para interação com a IA é um formulário encaixável da IDE, que funciona como qualquer janela de bate-papo de um LLM. Você pode digitar uma solicitação, escolher um mecanismo (a menos que queira usar o padrão) e aguardar a resposta. Aqui está um exemplo rápido:

Comandos do menu do editor

O menu do editor (botão direito no editor de código) oferece algumas operações predefinidas para o código selecionado no próprio editor. O objetivo é analisar e otimizar uma parte do código-fonte do seu aplicativo.

Como resultado, o mecanismo LLM retorna o resultado na janela do editor, inserindo-o como um comentário após o código analisado.

Comandos disponíveis

Confira os comandos disponíveis para o Smart CodeInsight (no Delphi 12 Atenas):

AI Chat: Abrir a visualização do chat.
Find Bugs: Tente encontrar possíveis bugs no código selecionado.
Explain Code: Explique o código selecionado.
Add Comment: Adicione comentários ao código selecionado.
Complete the code: Complete o código selecionado.
Optimize code: Otimize o código selecionado.
Add unit test: Adicione um teste unitário para o código selecionado.
Convert to Assembly: Converta o código selecionado para Assembly.
Convert to Delphi: Converta o código selecionado para Delphi (de C++ ou Assembly).
Convert to C++ Builder: Converta o código selecionado para C++ Builder.

Fico por aqui, leitores. Espero que testem e gostem de utilizar o Smart CodeInsight. Ele oferece vários recursos para nos auxiliar no desenvolvimento. Até mais!