Ir al contenido principal

Base de Conocimiento RAG Integrada

Reasoning ahora incluye un servidor RAG (Generación Aumentada por Recuperación) integrado que te permite crear y gestionar una base de conocimiento personalizada directamente dentro del plugin, sin necesidad de instalación externa.

Esto mejora significativamente la calidad y velocidad de la generación de código al proporcionar contexto específico del proyecto al modelo de IA.

Descripción General

El servidor RAG se inicializa automáticamente cuando se activa Reasoning y ofrece:

  • Almacenamiento Local: La base de conocimiento se guarda en el directorio de datos del plugin.
  • Búsqueda Semántica: Usa embeddings vectoriales para encontrar conocimiento relevante.
  • Múltiples Proveedores de Embeddings: OpenAI, Ollama o local.
  • Persistencia Automática: Los datos se guardan automáticamente en formato JSON.

¿Por Qué Usar RAG?

La generación de código tradicional a menudo carece de contexto específico del proyecto, lo que resulta en código genérico e inconsistente. RAG resuelve esto recuperando información relevante de tu proyecto e inyectándola en el prompt, lo que lleva a:

  • 🎯 Precisión: Código que se alinea con los estándares de tu proyecto.
  • Velocidad: Una reducción del 30-50% en el tiempo de desarrollo.
  • 🔄 Consistencia: Generación de código que sigue las convenciones establecidas.
  • 📚 Calidad: Una mejora del 40-60% en la calidad del código generado.

Herramientas Disponibles

Puedes interactuar con la base de conocimiento usando las siguientes herramientas a través del chat:

1. Agregar Conocimiento

{
"tool": "add_rag_knowledge",
"arguments": {
"content": "React es una biblioteca de JavaScript para construir interfaces de usuario",
"title": "React - Introducción",
"source": "react-documentation",
"tags": ["react", "javascript", "frontend"]
}
}

2. Buscar Conocimiento

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

3. Listar Conocimiento

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

4. Actualizar Conocimiento

{
"tool": "update_rag_knowledge",
"arguments": {
"id": "abc123def456",
"content": "Contenido actualizado",
"title": "Título Actualizado",
"tags": ["updated", "react"]
}
}

5. Eliminar Conocimiento

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

6. Obtener Estadísticas

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

Ejemplos de Uso en el Chat

Agregar Documentación

Agrega a la base de conocimiento: "TypeScript es un superconjunto de JavaScript que agrega tipado estático."

Buscar Información

Busca en la base de conocimiento información sobre TypeScript

Configuración

  1. Abre la configuración de VS Code.
  2. Busca "Reasoning RAG".
  3. Configura los proveedores de embeddings y otras opciones.
{
"reasoning.rag.embeddingProvider": "local",
"reasoning.rag.embeddingModel": "text-embedding-3-small",
"reasoning.rag.maxResults": 10,
"reasoning.rag.minScore": 0.7,
"reasoning.rag.openaiApiKey": "your-openai-key",
"reasoning.rag.ollamaUrl": "http://localhost:11434"
}

Casos de Uso

  • Documentación del Proyecto: Almacena decisiones arquitectónicas, patrones de código y documentación específica.
  • Fragmentos de Código: Guarda ejemplos de código, soluciones a problemas comunes y plantillas.
  • Conocimiento del Dominio: Documenta reglas de negocio e información sobre APIs.
  • Solución de Problemas: Mantén un historial de errores, soluciones y soluciones alternativas.

Para una guía de pruebas detallada, consulta la Guía de Pruebas de la Base de Conocimiento RAG.