{"id":3447,"date":"2026-02-17T14:12:32","date_gmt":"2026-02-17T14:12:32","guid":{"rendered":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2026\/02\/17\/the-multi-model-database-for-ai-agents-deploy-surrealdb-with-docker-extension\/"},"modified":"2026-02-17T14:12:32","modified_gmt":"2026-02-17T14:12:32","slug":"the-multi-model-database-for-ai-agents-deploy-surrealdb-with-docker-extension","status":"publish","type":"post","link":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2026\/02\/17\/the-multi-model-database-for-ai-agents-deploy-surrealdb-with-docker-extension\/","title":{"rendered":"The Multi-Model Database for AI Agents: Deploy SurrealDB with Docker Extension"},"content":{"rendered":"<p>When it comes to building dynamic and real-work solutions, developers need to stitch multiple databases (relational, document, graph, vector, time-series, search) together and build complex API layers to integrate them. This generates significant complexity, cost, and operational risk, and reduces speed of innovation. More often than not, developers end up focusing on building glue code and managing infrastructure rather than building application logic. For AI use cases, using multiple databases means AI Agents have fragmented data, context and memory, producing bad outputs at high latency.<\/p>\n<p>Enter <strong>SurrealDB<\/strong>.<\/p>\n<p>SurrealDB is a multi-model database built in Rust that unifies document, graph, relational, time-series, geospatial, key-value, and vector data into a single engine. Its SQL-like query language, SurrealQL, lets you traverse graphs, perform vector search, and query structured data \u2013 all in one statement.<\/p>\n<p>Designed for data-intensive workloads like AI agent memory, knowledge graphs, real-time applications, and edge deployments, SurrealDB runs as a single binary anywhere: embedded in your app, in the browser via WebAssembly, at the edge, or as a distributed cluster.<\/p>\n<h2 class=\"wp-block-heading\">What problem does SurrealDB solve?<\/h2>\n<p>Modern AI systems place very different demands on data infrastructure than traditional applications. SurrealDB addresses these pressures directly:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>Single runtime for multiple data models<\/strong> \u2013 AI systems frequently combine vector search, graph traversal, document storage, real-time state, and relational data in the same request path. SurrealDB supports these models natively in one engine, avoiding brittle cross-database APIs, ETL pipelines, and consistency gaps.<\/li>\n<li><strong>Low-latency access to changing context<\/strong> \u2013 Voice agents, interactive assistants, and stateful agents are sensitive to both latency and data freshness. SurrealDB\u2019s query model and real-time features serve up-to-date context without polling or background sync jobs.<\/li>\n<li><strong>Reduced system complexity<\/strong> \u2013 Replacing multiple specialized databases with a single multi-model store reduces services, APIs, and failure modes. This simplifies deployment, debugging, and long-term maintenance.<\/li>\n<li><strong>Faster iteration on data-heavy features<\/strong> \u2013 Opt in schemas definitions and expressive queries let teams evolve data models alongside AI features without large migrations. This is particularly useful when experimenting with embeddings, relationships, or agent memory structures.<\/li>\n<li><strong>Built-in primitives for common AI patterns<\/strong> \u2013 Native support for vectors, graphs, and transactional consistency enables RAG, graph-augmented retrieval, recommendation pipelines, and agent state management \u2013 without external systems or custom glue code.<\/li>\n<\/ul>\n<p>In this article, you\u2019ll see how to build a WhatsApp RAG chatbot using SurrealDB Docker Extension. You\u2019ll learn how SurrealDB Docker Extension powers an intelligent WhatsApp chatbot that turns your chat history into searchable, AI-enhanced conversations with vector embeddings and precise source citations.<\/p>\n<h2 class=\"wp-block-heading\"><strong>Understanding SurrealDB Architecture<\/strong><\/h2>\n<p>SurrealDB\u2019s architecture unifies multiple data models within a single database engine, eliminating the need for separate systems and synchronization logic (figure below).<\/p>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=963434655  fetchpriority=\"high\" decoding=\"async\" width=\"1999\" height=\"710\" src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image3.png\" class=\"fade-in attachment-full size-full\" alt=\"SurrealDB Architecture diagram\" title=\"- image3\" \/>\n        <\/div>\n<p><em>Caption: SurrealDB Architecture diagram<\/em><\/p>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=1542004993  fetchpriority=\"high\" decoding=\"async\" width=\"1804\" height=\"1086\" src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image9.png\" class=\"fade-in attachment-full size-full\" alt=\"Architecture diagram of SurrealDB showing a unified multi-model database with real-time capabilities\" title=\"- image9\" \/>\n        <\/div>\n<p><em>Caption: Architecture diagram of SurrealDB showing a unified multi-model database with real-time capabilities. (more information at <\/em><a href=\"https:\/\/surrealdb.com\/docs\/surrealdb\/introduction\/architecture\" rel=\"nofollow noopener\" target=\"_blank\"><em>https:\/\/surrealdb.com\/docs\/surrealdb\/introduction\/architecture<\/em><\/a><em>)<\/em><\/p>\n<p>With SurrealDB, you can:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>Model complex relationships<\/strong> using graph traversal syntax (e.g., <code>-&gt;bought_together-&gt;product<\/code>)<\/li>\n<li><strong>Store flexible documents<\/strong> alongside structured relational tables<\/li>\n<li><strong>Subscribe to real-time changes<\/strong> with <code>LIVE SELECT<\/code> queries that push updates instantly<\/li>\n<li><strong>Ensure data consistency<\/strong> with ACID-compliant transactions across all models<\/li>\n<\/ul>\n<p>Learn more about<a href=\"https:\/\/surrealdb.com\/docs\" rel=\"nofollow noopener\" target=\"_blank\"> SurrealDB\u2019s architecture<\/a> and<a href=\"https:\/\/surrealdb.com\/features\" rel=\"nofollow noopener\" target=\"_blank\"> key features<\/a> on the official documentation.<\/p>\n<h2 class=\"wp-block-heading\">How does Surreal work?<\/h2>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=203070650  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image19.png\"  decoding=\"async\" width=\"1999\" height=\"1121\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"SurrealDB diagram\" title=\"- image19\" \/>\n        <\/div>\n<p>SurrealDB separates storage from compute, enabling you to scale these independently without the need to manually shard your data.<\/p>\n<p>The query layer (otherwise known as the compute layer) handles queries from the client, analyzing which records need to be selected, created, updated, or deleted.<\/p>\n<p>The storage layer handles the storage of the data for the query layer. By scaling storage nodes, you are able to increase the amount of supported data for each deployment.<\/p>\n<p>SurrealDB supports all the way from single-node to highly scalable fault-tolerant deployments with large amounts of data.<\/p>\n<p>For more information, see <a href=\"https:\/\/surrealdb.com\/docs\/surrealdb\/introduction\/architecture\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/surrealdb.com\/docs\/surrealdb\/introduction\/architecture<\/a>.\u00a0<\/p>\n<h2 class=\"wp-block-heading\">Why should you run SurrealDB as a Docker Extension<\/h2>\n<p>For developers already using Docker Desktop, running SurrealDB as an extension eliminates friction. There\u2019s no separate installation, no dependency management, no configuration files \u2013 just a single click from the Extensions Marketplace.<\/p>\n<p>Docker provides the ideal environment to bundle and run SurrealDB in a lightweight, isolated container. This encapsulation ensures consistent behavior across macOS, Windows, and Linux, so what works on your laptop works identically in staging.<\/p>\n<p>The Docker Desktop Extension includes:<\/p>\n<ul class=\"wp-block-list\">\n<li><strong>Visual query editor<\/strong> with SurrealQL syntax highlighting<\/li>\n<li><strong>Real-time data explorer<\/strong> showing live updates as records change<\/li>\n<li><strong>Schema visualization<\/strong> for tables and relationships<\/li>\n<li><strong>Connection management<\/strong> to switch between local and remote instances<\/li>\n<li><strong>Built-in backup\/restore<\/strong> for easy data export and import<\/li>\n<\/ul>\n<p>With Docker Desktop as the only prerequisite, you can go from zero to a running SurrealDB instance in under a minute.<\/p>\n<h2 class=\"wp-block-heading\">Getting Started<\/h2>\n<p>To begin, download and install <a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\">Docker Desktop<\/a> on your machine. Then follow these steps:<\/p>\n<ol class=\"wp-block-list\">\n<li>Open Docker Desktop and select <strong>Extensions<\/strong> in the left sidebar<\/li>\n<li>Switch to the <strong>Browse<\/strong> tab<\/li>\n<li>In the Filters dropdown, select the <strong>Database<\/strong> category<\/li>\n<li>Find <strong>SurrealDB<\/strong> and click <strong>Install<\/strong><\/li>\n<\/ol>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=943789060  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image24.png\"  decoding=\"async\" width=\"1432\" height=\"810\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"Docker Desktop browse extensions\" title=\"- image24\" \/>\n        <\/div>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=1025309979  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image6.png\"  decoding=\"async\" width=\"1700\" height=\"471\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"SurrealDB in Docker Desktop extensions\" title=\"- image6\" \/>\n        <\/div>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=2099340613  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image7.png\"  decoding=\"async\" width=\"1700\" height=\"471\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"Installing SurrealDB in Docker Desktop extensions\" title=\"- image7\" \/>\n        <\/div>\n<p><em>Caption: Installing the SurrealDB Extension from Docker Desktop\u2019s Extensions Marketplace.<\/em><\/p>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=402259880  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image20.png\"  decoding=\"async\" width=\"1722\" height=\"944\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"SurrealDB Docker Extension\" title=\"- image20\" \/>\n        <\/div>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=1801076691  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image11.png\"  decoding=\"async\" width=\"1417\" height=\"866\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"SurrealDB Docker Extension manager\" title=\"- image11\" \/>\n        <\/div>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=2126153413  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image23.png\"  decoding=\"async\" width=\"1417\" height=\"866\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"SurrealDB Docker Extension help\" title=\"- image23\" \/>\n        <\/div>\n<h2 class=\"wp-block-heading\">Real-World Example<\/h2>\n<h3 class=\"wp-block-heading\">Smart Team Communication Assistant<\/h3>\n<p>Imagine searching through months of team WhatsApp conversations to answer the question: \u201cWhat did we decide about the marketing campaign budget?\u201d<\/p>\n<p>Traditional keyword search fails, but <strong>RAG with SurrealDB and LangChain<\/strong> solves this by combining semantic vector search with relationship graphs.<\/p>\n<p>This architecture analyzes group chats (WhatsApp, Instagram, Slack) by storing conversations as vector embeddings while simultaneously building a knowledge graph linking conversations through extracted keywords like \u201cbudget,\u201d \u201cmarketing,\u201d and \u201cdecision.\u201d When queried, the system retrieves relevant context using both similarity matching and graph traversal, delivering accurate answers about past discussions, decisions, and action items even when phrased differently than the original conversation.<\/p>\n<p>This project is inspired by <a href=\"https:\/\/surrealdb.com\/blog\/multi-model-rag-with-langchain\" rel=\"nofollow noopener\" target=\"_blank\">Multi-model RAG with LangChain<\/a> | <a href=\"https:\/\/github.com\/surrealdb\/langchain-surrealdb\/tree\/main\/examples\/graphrag-travel-group-chat\" rel=\"nofollow noopener\" target=\"_blank\">GitHub Example<\/a><\/p>\n<p>1. Clone the repository:<\/p>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\">\ngit clone https:\/\/github.com\/Raveendiran-RR\/surrealdb-rag-demo \n<\/pre>\n<\/div>\n<p>2. Enable <strong>Docker Model Runner<\/strong> by visiting\u00a0 Docker Desktop\u00a0 &gt; Settings &gt; AI<\/p>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=1955630990  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image14.png\"  decoding=\"async\" width=\"1842\" height=\"895\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"Enable Docker Model Runner\" title=\"- image14\" \/>\n        <\/div>\n<p><em>Caption: Enable Docker Model Runner in Docker Desktop &gt; settings &gt; AI<\/em><\/p>\n<p>3. Pull llama3.2 model from Docker Hub<\/p>\n<p>Search for llama 3.2 under Models &gt; Docker Hub and pull the right model.<\/p>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=607348537  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image22.png\"  decoding=\"async\" width=\"869\" height=\"561\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"llama3.2 in Docker Hub\" title=\"- image22\" \/>\n        <\/div>\n<p><em>Caption: \u00a0Pull the Docker model llama3.2<\/em><\/p>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=689692204  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image16.png\"  decoding=\"async\" width=\"1477\" height=\"504\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"llama3.2 in Docker Hub\" title=\"- image16\" \/>\n        <\/div>\n\n<p>4. Download the <code>embeddinggemma<\/code> model from Docker Hub<\/p>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=1089994935  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image21.png\"  decoding=\"async\" width=\"1477\" height=\"504\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"embeddinggemma model in DMR\" title=\"- image21\" \/>\n        <\/div>\n<p><em>Caption: Click on Models &gt; Search for embeddinggemma &gt; download the model<\/em><\/p>\n<p>5. Run this command to connect to the persistent surrealDB container<\/p>\n<ul class=\"wp-block-list\">\n<li>Browse to the directory where you have cloned the repository<\/li>\n<li>Create directory \u201cmydata\u201d<\/li>\n<\/ul>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\">\nmkdir -p mydata\n<\/pre>\n<\/div>\n<p>6. Run this command:<\/p>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\">\ndocker run -d --name demo_data \n  -p 8002:8000 \n  -v \"$(pwd)\/mydata:\/mydata\" \n  surrealdb\/surrealdb:latest \n  start --log debug --user root --pass root \n  rocksdb:\/\/mydata\n<\/pre>\n<\/div>\n<p>Note: use the path based on the operating system.\u00a0<\/p>\n<ul class=\"wp-block-list\">\n<li>For windows , use rocksdb:\/\/mydata<\/li>\n<li>For linux and macOS, use rocksdb:\/mydata<\/li>\n<\/ul>\n<p>7. Open SurrealDB Docker Extension and connect with SurrealDB.<\/p>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=469485788  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image13.png\"  decoding=\"async\" width=\"1612\" height=\"916\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"Connecting to SurrealDB through Docker Desktop Extension\" title=\"- image13\" \/>\n        <\/div>\n<p><em>Caption: Connecting to SurrealDB through Docker Desktop Extension<\/em><\/p>\n<ul class=\"wp-block-list\">\n<li>Connection name: RAGBot<\/li>\n<\/ul>\n<ul class=\"wp-block-list\">\n<li>Remote address: <code>http:\/\/localhost:8002<\/code><\/li>\n<\/ul>\n<ul class=\"wp-block-list\">\n<li>Username: root | password: root<\/li>\n<\/ul>\n<ul class=\"wp-block-list\">\n<li>Click on <strong>Create Connection<\/strong><\/li>\n<\/ul>\n<p>8. Run the setup instructions\u00a0<\/p>\n<p>9. Upload the whatsapp chat<\/p>\n<ul class=\"wp-block-list\">\n<li>Start the UI for the RAG bot (<a href=\"http:\/\/localhost:8080\/\" rel=\"nofollow noopener\" target=\"_blank\">http:\/\/localhost:8080<\/a>)<\/li>\n<\/ul>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=577705516  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image1.png\"  decoding=\"async\" width=\"1612\" height=\"916\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"Create connection to the SurrealDB Docker container\" title=\"- image1\" \/>\n        <\/div>\n<p><em>Caption: Create connection to the SurrealDB Docker container<\/em><\/p>\n<p>10. Start chatting with the RAG bot and have fun\u00a0<\/p>\n<p>11. We can verify the correctness data in SurrealDB list\u00a0<\/p>\n<ul class=\"wp-block-list\">\n<li>Ensure that you connect to the right namespace (whatsapp) and database (chats)<\/li>\n<\/ul>\n<div class=\"wp-block-syntaxhighlighter-code \">\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\">\npython3 load_whatsapp.py\npython3 rag_chat_ui.py\n<\/pre>\n<\/div>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=1753617477  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image18.png\"  decoding=\"async\" width=\"862\" height=\"393\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"SurrealDB namespace query\" title=\"- image18\" \/>\n        <\/div>\n<p><em>Caption: connect to the \u201cwhatsapp\u201d namespace and \u201cchats\u201d database<\/em><\/p>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=822205323  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image10.png\"  decoding=\"async\" width=\"1019\" height=\"393\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"SurrealDB namespace query\" title=\"- image10\" \/>\n        <\/div>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=1058000092  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image4.png\"  decoding=\"async\" width=\"1842\" height=\"895\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"Data stored as vectors in SurrealDB\" title=\"- image4\" \/>\n        <\/div>\n<p><em>Caption: Data stored as vectors in SurrealDB<\/em><\/p>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=147840062  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image5.png\"  decoding=\"async\" width=\"1920\" height=\"1080\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"Interact with the RAG bot UI\" title=\"- image5\" \/>\n        <\/div>\n<p><em>Caption: Interact with the RAG bot UI where it gives you the answer and exact reference for it\u00a0<\/em><\/p>\n<p>Using this chat bot, now you can get information about the chat.txt file that was ingested. You can also verify the information in the query editor as shown below when you can run custom queries to validate the results from the chat bot. You can ingest new messages through the load_whatsapp.py file, please ensure that the message format is same as in the sample whatsChatExport.txt file.<\/p>\n<p>Learn more about <a href=\"https:\/\/surrealdb.com\/docs\/surrealql\" rel=\"nofollow noopener\" target=\"_blank\">SurrealQL here<\/a>.<\/p>\n<div class=\"wp-block-ponyo-image\">\n                <img data-opt-id=656096701  data-opt-src=\"https:\/\/www.docker.com\/app\/uploads\/2026\/02\/image12.png\"  decoding=\"async\" width=\"1842\" height=\"895\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" class=\"fade-in attachment-full size-full\" alt=\"SurrealDB Query editor in the Docker Desktop Extension\" title=\"- image12\" \/>\n        <\/div>\n<p><em>Caption: SurrealDB Query editor in the Docker Desktop Extension<\/em><\/p>\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n<p>The SurrealDB Docker Extension offers an accessible and powerful solution for developers building data-intensive applications \u2013 especially those working with AI agents, knowledge graphs, and real-time systems. Its multi-model architecture eliminates the need to stitch together separate databases, letting you store documents, traverse graphs, query vectors, and subscribe to live updates from a single engine.<\/p>\n<p>With Docker Desktop integration, getting started takes seconds rather than hours. No configuration files, no dependency management \u2013 just install the extension and start building. The visual query editor and real-time data explorer make it easy to prototype schemas, test queries, and inspect data as it changes.<\/p>\n<p>Whether you\u2019re building agent memory systems, real-time recommendation engines, or simply looking to consolidate a sprawling database stack, SurrealDB\u2019s Docker Extension provides an intuitive path forward. Install it today and see how a unified data layer can simplify your architecture.<\/p>\n<p>If you have questions or want to connect with other SurrealDB users, join the<a href=\"https:\/\/discord.gg\/surrealdb\" rel=\"nofollow noopener\" target=\"_blank\"> SurrealDB community on Discord<\/a>.<\/p>\n<h3 class=\"wp-block-heading\"><strong>Learn More<\/strong><\/h3>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/hub.docker.com\/extensions\/surrealdb\/surrealist-docker-extension\" rel=\"nofollow noopener\" target=\"_blank\">Install the SurrealDB Docker Extension<\/a><\/li>\n<li><a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\">Get the latest release of Docker Desktop<\/a><\/li>\n<li><a href=\"https:\/\/surrealdb.com\/docs\" rel=\"nofollow noopener\" target=\"_blank\">SurrealDB documentation<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/docker\/roadmap\" rel=\"nofollow noopener\" target=\"_blank\">Vote on what\u2019s next! Check out our public roadmap<\/a><\/li>\n<li>Have questions? The<a href=\"https:\/\/www.docker.com\/community\/\"> Docker community<\/a> is here to help<\/li>\n<li>New to Docker?<a href=\"https:\/\/docs.docker.com\/get-started\/\" rel=\"nofollow noopener\" target=\"_blank\"> Get started<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>When it comes to building dynamic and real-work solutions, developers need to stitch multiple databases (relational, document, graph, vector, time-series, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3448,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[4],"tags":[],"class_list":["post-3447","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docker"],"_links":{"self":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/3447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/comments?post=3447"}],"version-history":[{"count":0,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/3447\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/media\/3448"}],"wp:attachment":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/media?parent=3447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/categories?post=3447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/tags?post=3447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}