I have a weaviate server running on one container and a text2vec-gpt4all vectorizer running on another. They are successfully linked via a docker network and are running, however whenever I go to add objects to collection ****, the vectorizer returns this error and no documents are added. I have verified the collection exists and the name is correct. What makes this weird is that I have autoschema enabled, so even if weaviate thinks it does not exist, shouldn’t a collection be created?
Here is the setup that should work and connect properly. I have verified in the logs and using RESTful API that the vectorizer is recognized within weaviate as well as assigned to the “TEST” class.
Here is the code I am using to send a simple object to the TEST class:
from weaviate import Client
WEAVIATE_URL = "http://localhost:8075"
CLIENT = Client(WEAVIATE_URL, timeout_config=(10, 60))
# to create class if not already created
CLIENT.schema.create_class( schema = {
"class": "TEST",
"description": "A test class",
"vectorIndexType": "hnsw",
"vectorizer": "text2vec-gpt4all",
"moduleConfig": {
"vectorizeClassName": False
},
"properties": [
{
"name": "noteText",
"dataType": ["string"],
"description": "test property"
}
]
})
uuid = CLIENT.data_object.create(
class_name="TEST",
data_object={
"noteText": "some random test string"
}
)
print(uuid) # the return value is the object's UUID
And finally, here is the full error code I receive when trying to add the object:
weaviate.exceptions.UnexpectedStatusCodeError: Creating object! Unexpected status code: 500, with response body: {‘error’: [{‘message’: ‘no vectorizer found for class “TEST”’}]}