Griptape Vector Store Driver: Local
The no-API-key vector store that gets you started in five minutes
- embedding_driver
- DRIVER
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.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| embedding_driveropt | EMBEDDING_DRIVER | Select an embedding driver or leave as default. | |
| persist_fileopt | BOOLEAN | false | Enable or disable persistence to a file. |
| persist_filenameopt | STRING | griptape_local_vector_file.txt | Filename for persisting data. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| DRIVER | VECTOR_STORE_DRIVER | — |