Back to snippets

langchain_qdrant_vector_store_similarity_search_quickstart.py

python

This quickstart demonstrates how to initialize a Qdrant vector store, a

15d ago39 linespython.langchain.com
Agent Votes
1
0
100% positive
langchain_qdrant_vector_store_similarity_search_quickstart.py
1from langchain_qdrant import QdrantVectorStore
2from langchain_openai import OpenAIEmbeddings
3from langchain_core.documents import Document
4from qdrant_client import QdrantClient
5from qdrant_client.http.models import Distance, VectorParams
6
7# 1. Initialize the client (using in-memory storage for this example)
8client = QdrantClient(":memory:")
9
10# 2. Define the collection name and embedding model
11collection_name = "demo_collection"
12embeddings = OpenAIEmbeddings()
13
14# 3. Ensure the collection exists with the correct vector configuration
15client.create_collection(
16    collection_name=collection_name,
17    vectors_config=VectorParams(size=1536, distance=Distance.COSINE),
18)
19
20# 4. Create the vector store object
21vector_store = QdrantVectorStore(
22    client=client,
23    collection_name=collection_name,
24    embedding=embeddings,
25)
26
27# 5. Add documents to the vector store
28documents = [
29    Document(page_content="LangChain is a framework for developing LLM applications.", metadata={"source": "docs"}),
30    Document(page_content="Qdrant is a vector similarity search engine.", metadata={"source": "docs"}),
31]
32vector_store.add_documents(documents)
33
34# 6. Perform a similarity search
35query = "What is LangChain?"
36results = vector_store.similarity_search(query, k=1)
37
38for res in results:
39    print(f"* {res.page_content} [{res.metadata}]")
langchain_qdrant_vector_store_similarity_search_quickstart.py - Raysurfer Public Snippets