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.