Skip to main content

A playground for building RAG applications with MongoDB and Langchain

Project description

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.
  • Graph RAG: Ingest documents as knowledge graphs, visualize relationships, and perform graph-based question answering using LLMs and MongoDB.

Built as a set of AnyWidget Jupyter widgets, this playground is designed for rapid prototyping, learning, and demonstration of GenAI + MongoDB workflows.


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.

Installation

  1. Install dependencies:
pip install mongodb-ai-playground

The mongodb-ai-playground depends on the following Python libraries: anywidget, ipywidgets, langchain, langchain-mongodb, and pymongo.

  1. Enable Jupyter Widgets:

Make sure you have JupyterLab or Jupyter Notebook with widget support enabled.


Usage

1. RAG 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
)
widget # Display the playground widget
  • All interactions are performed via the interactive UI in Jupyter-compatible environments.
  • Visualize chunking, embeddings, vector search results, and knowledge graphs.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mongodb_ai_playground-0.0.3-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file mongodb_ai_playground-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for mongodb_ai_playground-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 57abea3e9cefba26960af1c21abd83d28ee8674f794bbd503a44be8d84997db2
MD5 8a4a73a13bdc03f471e4aeabfac32bb7
BLAKE2b-256 c4b5976325492fc0f36f5b23ce34a0325f318886f1b5ed9ca212e0ec2dcf0759

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page