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

Griptape Vector Store Driver: Local

The no-API-key vector store that gets you started in five minutes

By griptape-ai·Created 2 years ago·Updated about a year ago· 238
Griptape Vector Store Driver: Local
  • embedding_driver
  • DRIVER
persist_filefalse
persist_filenamegriptape_local_vector_file.txt

Every vector store driver in the Griptape pack makes you set up a database and hand over keys. This one doesn't. The Local driver is the vector store that lives inside your ComfyUI process - no account, no cloud, no configuration beyond choosing a filename. If you're new to the whole "give your agent a memory" thing, this is the node you should build your first RAG workflow with. Not because it's production-grade, but because it's the fastest way to learn whether you even want this.

How it works

A vector store takes text, turns it into numbers with an embedding model, and stores those numbers so you can find "similar" text later. The Local driver keeps that whole thing in RAM. You feed text in via a Griptape Vector Store: Add Text node, the driver embeds it, and when a Griptape Vector Store: Query node asks "what's near this?", it scans its own memory.

There's an optional escape hatch: flip persist_file on and the driver writes the store to persist_filename (default griptape_local_vector_file.txt) so your vectors survive a ComfyUI restart. Leave it off and everything evaporates when the process dies - which is fine for experiments, and quietly infuriating if you expected it to be saved.

The one input that actually matters here is embedding_driver. The tooltip says "select an embedding driver or leave as default," and here's the truth behind that: leave it empty and the pack uses OpenAI embeddings if OPENAI_API_KEY is set, otherwise a dummy embedding driver that returns zeros. A store of zero-vectors technically works and returns answers that are pure noise. Plug in a real embedding driver (OpenAI, Ollama, Voyage) and wire the same one into whatever node adds text and whatever node queries it - mismatched embedders are the classic way this silently falls apart.

Output is a single DRIVER (type VECTOR_STORE_DRIVER). That's it.

Where it fits

The driver is just configuration - it does nothing until you wire it somewhere. The path is: this node's DRIVER into a Griptape Structure Config node's vector_store_driver slot, that config into a Create Agent node, and the agent into your Add Text / Query nodes. The Local driver is the one I'd reach for while prototyping: you can validate the whole retrieval loop before you commit to standing up Postgres.

Install

The pack is ComfyUI Griptape Nodes. Easiest path is ComfyUI Manager - search "Griptape" and hit INSTALL. Manual is fine too:

cd ComfyUI/custom_nodes
git clone https://github.com/griptape-ai/ComfyUI-Griptape

Then restart ComfyUI. Dependencies (griptape[all], python-dotenv) install automatically via Manager, or pip install "griptape[all]" python-dotenv. The heavy gotcha: griptape[all] drags in its own torch build that can stomp ComfyUI's. If sampling starts failing or imports break, uninstall and reinstall torch against the cu121 index (the README documents the exact commands). No model downloads, no API keys for this node - which is precisely the point.

CategoryGriptape/Agent Drivers/Vector Store

Inputs (3)

NameTypeDefaultDescription
embedding_driveroptEMBEDDING_DRIVERSelect an embedding driver or leave as default.
persist_fileoptBOOLEANfalseEnable or disable persistence to a file.
persist_filenameoptSTRINGgriptape_local_vector_file.txtFilename for persisting data.

Outputs (1)

NameTypeDescription
DRIVERVECTOR_STORE_DRIVER