add vector_store.py
This commit is contained in:
@@ -0,0 +1,42 @@
|
|||||||
|
"""
|
||||||
|
Vector store initialization using Qdrant in-memory.
|
||||||
|
|
||||||
|
The vector store is used by the search tool to perform semantic similarity search.
|
||||||
|
"""
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
from langchain_qdrant import QdrantVectorStore
|
||||||
|
from qdrant_client import QdrantClient
|
||||||
|
from qdrant_client.models import Distance, VectorParams
|
||||||
|
from langchain_openai import OpenAIEmbeddings
|
||||||
|
|
||||||
|
# Embedding model compatible with OpenRouter API (used by BroJS LLM)
|
||||||
|
embeddings = OpenAIEmbeddings(
|
||||||
|
model="text-embedding-3-small",
|
||||||
|
base_url="https://openrouter.ai/api/v1",
|
||||||
|
api_key=os.getenv("OPENAI_API_KEY"),
|
||||||
|
)
|
||||||
|
|
||||||
|
# In-memory Qdrant client – no external server required
|
||||||
|
client = QdrantClient(":memory:")
|
||||||
|
client.create_collection(
|
||||||
|
"knowledge",
|
||||||
|
vectors_config=VectorParams(size=1536, distance=Distance.COSINE),
|
||||||
|
)
|
||||||
|
vector_store = QdrantVectorStore(client=client, collection_name="knowledge", embedding=embeddings)
|
||||||
|
|
||||||
|
# Helper to add documents – used in examples
|
||||||
|
from langchain_core.documents import Document
|
||||||
|
|
||||||
|
def add_documents(docs: list[Document]):
|
||||||
|
"""Add a list of :class:`~langchain_core.documents.Document` objects to the store."""
|
||||||
|
vector_store.add_documents(docs)
|
||||||
|
|
||||||
|
# Example documents – can be extended by users
|
||||||
|
if __name__ == "__main__":
|
||||||
|
docs = [
|
||||||
|
Document(page_content="LangChain is a framework for building applications powered by language models.", metadata={"title": "LangChain Overview"}),
|
||||||
|
Document(page_content="Qdrant is an open-source vector database that stores embeddings and performs similarity search efficiently.", metadata={"title": "Qdrant Documentation"}),
|
||||||
|
]
|
||||||
|
add_documents(docs)
|
||||||
|
print("Added example documents to Qdrant in-memory store")
|
||||||
Reference in New Issue
Block a user