Problem:
I recently upgraded to Weaviate v4 and tried to integrate it with LangChain’s WeaviateVectorStore
. However, I encountered an error stating that my client must be an instance of WeaviateClient
. Additionally, I am using SemanticSimilarityExampleSelector
for few-shot learning, which now fails due to this issue.
My Code (With Hidden Configurations):
import weaviate
from weaviate.auth import AuthApiKey
from langchain.prompts import FewShotPromptTemplate, PromptTemplate
from langchain.prompts.example_selector import SemanticSimilarityExampleSelector
from langchain_weaviate.vectorstores import WeaviateVectorStore
from langchain_community.vectorstores import Weaviate
from src.embedding import AliyunEmbedding
# **Connect to Weaviate v4 Client**
client = weaviate.connect_to_custom(
http_host="my-server-ip",
http_port=8080,
http_secure=False,
grpc_host="my-server-ip",
grpc_port=50051,
grpc_secure=False,
auth_credentials=AuthApiKey("my-api-key")
)
# **Initialize Embedding Model**
embedding_model = AliyunEmbedding(dimensions=1024)
# **Initialize Weaviate VectorStore**
vectorstore = WeaviateVectorStore(
client=client,
index_name="CypherExamples", # ✅ Stores Cypher query examples
text_key="text",
attributes=[],
embedding=embedding_model
)
# **Instantiate ExampleSelector**
example_selector = SemanticSimilarityExampleSelector.from_examples(
examples=[], # ✅ Weaviate handles retrieval, so no examples are needed
vectorstore=vectorstore,
embeddings=embedding_model, # ✅ Provide embeddings explicitly
vectorstore_cls=WeaviateVectorStore, # ✅ Ensure correct vectorstore class
k=3 # ✅ Retrieve top 3 most relevant examples
)
---
###Error Message:
ValueError: client must be an instance of WeaviateClient
---
Any guidance would be greatly appreciated!