Setup
Follow the instructions in the Azure Cosmos DB Setup Guide to get the connection string.
Install MongoDB packages:
pip install "pymongo[srv]"
Example
import urllib.parse
from agno.agent import Agent
from agno.knowledge.pdf_url import PDFUrlKnowledgeBase
from agno.vectordb.mongodb import MongoDb
# Azure Cosmos DB MongoDB connection string
"""
Example connection strings:
"mongodb+srv://<username>:<encoded_password>@cluster0.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
"""
mdb_connection_string = f"mongodb+srv://<username>:<encoded_password>@cluster0.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
knowledge_base = PDFUrlKnowledgeBase(
urls=["https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"],
vector_db=MongoDb(
collection_name="recipes",
db_url=mdb_connection_string,
search_index_name="recipes",
cosmos_compatibility=True,
),
)
# Comment out after first run
knowledge_base.load(recreate=True)
# Create and use the agent
agent = Agent(knowledge=knowledge_base, show_tool_calls=True)
agent.print_response("How to make Thai curry?", markdown=True)
MongoDB Params
collection_name
: The name of the collection in the database.
db_url
: The connection string for the MongoDB database.
search_index_name
: The name of the search index to use.
cosmos_compatibility
: Set to True
for Azure Cosmos DB compatibility.
Developer Resources