设置

请按照 Azure Cosmos DB 设置指南 中的说明获取连接字符串。

安装 MongoDB 包:

pip install "pymongo[srv]"

示例

agent_with_knowledge.py
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。

开发者资源