LawChatbot / lawchatbot /vectorstore.py
NLPGenius's picture
Initial commit for LawChatbot Panel
f114412
raw
history blame contribute delete
936 Bytes
from langchain_weaviate import WeaviateVectorStore as LCWeaviate
from lawchatbot.embedding import JinaEmbeddingWrapper
from lawchatbot.config import AppConfig
def initialize_vector_store(client, config: AppConfig) -> LCWeaviate:
"""
Initialize LangChain Weaviate vector store.
Args:
client: A connected Weaviate client.
config (AppConfig): Configuration object.
Returns:
LCWeaviate: LangChain-compatible Weaviate vector store.
"""
print("📦 Initializing vector store...")
embedder = JinaEmbeddingWrapper(device="cuda" if hasattr(config, "cuda") and config.cuda else "cpu")
vectorstore = LCWeaviate(
client=client,
index_name=config.weaviate_class,
text_key=config.text_key,
attributes=config.metadata_attributes,
embedding=embedder
)
print(f"✅ Vector store ready for class: {config.weaviate_class}")
return vectorstore