v2.0.0 — RAG + Multi-Tool-Calling AI Agent
🚀 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