MongoDB AI Playground is a set of interactive widgets for to explore, test, and visualize MongoDB-powered AI capabilities in notebooks, including Retrieval-Augmented Generation (RAG) and GraphRAG workflows, using modern LLM and vector search integrations.
Built as a set of AnyWidget Jupyter widgets, this playground is designed for rapid prototyping, learning, and demonstration of GenAI + MongoDB workflows.
- 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 (it is enabled by default on most platforms).
- Create a database and collection (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
from mongodb_ai_playground import MongoDBRAGPlayground
# Example: Pass your own loader, embedding model, LLM, and MongoDB collection
widget = MongoDBRAGPlayground(
loader=..., # LangChain loader
embedding_model=..., # LangChain embedding model
llm=..., # LangChain Chat Model (LLM) for answering questions (OpenAI, Claude, DeepSeek, etc.)
mongo_collection=..., # PyMongo collection for storing vectors
index_name=... # Name of your Atlas Vector Search index, you need to create if you don't have one, with the correct dimension (field containing the embedding is 'embedding')
)
widget # Display the playground widget
- All interactions are performed via the interactive UI in Jupyter-compatible environments.
- Visualize chunking, embeddings, vector search results, and question answering.
Notebook examples
Description | Link |
---|---|
Wikipedia data + Voyage AI embedding + OpenAI LLM |
- 📄 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.
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
...
- 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.)
This project is licensed under the MIT License.