Nodes/ComfyUI Griptape Nodes/Griptape Vector Store Driver: Marqo
ComfyUI Node

Griptape Vector Store Driver: Marqo

Marqo search for your agents, without writing a line of client code

By griptape-ai·Created 2 years ago·Updated about a year ago· 238
Griptape Vector Store Driver: Marqo
  • embedding_driver
  • DRIVER
api_key_env_varMARQO_API_KEY
url_envMARQO_URL
index_name_env_varMARQO_INDEX_NAME

Marqo is a hosted search engine pitched at exactly the "give your app a memory" problem, and this driver is how a Griptape agent talks to it. You get a managed vector store with your documents indexed server-side, no database to babysit. It's one of the more turnkey options in this family - if you've already got a Marqo account and an index, this node is five minutes of wiring. If you haven't, it's one of the harder sells: Marqo is the only driver here whose product is fundamentally a paid cloud API, so the Local driver is probably where you should be testing the idea first.

How it works

The node assembles a MarqoVectorStoreDriver from environment variable names. Three credentials inputs plus the shared one:

  • api_key_env_var (default MARQO_API_KEY) - the env var holding your key. Not the key itself.
  • url_env (default MARQO_URL) - the Marqo instance URL.
  • index_name_env_var (default MARQO_INDEX_NAME) - which index to read and write.
  • embedding_driver - same story as every driver: leave empty and it's OpenAI if OPENAI_API_KEY exists, otherwise a dummy.

Output is DRIVER (VECTOR_STORE_DRIVER), which plugs into Griptape Structure ConfigCreate AgentGriptape Vector Store: Query.

One source-level quirk worth flagging: the node's parameter-building code reads the URL from a key that doesn't match the url_env field shown in the UI. In practice the URL gets pulled from the MARQO_URL environment variable regardless of what you type into the field. Use the default env var name and you'll never notice; rename it and you'll think you're going mad.

Where it's fiddly

Marqo's hosted API has its own vocabulary - you set up an index with a chosen model and dimensionality in the Marqo console, and the embedding driver you wire in here needs to be compatible with how that index was created. Mismatch the vector dimensions and searches will fail or return nonsense. Also note the whole pack's shared catch: this driver needs the griptape[all] install to actually include Marqo support, so if you see an import error mentioning MarqoVectorStoreDriver, the fix is updating griptape itself, not reinstalling the node.

Install

Pack install is unchanged: ComfyUI Manager → search "Griptape" → INSTALL, or git clone https://github.com/griptape-ai/ComfyUI-Griptape into custom_nodes, restart. griptape[all] and python-dotenv come along; keep the README's torch fix handy because that's the pack's usual post-install headache. Before wiring, grab MARQO_API_KEY from the Marqo dashboard and decide on your index, because the driver won't create one for you.

CategoryGriptape/Agent Drivers/Vector Store

Inputs (4)

NameTypeDefaultDescription
embedding_driveroptEMBEDDING_DRIVERSelect an embedding driver or leave as default.
api_key_env_varoptSTRINGMARQO_API_KEYEnvironment variable for the API key. Do not use your actual API key here.
url_envoptSTRINGMARQO_URLEnvironment variable for the Marqo URL.
index_name_env_varoptSTRINGMARQO_INDEX_NAMEEnvironment variable for the Marqo index name.

Outputs (1)

NameTypeDescription
DRIVERVECTOR_STORE_DRIVER