> ## Documentation Index
> Fetch the complete documentation index at: https://ikun.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure Cosmos DB MongoDB vCore 代理知识

## 设置

请按照 [Azure Cosmos DB 设置指南](https://learn.microsoft.com/en-us/azure/cosmos-db/mongodb/vcore) 中的说明获取连接字符串。

安装 MongoDB 包：

```shell theme={null}
pip install "pymongo[srv]"
```

## 示例

```python agent_with_knowledge.py theme={null}
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 连接字符串
"""
示例连接字符串：
"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,
    ),
)

# 首次运行后注释掉
knowledge_base.load(recreate=True)

# 创建并使用代理
agent = Agent(knowledge=knowledge_base, show_tool_calls=True)
agent.print_response("How to make Thai curry?", markdown=True)
```

## MongoDB 参数

* `collection_name`: 数据库中集合的名称。
* `db_url`: MongoDB 数据库的连接字符串。
* `search_index_name`: 要使用的搜索索引的名称。
* `cosmos_compatibility`: 设置为 `True` 以兼容 Azure Cosmos DB。

## 开发者资源

* 查看 [Cookbook (Sync)](https://github.com/agno-agi/agno/blob/main/cookbook/agent_concepts/knowledge/vector_dbs/mongo_db/cosmos_mongodb_vcore.py)
