Griptape Tool: VectorStore
Query your vector store without the DIY RAG
- vector_store_driver
- TOOL
The VectorStore tool is the "I already have a vector store, give my agent access to it" node. You hand it a vector store driver (the config for where your embeddings live) and describe what's in the store, and your agent gains the ability to query it and answer from retrieved chunks. It's the middle path in this pack's RAG ladder: less setup than building a full RAG engine, more control than the managed Griptape Cloud knowledge base. If you've already populated a vector store with your own documents, this is the tool that lets an agent actually use it.
It's also the tool that exposes the pack's underlying model clearly: a tool is just a described capability the agent can invoke. The description input isn't decoration - it's the text the agent reads to decide whether this tool is relevant. A vague description ("This DB has information about...") means the agent is guessing. A concrete one ("Contains the full 2024 product catalog with specs and pricing") means the agent calls it exactly when it should.
How it works
The node builds a VectorStoreTool with the driver, description, and query parameters you provide. When the agent calls it, the tool runs a similarity query against the store and returns retrieved chunks for the agent to reason over. The optional_query_params input is how you pass extra query arguments (as a dict string) - the node parses JSON, Python literals, or simple key: value lines, so you're not locked into one format.
The inputs that matter
- vector_store_driver - required, and the trap. If you leave it unconnected, the code falls back to a
DummyVectorStoreDriver- a fake that returns nothing. The graph will build fine, and your agent will silently get no results. Wire in a real driver from the pack (local, OpenSearch, MongoDB, etc.) or you're debugging a ghost. - description - required. Be specific about what's in the store, as above.
- optional_query_params - default
{}. Query arguments like{"top_k": 5}passed to the retrieval. - off_prompt - default
False. Off-prompt True keeps retrieved chunks out of the model's main context (privacy and token savings), at the cost of the agent working with less raw material.
One output, TOOL (TOOL_LIST), feeds an agent.
Install
Standard:
cd ComfyUI/custom_nodes
git clone https://github.com/griptape-ai/ComfyUI-Griptape
or ComfyUI Manager → search "Griptape" → install → restart.
Where people get burned
The dummy-driver fallback is the #1 gotcha, and it's invisible - no error, just empty answers. Always confirm a real VECTOR_STORE_DRIVER is connected. Second, a mismatched embedding driver: whatever produced the vectors in your store and whatever the query uses must be the same embedding model, or retrieval quality quietly falls apart. If you set up the store with OpenAI embeddings, keep the driver's embedding input on OpenAI too. And if the store is empty of relevant content, no tool helps - this reads what you've put in. Pair it with "Griptape Vector Store: Add Text" if you're populating on the fly.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| off_prompt | BOOLEAN | false | — |
| vector_store_driver | VECTOR_STORE_DRIVER | — | |
| description | STRING | This DB has information about... | — |
| optional_query_params | STRING | {} | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| TOOL | TOOL_LIST | — |