You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/docs/swarms/memory/qdrant.md

2.6 KiB

Qdrant Client Library

Overview

The Qdrant Client Library is designed for interacting with the Qdrant vector database, allowing efficient storage and retrieval of high-dimensional vector data. It integrates with machine learning models for embedding and is particularly suited for search and recommendation systems.

Installation

pip install qdrant-client sentence-transformers httpx

Class Definition: Qdrant

class Qdrant:
    def __init__(self, api_key: str, host: str, port: int = 6333, collection_name: str = "qdrant", model_name: str = "BAAI/bge-small-en-v1.5", https: bool = True):
        ...

Constructor Parameters

Parameter Type Description Default Value
api_key str API key for authentication. -
host str Host address of the Qdrant server. -
port int Port number for the Qdrant server. 6333
collection_name str Name of the collection to be used or created. "qdrant"
model_name str Name of the sentence transformer model. "BAAI/bge-small-en-v1.5"
https bool Flag to use HTTPS for connection. True

Methods

_load_embedding_model(model_name: str)

Loads the sentence embedding model.

_setup_collection()

Checks if the specified collection exists in Qdrant; if not, creates it.

add_vectors(docs: List[dict]) -> OperationResponse

Adds vectors to the Qdrant collection.

search_vectors(query: str, limit: int = 3) -> SearchResult

Searches the Qdrant collection for vectors similar to the query vector.

Usage Examples

Example 1: Setting Up the Qdrant Client

from qdrant_client import Qdrant

qdrant_client = Qdrant(api_key="your_api_key", host="localhost", port=6333)

Example 2: Adding Vectors to a Collection

documents = [
    {"page_content": "Sample text 1"},
    {"page_content": "Sample text 2"}
]

operation_info = qdrant_client.add_vectors(documents)
print(operation_info)

Example 3: Searching for Vectors

search_result = qdrant_client.search_vectors("Sample search query")
print(search_result)

Further Information

Refer to the Qdrant Documentation for more details on the Qdrant vector database.