Eai. Models
(eai v0.1.11)
Copy Markdown
模型注册表查询接口。
所有模型定义集中在 config/models.exs,运行时通过本模块访问,
代码中不再出现任何硬编码的模型字符串。
快速查表
iex> Eai.Models.all() # 全部模型条目
iex> Eai.Models.default() # 列表第一个(系统默认)
iex> Eai.Models.get(:gpt4o) # 按 :name atom 查找
iex> Eai.Models.names() # 所有 name atom 列表
iex> Eai.Models.vision_models() # 标注了 vision: true 的条目
Summary
Functions
返回注册表中所有模型条目(顺序与 models.exs 定义一致)。
从条目中提取 API Key(读对应环境变量;nil 表示无需 key)。
返回默认模型(注册表第一个条目)。
返回第一个支持视觉的模型,找不到返回 nil。
按 :name atom 查找模型,找不到返回 nil。
按 :name atom 查找模型,找不到抛出 ArgumentError。
返回所有 :name atom 列表。
从条目中提取模型字符串、URL、provider 等字段,组装成 Direct.run/3 的 opts map。
返回所有标注了 vision: true 的模型条目。
Types
@type model_entry() :: keyword()
Functions
@spec all() :: [model_entry()]
返回注册表中所有模型条目(顺序与 models.exs 定义一致)。
@spec api_key(model_entry()) :: String.t() | nil
从条目中提取 API Key(读对应环境变量;nil 表示无需 key)。
@spec default() :: model_entry()
返回默认模型(注册表第一个条目)。
@spec default_vision() :: model_entry() | nil
返回第一个支持视觉的模型,找不到返回 nil。
@spec get(atom() | nil) :: model_entry() | nil
按 :name atom 查找模型,找不到返回 nil。
@spec get!(atom()) :: model_entry()
按 :name atom 查找模型,找不到抛出 ArgumentError。
@spec names() :: [atom()]
返回所有 :name atom 列表。
@spec to_run_opts(model_entry()) :: map()
从条目中提取模型字符串、URL、provider 等字段,组装成 Direct.run/3 的 opts map。
@spec vision_models() :: [model_entry()]
返回所有标注了 vision: true 的模型条目。