请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

嵌入缓存和InMemoryCache

这俩的嵌入缓存和InMemoryCache 有什么区别吗,使用场景是什么区别

正在回答 回答被采纳积分+3

1回答

tomiezhang 2025-04-15 10:04:49
from langchain_community.cache import InMemoryCache

它主要是针对LLMs组件的缓存,比如你调用了deepseek,那么就会将交互的过问题答案进行缓存,它是缓存在内存中的。

from langchain.embeddings import CacheBackedEmbeddings

从包的位置也可以看到,它是为嵌入模型准备的缓存模式,主要是将嵌入模型的输入输出进行缓存,且缓存结果一般是在本地文件夹中。

InMemoryCache主要应用在Chatmodels以及LLMs组件的缓存,而嵌入缓存主要应用在嵌入模型的调用场景,比如RAG或记忆管理等。

0 回复 有任何疑惑可以回复我~
  • 提问者 龙马辉煌_opGQSZ #1
    举个例子 比如查询制度RAG,当InMemoryCache已经缓存了相同查询,直接取InMemoryCache中的返回,当InMemoryCache没有缓存,下一步取CacheBackedEmbeddings,这时CacheBackedEmbeddings应该也是没有的,如果有那代表查询过,InMemoryCache就会缓存,这样想是不是代表InMemoryCache包含了CacheBackedEmbeddings,他们功能有点重复,只要其中一个就行
    回复 有任何疑惑可以回复我~ 2025-04-16 11:08:47
  • tomiezhang 回复 提问者 龙马辉煌_opGQSZ #2
    过度联想了,两种模型,两种缓存,没有你想的那么复杂,都是原子化执行的
    回复 有任何疑惑可以回复我~ 2025-04-18 20:37:04
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号