Skip to content

v2.0.0 — RAG + Multi-Tool-Calling AI Agent

Choose a tag to compare

@bhaskarblur bhaskarblur released this 03 Mar 06:16
· 76 commits to main since this release
3ce1e6e

🚀 NeoBase v2.0.0 — RAG + Multi-Tool-Calling AI Agent

This is a major release that completely re-architects NeoBase's AI engine. The LLM no longer
generates queries in a single shot — it now operates as an autonomous AI agent with tool access,
backed by vector search (RAG) for intelligent context retrieval.

✨ Highlights

From Single API Call to Iterative AI Agent

The LLM now has access to 3 tools (get_table_info, execute_read_query,
generate_final_response) and can iterate up to 10 times per request — inspecting tables,
running test queries, and self-correcting before delivering results. Implemented natively
across Gemini, OpenAI, Claude, and Ollama.

RAG-Powered Context (80-95% Token Savings)

Instead of injecting the entire database schema into every prompt, NeoBase now uses vector
embeddings (via Qdrant) to retrieve only the relevant 2-5 tables per query. This reduces
prompt tokens by 80-95% for large schemas and dramatically improves accuracy by reducing noise.

Auto-Generated Knowledge Base

Every database connection gets an AI-generated Knowledge Base — natural language descriptions
of every table and field. These descriptions enrich vector embeddings and are available for
users to view and edit through a new UI tab.

Self-Improving Context

User queries and AI responses are embedded into a message history vector collection, enabling
the system to leverage past conversations for better context in future queries.

🔧 What's New

  • Multi-Tool-Calling Agent — Iterative tool execution across all 4 LLM providers
  • RAG Pipeline — Qdrant vector DB + OpenAI/Gemini embedding providers
  • Knowledge Base — Auto-generated table/field descriptions stored in MongoDB
  • Smart Schema Chunking — DB-aware chunking that respects table boundaries
  • Message Vectorization — Conversation history embedded for cross-query context
  • Empty Response Retry — Automatic retry with nudge prompts on LLM failures
  • Anti-Refusal Rules — LLMs cannot refuse data-related queries
  • Query Self-Correction — Failed queries retried with error context
  • Markdown Improvements — GFM tables, proper list rendering, dedup
  • KB Fallback for Recommendations — Graceful degradation when schema unavailable
  • DB-Aware Table Discovery — Fallback queries per database type
  • Auto-Vectorization — Legacy chats vectorized on first access

🐳 Infrastructure

  • New Dependency: Qdrant vector database (added to all Docker Compose files)
  • New Env Vars: QDRANT_HOST, QDRANT_PORT, embedding provider API keys

🗄️ Supported Databases

PostgreSQL · MySQL · MongoDB · ClickHouse · YugabyteDB · Google Sheets

⚠️ Breaking Changes

  • Qdrant is now a required dependency
  • New environment variables must be configured (see SETUP.md)
  • Full schema is no longer sent to LLM — replaced by RAG retrieval