当前位置: 首页 > news >正文

python-langchain框架(1-8-1 缓存机制——让 AI 应用“记住”高频问题)

我们会发现一个奇怪的现象——每天有30%的问题是完全相同的!用户都在问:'快递几天能到?'、'怎么退货?'、'商品有保修吗?'……每个问题都要调用GPT-4,每次花费0.03美元,一天就是数万美元!更糟的是,相同的回答,用户要等3-5秒才能看到……"

解决方案:引入缓存机制(如下使用sqlite当缓存数据库),当用户问道相同问题时,从缓存里直接给出答案不用将问题在送给大模型,既节约金钱成本也节约时间成本。

直接看代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

fromlangchain_community.cacheimportSQLiteCache

fromlangchain.globalsimportset_llm_cache

fromlangchain_openaiimportChatOpenAI

importos

#指定缓存 对比提问同样的问题,返回时间

set_llm_cache(SQLiteCache(database_path="langchain_demo.db"))

llm=ChatOpenAI(

api_key=os.getenv("DEEPSEEK_API_KEY"),

base_url=os.getenv("DEEP_URL"),# Deepseek 的 API 基础地址

model="deepseek-v3:671b",# Deepseek 对话模型(可选:deepseek-chat-pro 等高级模型)

temperature=0.7,# 温度参数(0-1,越低越稳定)

max_tokens=1024# 最大生成 tokens

)

#这时会向数据库里插入一条数据

response=llm.invoke("hello world")

print(response.content)

#再插入一条数据 注:是否插入要根据提示词和调用的模型(模型参数改变也会认为是不同)

response=llm.invoke("how are you")

print(response.content)

#这时就会从缓存里直接出结果不会送往大模型,数据库里也不会新插入一条数据

response=llm.invoke("hello world")

print(response.content)

运行结果:可以看到 第一次的回答和第三次的回答是完全一样的。

1

2

3

4

5

6

7

Hello! 🌍 How can I assist you today? Whether you have questions, needhelpwith a task,orjust want to chat, I'm hereforyou! 😊

Hey there! Thanksforasking! I'm functioning at full capacity and ready to help you out. While I don't experience feelingsinthe way humans do, I genuinely enjoy our conversationsandam always excited to learnandassist. How can I support you today? I'mallears! 🌟

Hello! 🌍 How can I assist you today? Whether you have questions, needhelpwith a task,orjust want to chat, I'm hereforyou! 😊

http://www.jsqmd.com/news/577179/

相关文章:

  • UE:如何解决渲染时UMG大小不变的问题
  • LeaguePrank:安全实现英雄联盟个性化展示的终极指南
  • 公司网站建设多少钱?主流建站方式及费用详解 - 码云数智
  • 内网服务器没网怎么办?手把手教你用Docker-26.1.1.tgz离线部署Docker环境(附systemd服务配置)
  • 【优化求解】粒子群算法面向弹性提升的多种应急资源参与配电网抢修恢复【含Matlab源码 15275期】
  • 如何解决C盘空间不足问题:Windows Cleaner的系统空间优化方案
  • NHPZ-10A/10B/10C 型平板式制动检验台全场景实战指南
  • 报考护航,持证无忧——北京合和智创证书课程及报考服务 - 资讯焦点
  • PostgreSQL 12 + PostGIS 3.4.2 完整部署+迁移+数据恢复避坑指南
  • C++ 智能指针在多线程中的使用
  • 区块链电商DAPP开发真相:20万预算如何实现交易透明化?
  • ConvNeXt 改进 | 自研模块:LLM 的 AttnRes残差自注意力模块 + GAM 通道注意机制(Kimi 团队 2026),自研AttnRes-GAM注意力残差块 ,实现高效涨点,独家首发
  • Nano-Banana入门指南:无需GPU也能跑通的CPU轻量推理方案
  • CMAK 3.0.0.5 从零部署指南:兼容新版Kafka与JDK11环境实战
  • 描述在 Linux 系统中如何配置网络接口,并给出具体命令。
  • Agent 自动迭代
  • 2026年GEO服务商综合实力榜:TOP4全链路服务能力深度解析,投媒网GEO领跑! - 资讯焦点
  • 分析pdf
  • 免费开源AI字幕神器:VideoCaptioner智能字幕处理终极指南 [特殊字符]
  • 智能进化:Pearcleaner带来的macOS系统清理新范式
  • 2026企业核心管理系统全景解析文档(含MES与ERP重点区别)
  • 别再滥用CDD了!聊聊AUTOSAR项目中复杂设备驱动的正确使用姿势与架构权衡
  • armbian 安装openclaw
  • 郑州北极电器维修服务有限公司:金水区口碑好的空调维修 空调移机公司TOP6 - LYL仔仔
  • 从零构建你的第一个CDS View:ABAP开发者的语义数据模型入门
  • 新手友好:在快马平台用AI辅助轻松迈出clawx数据抓取第一步
  • 百考通AI开题报告——为硕本学生量身打造的学术加速器
  • 新手零门槛学Java:无需寻找idea激活码,快马平台带你写第一个程序
  • COMSOL B-B本构方程在三维粗糙裂隙岩体建模中的应用及热流固三场耦合研究
  • JDK的下载安装