Description
Is your feature request related to a problem? Please describe.
Currently, in the integration of Langchain with Weaviate, we have assumed users will utilize Weaviate solely for vector storage and retrieval, with Langchain managing all embeddings (through the Embeddings class).
This simplifies the user experience and avoids mistakes like a user forgetting to enable a module or using incompatible embeddings in weaviate and langchain e.g. text2vec-openai in weaviate and CohereEmbeddings in langchain.
However, this limits access to Weaviate's advanced search capabilities, such as the nearText search operator with moveTo and moveAwayFrom options since it requires users to set up weaviate with a text2vec or multi2vec module.
Describe the solution you'd like
¯_(ツ)_/¯
Describe alternatives you've considered
Keep this assumption and let users who want access to weaviate's advanced features use weaviate directly
Additional context
Preliminary investigations indicate that Langchain’s VectorStore interface defines a method for similarity_search_by_vector
and not similarity_search_by_text
. This suggests there's no impact to other langchain components.