Griptape Embedding Driver: Voyage AI
Voyage's retrieval-tuned embeddings, if your RAG quality calls for them
- DRIVER
Most embedding drivers give you a model choice and stop there. Griptape Embedding Driver: Voyage AI is the specialist: it uses Voyage AI's embeddings - models that are built specifically for retrieval - and asks you to specify the type of input you're embedding. If your RAG searches feel like they're missing obvious results on a generic model, this is the driver people reach for when retrieval quality genuinely matters.
It's also the only embedding driver in the pack with a self-destruct switch, which tells you something about its reputation inside the project. More on that below.
How it works
Configuration node, pack-standard: it produces an EMBEDDING_DRIVER that downstream RAG/vector-store nodes use to convert text into vectors, with Voyage's API doing the inference.
The inputs:
- embedding_model -
voyage-large-2by default; it's a freeform string, so you can target a newer Voyage model if you have access. - input_type -
documentby default; Voyage wants to know what you're embedding so it can tune the vector. The tooltip suggests "document" or "text"; match this to the content type. - voyage_api_key_env_var - env-var name for
VOYAGE_API_KEY(from dash.voyageai.com), not the literal key. - ignore_voyage_embedding_driver - this is the odd one: flip it to
trueand the node swaps in a dummy embedding driver instead of calling Voyage at all. It exists so workflows keep running (or tests stay offline) when you don't have a key configured. Leaving it off with no key set is the classic "why is my embedding failing" setup.
Installing
Ships in the ComfyUI Griptape Nodes pack:
- ComfyUI Manager: search "Griptape" → install ComfyUI-Griptape.
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/griptape-ai/ComfyUI-Griptape, then restart.
Pack dependencies: griptape[all], openai, python-dotenv, plus git-hosted extensions. The torch caveat applies pack-wide (reinstall torch with the CUDA index if Griptape's install breaks ComfyUI's build).
Gotchas
The ignore_voyage_embedding_driver toggle is a trap in disguise: flip it once for a test and you'll forget, then wonder why every embedding returns identical dummy vectors. Check it first when results look wrong. Voyage also bills per token like the other managed APIs, and its strengths only show on retrieval tasks - if you're just storing text for a small lookup, a cheaper general model gets you 90% of the way. And input_type matters: feeding "document" text as "query" (or vice versa) measurably hurts search quality.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| voyage_api_key_env_varopt | STRING | VOYAGE_API_KEY | Environment variable name for the Voyage API key (do not include the actual API key) |
| embedding_modelopt | STRING | voyage-large-2 | The model to use for embedding |
| input_typeopt | STRING | document | The type of input to embed (e.g., document, text) |
| ignore_voyage_embedding_driveropt | BOOLEAN | false | Whether to ignore the Voyage AI Embedding Driver and use a dummy driver instead |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| DRIVER | EMBEDDING_DRIVER | — |