我正在构建一个使用LLM(大型语言模型)叙述代理的文本RPG,然而在某些情况下,这个代理有冷启动时间达到约15秒。
最近,我有机会深入研究问题的根源,结果并非我所料。 我原本以为问题可能与我调用的模型提供商有关(例如,可能是他们端的缓存问题)。
然而,结果却是两个意想不到的问题:
- 首先,我使用tiktoken来估计输入给我的代理的token数。只有在将计时器包围在我的代码中后,我才意识到加载编码(例如o200k_base)花费了超过5秒。
- 然后,我意识到我的AWS Lambda函数只有256MB的内存。 我原本以为这是足够的,因为它从未接近这个限制。然而,结果是Lambda CPU与内存成比例,缺乏CPU能力显著地减慢了我的初始AI客户端调用。 增加内存可以将叙述代理的冷启动时间降低数秒。
总之,我从中得出的主要教训是,延迟分析往往会揭示令人惊讶的结果(至少对我来说),所以我发现可以有益地真正地计时每个部分,避免过于自信地理论。 我将在下面的评论中包含我的web应用的链接,希望你能告诉我延迟是否感觉合理,或者是否有其他问题。由于它仍处于实验/开发阶段,因此当前免费,不需要注册即可开始。
评论 (0)