From 999365186bfd31fef717bf87c0a3c6e1ff57760d Mon Sep 17 00:00:00 2001 From: Christophe Bornet Date: Tue, 26 Mar 2024 15:01:23 +0100 Subject: [PATCH] langchain[major]: Use InMemoryVectorStore by default in VectorstoreIndexCreator (#19575) This is a small breaking change but I think it should be done as: * No external dependency needs to be installed anymore for the default to work * It is vendor-neutral --- libs/langchain/langchain/indexes/vectorstore.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/langchain/langchain/indexes/vectorstore.py b/libs/langchain/langchain/indexes/vectorstore.py index 4db2775ef72..5889fcb311b 100644 --- a/libs/langchain/langchain/indexes/vectorstore.py +++ b/libs/langchain/langchain/indexes/vectorstore.py @@ -3,7 +3,7 @@ from typing import Any, Dict, List, Optional, Type from langchain_community.document_loaders.base import BaseLoader from langchain_community.embeddings.openai import OpenAIEmbeddings from langchain_community.llms.openai import OpenAI -from langchain_community.vectorstores.chroma import Chroma +from langchain_community.vectorstores.inmemory import InMemoryVectorStore from langchain_core.documents import Document from langchain_core.embeddings import Embeddings from langchain_core.language_models import BaseLanguageModel @@ -64,7 +64,7 @@ class VectorStoreIndexWrapper(BaseModel): class VectorstoreIndexCreator(BaseModel): """Logic for creating indexes.""" - vectorstore_cls: Type[VectorStore] = Chroma + vectorstore_cls: Type[VectorStore] = InMemoryVectorStore embedding: Embeddings = Field(default_factory=OpenAIEmbeddings) text_splitter: TextSplitter = Field(default_factory=_get_default_text_splitter) vectorstore_kwargs: dict = Field(default_factory=dict)