Qdrant Async

Load and query a Qdrant knowledge base asynchronously with ainsert() and aprint_response().

Code

async_qdrant_db.py
import asyncio

from agno.agent import Agent
from agno.knowledge.knowledge import Knowledge
from agno.vectordb.qdrant import Qdrant

COLLECTION_NAME = "thai-recipes"

vector_db = Qdrant(collection=COLLECTION_NAME, url="http://localhost:6333")

knowledge = Knowledge(
    vector_db=vector_db,
)

agent = Agent(knowledge=knowledge)

if __name__ == "__main__":
    asyncio.run(
        knowledge.ainsert(
            url="https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"
        )
    )

    asyncio.run(agent.aprint_response("How to make Tom Kha Gai", markdown=True))

Usage

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U qdrant-client pypdf openai agno

Set environment variables

export OPENAI_API_KEY=xxx

Run Qdrant

docker run -d --name qdrant -p 6333:6333 qdrant/qdrant:latest

Run Agent

python async_qdrant_db.py