尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Aider 模型别名(Model Aliases)完全指南:用短名快速切换 LLM

Aider 模型别名(Model Aliases)完全指南:用短名快速切换 LLM Aider 模型别名Model Aliases完全指南用短名快速切换 LLM【免费下载链接】aideraider is AI pair programming in your terminal项目地址: https://gitcode.com/GitHub_Trending/ai/aiderAider 支持为常用模型定义简短别名通过--alias命令行参数或.aider.conf.yml配置文件把冗长的模型名映射成如fast、smart这类短名从而在启动命令和会话中的/model命令里快速切换主模型。读完本文你将掌握别名的两种定义方式、内置别名清单、优先级规则以及别名在源码中的解析与生效链路便于在团队中统一模型调用规范。为什么需要模型别名LLM 模型的全名往往很长且带版本号例如claude-3-sonnet-20240229、openrouter/openrouter/optimus-alpha。模型别名Model Aliases允许你为高频使用的模型创建简写名典型场景包括模型名太长每次输入--model都很繁琐团队内部希望统一约定「快/慢」模型的角色例如fast指代小模型、smart指代强推理模型模型升级时只改一处别名定义覆盖 aider 内置别名把sonnet、4o等短名指向团队偏好的具体模型版本。对应文档model-aliases.md。通过命令行定义别名使用--alias选项格式为alias:model-name别名与模型名之间用冒号分隔。--alias可重复使用以定义多个别名aider --alias fast:gpt-4o-mini --alias smart:o3-mini在参数定义中可以看到--alias的注册方式它使用actionappend收集多次传入的值metavar即提示了ALIAS:MODEL的取值格式见 args.pygroup.add_argument( --alias, actionappend, metavarALIAS:MODEL, helpAdd a model alias (can be used multiple times), )通过配置文件定义别名同样的别名也可以写在.aider.conf.yml文件中aider 会按「家目录 → git 仓库根目录 → 当前目录」的顺序查找该文件后加载的文件优先生效详见 aider_conf.mdalias: - fast:gpt-4o-mini - smart:o3-mini - hacker:claude-3-sonnet-20240229YAML 中的alias键是一个列表每项同样是别名:模型名字符串。仓库中的完整配置样例 sample.aider.conf.yml 也包含对应条目## Add a model alias (can be used multiple times) #alias: xxx ## Specify multiple values like this: #alias: # - xxx # - yyy # - zzz使用别名别名定义后即可在任何接受模型名的位置用别名替代完整模型名。启动时指定aider --model fast # 实际使用 gpt-4o-mini aider --model smart # 实际使用 o3-mini会话中用/model命令切换。/model的处理入口是Commands.cmd_model见 commands.py它会用你输入的名字直接构造一个新的models.Model对象而Model的构造过程会自动做别名解析Aider v0.75.3 Main model: anthropic/claude-3-7-sonnet-20250219 with diff edit format, prompt cache, infinite output /model fast Aider v0.75.3 Main model: gpt-4o-mini with diff edit format /model smart Aider v0.75.3 Main model: o3-mini with diff edit format内置别名清单Aider 自带一批常用短名开箱即用。以下清单与 model-aliases.md 保持一致对应源码中的MODEL_ALIASES字典见 models.py别名指向的模型3gpt-3.5-turbo35-turbogpt-3.5-turbo35turbogpt-3.5-turbo4gpt-4-06134-turbogpt-4-1106-preview4ogpt-4odeepseekdeepseek/deepseek-chatflashgemini/gemini-flash-latestflash-litegemini/gemini-2.5-flash-litegeminigemini/gemini-3-pro-previewgemini-2.5-progemini/gemini-2.5-progemini-3-pro-previewgemini/gemini-3-pro-previewgemini-expgemini/gemini-2.5-pro-exp-03-25grok3xai/grok-3-betahaikuclaude-haiku-4-5optimusopenrouter/openrouter/optimus-alphaopusclaude-opus-4-7quasaropenrouter/openrouter/quasar-alphar1deepseek/deepseek-reasonersonnetclaude-sonnet-4-6别名优先级当同一个别名在多处定义时生效优先级从高到低为命令行别名--alias最高优先级配置文件别名.aider.conf.yml中的alias列表内置别名MODEL_ALIASES默认值最低优先级这意味着你总能用自己的定义覆盖内置别名例如把sonnet指向团队固定的某个 Claude 快照版本。源码视角别名的解析链路从源码结构看别名的生效链路分为三步命令行别名写入全局字典。main()在处理完模型注册后遍历args.alias对每个定义按第一个冒号拆分alias_def.split(:, 1)冒号后允许再含冒号因此 OpenRouter 这类带/和层级前缀的模型名不受影响校验格式后将结果写入models.MODEL_ALIASES见 main.pyif args.alias: for alias_def in args.alias: # Split on first colon only parts alias_def.split(:, 1) if len(parts) ! 2: io.tool_error(fInvalid alias format: {alias_def}) io.tool_output(Format should be: alias:model-name) analytics.event(exit, reasonInvalid alias format error) return 1 alias, model parts models.MODEL_ALIASES[alias.strip()] model.strip()格式不合法缺少冒号时 aider 会直接报错并以非零码退出。模型构造时做一次查表。Model.__init__的第一步就是把传入名字在MODEL_ALIASES中查一次命中则替换为规范名未命中则原样使用见 models.pyclass Model(ModelSettings): def __init__(self, model, weak_modelNone, editor_modelNone, editor_edit_formatNone, verboseFalse): # Map any alias to its canonical name model MODEL_ALIASES.get(model, model) self.name model由于--model选模型和/model切模型最终都会经过Model构造函数别名在两个入口都自然生效。别名与废弃参数的联动。aider 已将--sonnet、--4o等旧式模型开关标记为废弃deprecated提示用户改用--model。在给出废弃警告时代码会反向查找MODEL_ALIASES优先建议用户使用短别名而不是全名见 deprecated.py。需要注意的两点适用前提别名只改变「名字的解析」并不改变 API key 要求。例如把别名指向openrouter/...模型后仍需要配置 OpenRouter 的 API key否则启动时会收到缺 key 的警告并尝试 OAuth 流程见 main.py 中的检查逻辑。别名解析发生在启动阶段和每次Model构造时指向的模型名最终仍要在 aider 的已知模型元数据含 litellm 模型库与本地缓存的模型价格/上下文窗口数据中可查才能正常显示成本与上下文信息。小结用--alias 短名:模型全名或.aider.conf.yml的alias列表定义别名之后--model 短名与会话内/model 短名均可直接切换内置别名覆盖 Claude、GPT、Gemini、DeepSeek、OpenRouter 等常用模型优先级命令行 配置文件 内置便于覆盖默认映射解析核心是MODEL_ALIASES字典与Model.__init__中的查表替换改动一处即可全局生效。【免费下载链接】aideraider is AI pair programming in your terminal项目地址: https://gitcode.com/GitHub_Trending/ai/aider创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表