Weaviate
Agentheya calls Weaviate’s GraphQL API directly (no SDK). Two query modes are supported, chosen by a single toggle:use_built_in_vectorizer: true— your collection has a configured vectorizer module (text2vec-openai,text2vec-cohere, etc). Queries usenearText: Weaviate embeds the query string itself, billed to your Weaviate / vectorizer account. You do not need to supply embedding fields.use_built_in_vectorizer: false— your collection’s vectorizer isnoneor you want Agentheya to embed the query externally. Queries usenearVector: Agentheya embeds with your chosen provider, then sends the vector to Weaviate.
Connection settings
Embedding settings
Required only whenweaviate_use_built_in_vectorizer is false.
Common shapes
Cluster with built-intext2vec-openai:
“Test connection” button
HitsGET <url>/v1/meta. If credentials work and use_built_in_vectorizer is false, it also runs an embedding round-trip with the configured provider so the dimensions can be verified up front.
Gotchas
- Filter shape: Weaviate’s
wheresyntax uses bare-word enum values foroperator(e.g.Equal,GreaterThan,And,Or). Agentheya’s serializer treats CamelCase strings as enum keywords and other strings as literals — you generally don’t need to think about this, but if you embed a value that happens to be CamelCase you’ll see a GraphQL error. - Class name casing: Weaviate class names are case-sensitive.
Documentanddocumentare different classes. - Anonymous clusters: leave
weaviate_api_keyempty. The Authorization header is omitted entirely. - certainty vs distance: Weaviate may return either depending on the vectorizer module. Agentheya prefers
certaintyand falls back to1 - distancewhen onlydistanceis present, so scores are always 0..1 with higher = better.