Griptape Agent Config: Ollama Drivers
Run Griptape agents entirely on Ollama, no API key required
- CONFIG
This is the config that lets you run a Griptape agent with zero cloud accounts. Ollama is the local LLM runner - ollama run llama3, and it's serving a model on your own machine - and this node turns that local server into the prompt and embedding drivers for your agent. No API key, no credit card, no data leaving your box. If you want to learn the Griptape node graph without paying for tokens, this is the one to start with.
How it works
The node talks to the Ollama HTTP API on your localhost and builds a DriversConfig from two drivers: a prompt driver (any model you've pulled with ollama pull) and an embedding driver, which is bundled with a local vector store driver so agent memory/RAG just works. If you leave the embedding model blank, it substitutes a dummy embedding driver rather than crashing - the agent will run, it just won't do meaningful vector-store retrieval. Under the hood it hits Ollama's OpenAI-compatible endpoint, so everything from Llama 3 to Mistral to Qwen works, whatever you've got in ollama list.
The inputs that matter
Two are required, which is a bit unusual for this pack - you must fill them in before the node will even build:
base_url(defaulthttp://127.0.0.1) - where Ollama is listening.port(default11434) - Ollama's default port. Change it only if you configured Ollama otherwise.
Then the ones you'll actually tweak:
model- the prompt model name, exactly as it appears inollama list(e.g.llama3,mistral). The changelog notes they disabled auto-loading, so you have to type the name yourself.embedding_model- for RAG.nomic-embed-textis the usual companion; pull it withollama pull nomic-embed-text.keep_alive(default 240) - seconds to keep the model loaded in memory. If you're juggling VRAM with a diffusion model, this matters; lower it so Ollama unloads sooner.top_k(default 40) and the usualtemperature,seed,max_tokens.
The output is a single CONFIG that plugs into an Agent's config socket, same as every other config node.
Installing it
Install the pack once - Manager search "Griptape", or:
cd ComfyUI/custom_nodes
git clone https://github.com/griptape-ai/ComfyUI-Griptape
Then install Ollama and pull your models:
ollama run llama3
That's the whole setup - there's no key to configure for this node. The pack itself pulls griptape[all], which includes a torch install that can occasionally fight your existing ComfyUI torch; the README's troubleshooting covers the reinstall dance.
Common issues
- "No model provided" / empty model field - the prompt driver blocks with an ExecutionBlocker telling you exactly this. Type the model name from
ollama list, and double-check you've actually pulled it. - Connection refused - Ollama isn't running, or
base_url/portdon't match.curl http://127.0.0.1:11434should return the version JSON. - VRAM pressure - a 7B model held at
keep_alive240 seconds can starve your image model. Dropkeep_aliveor unload withollama stop <model>. - No retrieval happening - blank embedding model means a dummy driver;
ollama pull nomic-embed-textand set the field.
One thing worth knowing: for local multi-modal work people in the community specifically pair Griptape with Ollama for vision models like llama3.2-vision, since it keeps the whole pipeline local.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| base_url | STRING | http://127.0.0.1 | The base URL of the Ollama server |
| port | STRING | 11434 | The port of the Ollama server |
| prompt_model_commentopt | STRING | Prompt Driver | — |
| modelopt | STRING | The prompt model to use | |
| max_attempts_on_failopt | INT | 21–100 | Maximum attempts on failure |
| temperatureopt | FLOAT | 0.100–1 | Temperature for sampling |
| seedopt | INT | 10342349342 | Seed for random number generation |
| use_native_toolsopt | BOOLEAN | true | Use native tools for the LLM. |
| max_tokensopt | INT | -1 | Maximum tokens to generate. If <=0, it will use the default based on the tokenizer. |
| min_popt | FLOAT | 0.100–1 | Minimum probability for sampling. Lower values will be more random. |
| top_kopt | INT | 40 | Top k for sampling. Lower values are more deterministic. |
| keep_aliveopt | INT | 240 | Seconds to keep the connection alive |
| embedding_model_commentopt | STRING | Embedding Driver | — |
| embedding_modelopt | STRING | The embedding model to use |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONFIG | CONFIG | — |