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
- Abra as configurações do VS Code.
- Procure por "Reasoning RAG".
- 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.