Skip to main content

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 use nearText: 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 is none or you want Agentheya to embed the query externally. Queries use nearVector: Agentheya embeds with your chosen provider, then sends the vector to Weaviate.

Connection settings

Embedding settings

Required only when weaviate_use_built_in_vectorizer is false.

Common shapes

Cluster with built-in text2vec-openai:
Self-vectorized cluster, English filter:

“Test connection” button

Hits GET <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 where syntax uses bare-word enum values for operator (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. Document and document are different classes.
  • Anonymous clusters: leave weaviate_api_key empty. The Authorization header is omitted entirely.
  • certainty vs distance: Weaviate may return either depending on the vectorizer module. Agentheya prefers certainty and falls back to 1 - distance when only distance is present, so scores are always 0..1 with higher = better.