Pular para o conteúdo principal

Base de Conhecimento RAG Embarcada

O Reasoning agora inclui um servidor RAG (Retrieval-Augmented Generation) integrado que permite criar e gerenciar uma base de conhecimento personalizada diretamente no plugin, sem necessidade de instalação externa.

Isso melhora significativamente a qualidade e a velocidade da geração de código, fornecendo contexto específico do projeto ao modelo de IA.

Visão Geral

O servidor RAG é inicializado automaticamente quando o Reasoning é ativado e oferece:

  • Armazenamento Local: A base de conhecimento é salva no diretório de dados do plugin.
  • Busca Semântica: Usa embeddings de vetores para encontrar conhecimento relevante.
  • Múltiplos Provedores de Embedding: OpenAI, Ollama ou local.
  • Persistência Automática: Os dados são salvos automaticamente em formato JSON.

Por que Usar RAG?

A geração de código tradicional muitas vezes carece de contexto específico do projeto, resultando em código genérico e inconsistente. O RAG resolve isso recuperando informações relevantes do seu projeto e injetando-as no prompt, o que leva a:

  • 🎯 Precisão: Código que se alinha aos padrões do seu projeto.
  • Velocidade: Uma redução de 30-50% no tempo de desenvolvimento.
  • 🔄 Consistência: Geração de código que segue as convenções estabelecidas.
  • 📚 Qualidade: Uma melhoria de 40-60% na qualidade do código gerado.

Ferramentas Disponíveis

Você pode interagir com a base de conhecimento usando as seguintes ferramentas através do chat:

1. Adicionar Conhecimento

{
"tool": "add_rag_knowledge",
"arguments": {
"content": "React é uma biblioteca JavaScript para construir interfaces de usuário",
"title": "React - Introdução",
"source": "react-documentation",
"tags": ["react", "javascript", "frontend"]
}
}

2. Pesquisar Conhecimento

{
"tool": "search_rag_knowledge",
"arguments": {
"query": "React hooks useState",
"maxResults": 5,
"minScore": 0.8,
"tags": ["react"]
}
}

3. Listar Conhecimento

{
"tool": "list_rag_knowledge",
"arguments": {
"limit": 20,
"tags": ["javascript"]
}
}

4. Atualizar Conhecimento

{
"tool": "update_rag_knowledge",
"arguments": {
"id": "abc123def456",
"content": "Conteúdo atualizado",
"title": "Título Atualizado",
"tags": ["updated", "react"]
}
}

5. Deletar Conhecimento

{
"tool": "delete_rag_knowledge",
"arguments": {
"id": "abc123def456"
}
}

6. Obter Estatísticas

{
"tool": "get_rag_stats",
"arguments": {}
}

Exemplos de Uso no Chat

Adicionar Documentação

Adicione à base de conhecimento: "TypeScript é um superconjunto de JavaScript que adiciona tipagem estática."

Pesquisar Informações

Pesquise na base de conhecimento por informações sobre TypeScript

Configuração

  1. Abra as configurações do VS Code.
  2. Procure por "Reasoning RAG".
  3. Configure os provedores de embedding e outras opções.
{
"reasoning.rag.embeddingProvider": "local",
"reasoning.rag.embeddingModel": "text-embedding-3-small",
"reasoning.rag.maxResults": 10,
"reasoning.rag.minScore": 0.7,
"reasoning.rag.openaiApiKey": "sua-chave-openai",
"reasoning.rag.ollamaUrl": "http://localhost:11434"
}

Casos de Uso

  • Documentação do Projeto: Armazene decisões de arquitetura, padrões de código e documentação específica.
  • Trechos de Código: Salve exemplos de código, soluções para problemas comuns e templates.
  • Conhecimento de Domínio: Documente regras de negócio e informações sobre APIs.
  • Solução de Problemas: Mantenha um histórico de bugs, soluções e contornos.

Para um guia de testes detalhado, consulte o Guia de Testes da Base de Conhecimento RAG.