LangChain-18 Caching 将回答内容进行缓存 可在内存中或数据库中持久化缓存 ...

农民  金牌会员 | 2024-9-20 09:35:00 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 668|帖子 668|积分 2004


配景描述

可以将问答的内容缓存起来,假如是相同的问题,那么将会直接把答案返归去,可以节省费用和计算。
安装依赖

  1. pip install -qU langchain-core langchain-openai
复制代码
编写代码

我们可以通过 InMemoryCache 进行内存缓存 大概 SQLiteCache 进行持久化存储。
详细代码如下:
  1. from langchain.globals import set_llm_cache
  2. from langchain_openai import ChatOpenAI
  3. from langchain.cache import InMemoryCache
  4. from langchain.cache import SQLiteCache
  5. llm = ChatOpenAI(
  6.     model="gpt-3.5-turbo",
  7. )
  8. # 保存在内存中
  9. set_llm_cache(InMemoryCache())
  10. # 也可以持久化在数据库中
  11. # set_llm_cache(SQLiteCache(database_path=".langchain.db"))
  12. # The first time, it is not yet in cache, so it should take longer
  13. message1 = llm.predict("Tell me a joke")
  14. print(f"message1: {message1}")
  15. # The second time it is, so it goes faster
  16. message2 = llm.predict("Tell me a joke")
  17. print(f"message2: {message2}")
复制代码
运行结果

在运行过程中,可以直观的感受到,第一次的运行速率是比力慢的,但是第二次好坏常快的。
阐明当中是进行缓存了,第二次直接从内存中进行返回的。
固然,假如进入配景检察API的调用情况,也会发现,只有第一次走了OpenAI的API,第二次是没有的。
  1. ➜ python3 test18.py
  2. /Users/wuzikang/Desktop/py/langchain_test/own_learn/env/lib/python3.12/site-packages/langchain_core/_api/deprecation.py:117: LangChainDeprecationWarning: The function `predict` was deprecated in LangChain 0.1.7 and will be removed in 0.2.0. Use invoke instead.
  3.   warn_deprecated(
  4. message1: Why did the tomato turn red? Because it saw the salad dressing!
  5. message2: Why did the tomato turn red? Because it saw the salad dressing!
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农民

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表