Closed ArachisTong closed 8 months ago
感谢关注ModelCache项目,下面是针对上述问题的逐条回复:
Cache会同时缓存query和prompt(如果存在), 在多轮对话中甚至会缓存LLM的回答(因为对话存在连续性)。
对于“现在几点了?”这样的问题,大模型不会直接回答,举例:
因此,Cache不会影响回答效果,如果在你的项目中使用了tools api来解决此类问题,调整Cache的位置(例如:Cache能力放在时钟tools后),也不会产生影响。
考虑到向量数据库特点和检索性能等因素,将query-result pairs中的result存储到关系数据库(OceanBase,也可以是mysql、sqlite等),以code场景为例:
关系数据库中存储的是result内容,当新的用户query与缓存的query一致或相似时,会从关系数据库中检索到对应的result,直接返回给用户,而无需调用大模型,从而节省推理资源并提升响应速度。
看了一遍文章,没理解这块缓存是怎么优化的; 问题1.缓存是针对query,还是针对的prompt? 问题2:faiss中存的向量是历史的query吗?如果是的话对于那些同query会时间更新改变answer的case又是如何处理的?比如同样问现在几点了,模型每次都应该再算一次吧 问题3:下图这个分支是如何理解?能给个例子吗