Model Presets
Model Presets
langchain4clj provides a collection of pre-configured model presets that simplify model creation with sensible defaults.
Overview
Presets are namespaced keywords that identify specific model configurations:
:openai/gpt-4o- OpenAI GPT-4o:anthropic/claude-sonnet-4- Anthropic Claude Sonnet 4:google/gemini-2-5-flash- Google Gemini 2.5 Flash
Usage
(require '[langchain4clj.presets :as presets])
(require '[langchain4clj.core :as lc])
;; Get a preset and create a model
(def model
(lc/create-model
(presets/get-preset :openai/gpt-4o
{:api-key "sk-..."})))
;; Override any preset values
(def custom-model
(lc/create-model
(presets/get-preset :anthropic/claude-sonnet-4
{:api-key "sk-ant-..."
:temperature 0.5
:max-tokens 2000})))
Available Presets
OpenAI Models
| Preset | Model | Description |
|---|---|---|
:openai/gpt-4o |
gpt-4o | Latest GPT-4o model |
:openai/gpt-4o-mini |
gpt-4o-mini | Smaller, faster GPT-4o |
:openai/gpt-4-1 |
gpt-4.1 | GPT-4.1 |
:openai/gpt-4-1-mini |
gpt-4.1-mini | GPT-4.1 Mini |
:openai/gpt-4-1-nano |
gpt-4.1-nano | GPT-4.1 Nano |
:openai/o1 |
o1 | OpenAI o1 reasoning model |
:openai/o1-mini |
o1-mini | OpenAI o1-mini reasoning model |
:openai/o3 |
o3 | OpenAI o3 reasoning model |
:openai/o3-mini |
o3-mini | OpenAI o3-mini reasoning model |
:openai/o4-mini |
o4-mini | OpenAI o4-mini |
:openai/o4-mini-reasoning |
o4-mini | o4-mini with reasoning enabled |
Anthropic Models
| Preset | Model | Description |
|---|---|---|
:anthropic/claude-3-5-haiku |
claude-3-5-haiku | Fast, efficient model |
:anthropic/claude-haiku-4-5 |
claude-haiku-4-5 | Latest Haiku - fast & capable |
:anthropic/claude-sonnet-4 |
claude-sonnet-4 | Balanced performance |
:anthropic/claude-sonnet-4-reasoning |
claude-sonnet-4 | With extended thinking |
:anthropic/claude-sonnet-4-5 |
claude-sonnet-4-5 | Latest Sonnet - enhanced |
:anthropic/claude-sonnet-4-5-reasoning |
claude-sonnet-4-5 | With extended thinking |
:anthropic/claude-opus-4 |
claude-opus-4 | Most capable model |
:anthropic/claude-opus-4-reasoning |
claude-opus-4 | With extended thinking |
:anthropic/claude-opus-4-1 |
claude-opus-4-1 | Enhanced Opus |
:anthropic/claude-opus-4-1-reasoning |
claude-opus-4-1 | With extended thinking |
Google Gemini Models
| Preset | Model | Description |
|---|---|---|
:google/gemini-1-5-flash |
gemini-1.5-flash | Fast Gemini 1.5 |
:google/gemini-1-5-pro |
gemini-1.5-pro | Capable Gemini 1.5 |
:google/gemini-2-5-flash |
gemini-2.5-flash | Latest Gemini 2.5 Flash |
:google/gemini-2-5-flash-lite |
gemini-2.5-flash-lite | Lighter Gemini 2.5 |
:google/gemini-2-5-pro |
gemini-2.5-pro | Most capable Gemini |
:google/gemini-2-5-flash-reasoning |
gemini-2.5-flash | With thinking enabled |
:google/gemini-2-5-pro-reasoning |
gemini-2.5-pro | With thinking enabled |
Preset Configuration
Each preset includes sensible defaults:
Standard Models
{:temperature 1.0
:max-tokens 4096
:max-retries 3
:timeout 60000}
Reasoning Models
{:temperature 1.0
:max-tokens 8192
:max-retries 3
:timeout 120000
:thinking {:enabled true
:return true
:send true
:effort :medium}}
API Reference
get-preset
Get a preset configuration, optionally with overrides.
(presets/get-preset :openai/gpt-4o)
;; => {:provider :openai :model "gpt-4o" :temperature 1.0 ...}
(presets/get-preset :openai/gpt-4o {:temperature 0.5})
;; => {:provider :openai :model "gpt-4o" :temperature 0.5 ...}
available-presets
List all available preset keys.
(presets/available-presets)
;; => (:openai/gpt-4o :openai/gpt-4o-mini :anthropic/claude-sonnet-4 ...)
presets-by-provider
Group presets by provider.
(presets/presets-by-provider)
;; => {:openai [:openai/gpt-4o :openai/gpt-4o-mini ...]
;; :anthropic [:anthropic/claude-sonnet-4 ...]
;; :google [:google/gemini-2-5-flash ...]}
get-provider
Extract the provider from a preset key.
(presets/get-provider :openai/gpt-4o)
;; => :openai
Environment Variables
Presets work seamlessly with environment variable resolution:
(lc/create-model
(presets/get-preset :openai/gpt-4o
{:api-key [:env "OPENAI_API_KEY"]}))
See ENV_RESOLUTION.md for more details.