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

# Qdrant: Recommended Vector Database

> Run Qdrant-backed knowledge two ways: basic vector search, and hybrid search with a Cohere reranker.

Qdrant is the recommended vector database for production use. It provides fast, scalable vector search with rich filtering capabilities, hybrid search, and reranking support.

```python qdrant.py theme={null}
"""
Qdrant: Recommended Vector Database
=====================================
Qdrant is the recommended vector database for production use.
It provides fast, scalable vector search with rich filtering
capabilities, hybrid search, and reranking support.

Features:
- Vector, keyword, and hybrid search
- Reranking support
- Rich metadata filtering
- Cloud or self-hosted deployment options

Setup: ./cookbook/scripts/run_qdrant.sh

See also: 02_local.py for local dev, 03_managed.py for Pinecone, 04_pgvector.py for PostgreSQL.
"""

from agno.agent import Agent
from agno.knowledge.embedder.openai import OpenAIEmbedder
from agno.knowledge.knowledge import Knowledge
from agno.knowledge.reranker.cohere import CohereReranker
from agno.models.openai import OpenAIResponses
from agno.vectordb.qdrant import Qdrant, SearchType

# ---------------------------------------------------------------------------
# Setup
# ---------------------------------------------------------------------------

# --- Basic Qdrant setup ---
knowledge_basic = Knowledge(
    vector_db=Qdrant(
        collection="qdrant_basic",
        url="http://localhost:6333",
        embedder=OpenAIEmbedder(id="text-embedding-3-small"),
    ),
)

# --- Hybrid search with reranking ---
knowledge_advanced = Knowledge(
    vector_db=Qdrant(
        collection="qdrant_advanced",
        url="http://localhost:6333",
        search_type=SearchType.hybrid,
        embedder=OpenAIEmbedder(id="text-embedding-3-small"),
        reranker=CohereReranker(model="rerank-multilingual-v3.0"),
    ),
)

# ---------------------------------------------------------------------------
# Run Demo
# ---------------------------------------------------------------------------

if __name__ == "__main__":
    # --- Basic vector search ---
    print("\n" + "=" * 60)
    print("Qdrant: Basic vector search")
    print("=" * 60 + "\n")

    knowledge_basic.insert(
        url="https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"
    )
    agent = Agent(
        model=OpenAIResponses(id="gpt-5.2"),
        knowledge=knowledge_basic,
        search_knowledge=True,
        markdown=True,
    )
    agent.print_response("What Thai recipes do you know?", stream=True)

    # --- Hybrid search with reranking ---
    print("\n" + "=" * 60)
    print("Qdrant: Hybrid search + Cohere reranking")
    print("=" * 60 + "\n")

    knowledge_advanced.insert(
        url="https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"
    )
    agent_advanced = Agent(
        model=OpenAIResponses(id="gpt-5.2"),
        knowledge=knowledge_advanced,
        search_knowledge=True,
        markdown=True,
    )
    agent_advanced.print_response("What Thai desserts are available?", stream=True)
```

## Run the Example

<Steps>
  <Snippet file="create-venv-step.mdx" />

  <Step title="Install dependencies">
    ```bash theme={null}
    uv pip install -U agno beautifulsoup4 cohere fastembed openai pypdf qdrant-client
    ```
  </Step>

  <Step title="Export your API keys">
    <CodeGroup>
      ```bash Mac/Linux theme={null}
      export CO_API_KEY="your_co_api_key_here"
      export OPENAI_API_KEY="your_openai_api_key_here"
      ```

      ```bash Windows theme={null}
      $Env:CO_API_KEY="your_co_api_key_here"
      $Env:OPENAI_API_KEY="your_openai_api_key_here"
      ```
    </CodeGroup>
  </Step>

  <Step title="Run Qdrant">
    ```bash theme={null}
    docker run -d --name qdrant -p 6333:6333 qdrant/qdrant:latest
    ```
  </Step>

  <Step title="Run the example">
    Save the code above as `qdrant.py`, then run:

    ```bash theme={null}
    python qdrant.py
    ```
  </Step>
</Steps>

Full source: [cookbook/07\_knowledge/05\_integrations/vector\_dbs/01\_qdrant.py](https://github.com/agno-agi/agno/blob/main/cookbook/07_knowledge/05_integrations/vector_dbs/01_qdrant.py)
