别再到处调 getGenerativeModel():多模型 Angular 应用里的两个坑
来源:dev.to — 2026-11-11
📋 概述
在视觉服务和语音服务里各自直接调 getGenerativeModel(),会重复导入、重复安全设置、重复思考配置,还会每次请求都重建客户端模型对象,触发不必要的垃圾回收。作者把模型创建与生命周期收进一个工厂统一缓存和路由,并处理两个隐蔽陷阱:请求级 generationConfig 会悄悄覆盖默认配置;远程配置刷新后端之后,缓存里的旧模型必须整体作废,否则智能体还在对着旧入口说话。
🔑 核心要点
- 每次请求重建模型对象,浪费的不只是内存,还有垃圾回收的时间。
- 抽一个工厂统一持有实例,视觉与语音服务都通过它取模型。
- 陷阱一:请求级 generationConfig 会悄悄覆盖默认配置。
- 陷阱二:远程配置换了后端,缓存里的模型必须整体失效。
💡 金句
“Calling getGenerativeModel() directly inside VisionService and TextToSpeechService duplicates firebase/ai imports, safety settings, and thinking configurations.”
译:在 VisionService 和 TextToSpeechService 里直接调 getGenerativeModel(),会重复导入、重复安全设置和思考配置。
👍 0
👎 0
← 返回 dev.to 首页