chatdocsCC / chatdocs /vectorstores.py
Amos Blanton
Maybe
4670a90
raw
history blame
914 Bytes
from typing import Any, Dict, List
from chromadb.config import Settings
from langchain.docstore.document import Document
from langchain.vectorstores import Chroma
from langchain.vectorstores.base import VectorStore
from .embeddings import get_embeddings
def get_vectorstore(config: Dict[str, Any]) -> VectorStore:
embeddings = get_embeddings(config)
config = config["chroma"]
return Chroma(
persist_directory=config["persist_directory"],
embedding_function=embeddings,
client_settings=Settings(**config),
)
def get_vectorstore_from_documents(
config: Dict[str, Any],
documents: List[Document],
) -> VectorStore:
embeddings = get_embeddings(config)
config = config["chroma"]
return Chroma.from_documents(
documents,
embeddings,
persist_directory=config["persist_directory"],
client_settings=Settings(**config),
)