Griptape Vector Store Driver: Pinecone
The managed vector store that gets out of your way
- embedding_driver
- DRIVER
Pinecone is the default answer when people want a vector database and don't want to run one. It's fully managed, has an API that just works, and a free tier that's honestly generous for prototyping. This driver is how a Griptape agent in ComfyUI talks to it. If you've been using the Local driver to learn RAG and now want something that survives a restart without a pickle file, Pinecone is the most friction-free step up in this whole family - you create an index in their console, paste a couple of env var names into the node, and you're done. No Docker, no schema, no module to load.
How it works
The node builds a PineconeVectorStoreDriver from three environment variable names. Same pattern as the rest of the pack - you tell it which env vars to read, never the actual secrets:
api_key_env_var(defaultPINECONE_API_KEY) - your Pinecone API key. The tooltip says it plainly: do not include the actual key here.environment_env_var(defaultPINECONE_ENVIRONMENT) - the environment/region your index lives in. Serverless Pinecone still wants this to resolve the right endpoint.index_name_env_var(defaultPINECONE_INDEX_NAME) - which of your indexes to use.embedding_driver- empty means OpenAI embeddings ifOPENAI_API_KEYis set, otherwise a dummy driver that returns zero vectors.
Output is DRIVER (VECTOR_STORE_DRIVER), which feeds the Griptape Structure Config node's vector_store_driver input, flows into Create Agent, and then gets read by the Griptape Vector Store: Query node.
The gotchas
Pinecone is forgiving, but two things will bite. First, vector dimensions again: Pinecone indexes have a fixed dimensionality set at creation. If your embedding driver produces a different-sized vector than the index expects, writes fail with a dimension error - match the index size to whatever embedding model you picked. Second, environment values change with Pinecone's serverless rollout; an index created in one region won't resolve from a stale environment string. If queries return empty or the driver errors on connection, check that PINECONE_ENVIRONMENT still matches your index's actual home. And the universal pack catch: keep the embedding driver identical between Add Text and Query, or retrieval silently turns to noise.
Install
Standard pack install - ComfyUI Manager → search "Griptape" → INSTALL, or git clone https://github.com/griptape-ai/ComfyUI-Griptape into custom_nodes, then restart. Dependencies (griptape[all], python-dotenv) install alongside, and the pack's known torch conflict has a documented fix in the README if ComfyUI starts erroring after install. Your Pinecone key comes from app.pinecone.io; create the index there first, because the driver won't do it for you.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| embedding_driveropt | EMBEDDING_DRIVER | Select an embedding driver or leave as default. | |
| api_key_env_varopt | STRING | PINECONE_API_KEY | Environment variable name for the API key. Do not include the actual API key. |
| environment_env_varopt | STRING | PINECONE_ENVIRONMENT | Environment variable name for the Pinecone environment. |
| index_name_env_varopt | STRING | PINECONE_INDEX_NAME | Environment variable name for the Pinecone index name. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| DRIVER | VECTOR_STORE_DRIVER | — |