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
- Abre la configuración de VS Code.
- Busca "Reasoning RAG".
- 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.