MongoDBDatabaseToolkit#

class langchain_mongodb.agent_toolkit.toolkit.MongoDBDatabaseToolkit[source]#

Bases: BaseToolkit

MongoDBDatabaseToolkit for interacting with MongoDB databases.

Setup:

Install langchain-mongodb.

pip install -U langchain-mongodb
Key init args:
db: MongoDBDatabase

The MongoDB database.

llm: BaseLanguageModel

The language model (for use with QueryMongoDBCheckerTool)

Instantiate:
from langchain_mongodb.agent_toolkit.toolkit import MongoDBDatabaseToolkit
from langchain_mongodb.agent_toolkit.database import MongoDBDatabase
from langchain_openai import ChatOpenAI

db = MongoDBDatabase.from_connection_string("mongodb://localhost:27017/chinook")
llm = ChatOpenAI(temperature=0)

toolkit = MongoDBDatabaseToolkit(db=db, llm=llm)
Tools:
toolkit.get_tools()
Use within an agent:
from langchain import hub
from langgraph.prebuilt import create_react_agent
from mongodb_agent_toolkit.prompt import MONGODB_AGENT_SYSTEM_PROMPT

# Pull prompt (or define your own)
system_message = MONGODB_AGENT_SYSTEM_PROMPT.format(top_k=5)

# Create agent
agent_executor = create_react_agent(
    llm, toolkit.get_tools(), state_modifier=system_message
)

# Query agent
example_query = "Which country's customers spent the most?"

events = agent_executor.stream(
    {"messages": [("user", example_query)]},
    stream_mode="values",
)
for event in events:
    event["messages"][-1].pretty_print()
param db: MongoDBDatabase [Required]#
param llm: BaseLanguageModel [Required]#
get_context() dict[source]#

Return db context that you may want in agent prompt.

Return type:

dict

get_tools() List[BaseTool][source]#

Get the tools in the toolkit.

Return type:

List[BaseTool]