Model Aliases
You can define model aliases in your project to give friendly names to models and abstract away from a particular model version/tag.
So instead of hard-coding a model type,
script({ model: "openai:gpt-4o",})You can use/define an alias like large.
script({ model: "large",})Model aliases can be defined as environment variables (through the .env file),
in a configuration file, through the cli or in the script function.
This .env file defines a llama32 alias for the ollama:llama3.2:1b model.
GENAISCRIPT_MODEL_LLAMA32="ollama:llama3.2:1b"You can then use the llama32 alias in your scripts.
script({ model: "llama32",})Defining aliases
Section titled “Defining aliases”The following configuration are support in order importance (last one wins):
- configuration file with the
modelAliasesfield
{ "modelAliases": { "llama32": "ollama:llama3.2:1b" }}- environment variables with keys of the pattern
GENAISCRIPT_MODEL_ALIAS=... - cli with the
--model-aliasflag
genaiscript run --model-alias llama32=ollama:llama3.2:1b- in the
scriptfunction
script({ model: "llama32", modelAliases: { llama32: "ollama:llama3.2:1b", },})Alias of aliases
Section titled “Alias of aliases”An model alias can reference another alias as long as cycles are not created.
{ "modelAliases": { "llama32": "ollama:llama3.2:1b", "llama": "llama32" }}Builtin aliases
Section titled “Builtin aliases”By default, GenAIScript supports the following model aliases, and various candidates in different LLM providers.
large:gpt-4o likemodelsmall:gpt-4o-minimodel or similar. A smaller, cheaper faster modelvision:gpt-4o-mini. A model that can analyze imagesreasoning:o1oro1-preview.reasoning_small:o1-mini.
The following aliases are also set so that you can override LLMs used by GenAIScript itself.
agent:large. Model used by the Agent LLM.memory:small. Model used by the agent short term memory.
The default aliases for a given provider can be loaded using the provider option in the cli.
genaiscript run --provider anthropic