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

Griptape Vector Store Driver: Pinecone

The managed vector store that gets out of your way

By griptape-ai·Created 2 years ago·Updated about a year ago· 238
Griptape Vector Store Driver: Pinecone
  • embedding_driver
  • DRIVER
api_key_env_varPINECONE_API_KEY
environment_env_varPINECONE_ENVIRONMENT
index_name_env_varPINECONE_INDEX_NAME

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 (default PINECONE_API_KEY) - your Pinecone API key. The tooltip says it plainly: do not include the actual key here.
  • environment_env_var (default PINECONE_ENVIRONMENT) - the environment/region your index lives in. Serverless Pinecone still wants this to resolve the right endpoint.
  • index_name_env_var (default PINECONE_INDEX_NAME) - which of your indexes to use.
  • embedding_driver - empty means OpenAI embeddings if OPENAI_API_KEY is 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.

CategoryGriptape/Agent Drivers/Vector Store

Inputs (4)

NameTypeDefaultDescription
embedding_driveroptEMBEDDING_DRIVERSelect an embedding driver or leave as default.
api_key_env_varoptSTRINGPINECONE_API_KEYEnvironment variable name for the API key. Do not include the actual API key.
environment_env_varoptSTRINGPINECONE_ENVIRONMENTEnvironment variable name for the Pinecone environment.
index_name_env_varoptSTRINGPINECONE_INDEX_NAMEEnvironment variable name for the Pinecone index name.

Outputs (1)

NameTypeDescription
DRIVERVECTOR_STORE_DRIVER