MongoDB AI Playground
MongoDB AI Playground is a set of interactive widgets to explore, test, and visualize MongoDB-powered AI capabilities, including Retrieval-Augmented Generation (RAG) and GraphRAG workflows, using modern LLM and vector search integrations.
Overview
The MongoDB AI Playground provides interactive widgets for experimenting with advanced AI capabilities on MongoDB, including:
- RAG (Retrieval-Augmented Generation): Chunk, embed, store, and query documents using MongoDB Atlas Vector Search and LLMs.

Built as a set of AnyWidget Jupyter widgets, this playground is designed for rapid prototyping, learning, and demonstration of GenAI + MongoDB workflows.
Installation
- An Atlas account with a cluster running MongoDB version 6.0.11, 7.0.2, or later (including release candidates). Ensure your IP address is included in your Atlas project's access list. To learn more, see Create a Cluster.
- An environment to run interactive Python notebooks such as JupyterLab, Jupyter Notebook, Google Colab and VSCode. Make sure you have widget support enabled.
- Create a database and collection (:warning: if you choose to use an existing collection, usage with the playground will erase the collection's data. Providing a new collection is recommended)
- Create an Atlas Vector Search index with the correct dimension associated with the embedding model you will use. The field containing the embedding must be named
embedding
.
pip install mongodb-ai-playground
The mongodb-ai-playground depends on the following Python libraries: anywidget
, ipywidgets
, langchain
, langchain-mongodb
, and pymongo
.
Full examples
Usage
RAG Playground
from mongodb_ai_playground import MongoDBRAGPlayground
widget = MongoDBRAGPlayground(
loader=...,
embedding_model=...,
llm=...,
mongo_collection=...,
index_name=...
)
widget
- All interactions are performed via the interactive UI in Jupyter-compatible environments.
- Visualize chunking, embeddings, vector search results, and knowledge graphs.
Features
- 📄 Document Chunking: Flexible strategies (fixed, recursive, markdown) for splitting documents.
- 🧠 Embeddings & Vector Search: Store and search embeddings in MongoDB Atlas using langchain-mongodb.
- 🔎 RAG Playground UI: Step-by-step interface for chunking, embedding, and querying.
- 🕸️ Knowledge Graph RAG: Build and visualize entity/relation graphs from docs and run graph-based QA.
- 🧩 Extensible: Built for experimentation with LangChain so that you can use different loaders, embeddings models, LLMs and more.
Project Structure
mongodb_ai_playground/
├── rag_widget.py # RAG playground widget (chunking, embedding, RAG)
├── graphrag_widget.py # Graph RAG playground widget (graph ingest, QA)
├── index.js # JS frontend for RAG widget
├── graphrag.js # JS frontend for Graph RAG widget
├── index.css # Shared widget styles
├── __init__.py # Exports widgets
...
Requirements
- Python 3.7+
- Jupyter widget compatible environments (JupyterLab, Jupyter Notebook, Colab, Marimo, etc.)
- MongoDB Atlas deployment (for vector/graph storage)
- Any LLM and embedding model using LangChain components (OpenAI, HuggingFace, etc.)
License
This project is licensed under the MIT License.
Acknowledgments
Additional Resources