北海做网站网站建设,大学里读网站建设,自做网站多少钱,技术支持 优府网络太原网站建设一、聊天模型缓存
LangChain为聊天模型提供了一个可选的缓存层。这有两个好处#xff1a;
如果您经常多次请求相同的完成结果#xff0c;它可以通过减少您对LLM提供程序的API调用次数来帮您节省费用。 它可以通过减少您对LLM提供程序的API调用次数来加快您的应用程序速度。…一、聊天模型缓存
LangChain为聊天模型提供了一个可选的缓存层。这有两个好处
如果您经常多次请求相同的完成结果它可以通过减少您对LLM提供程序的API调用次数来帮您节省费用。 它可以通过减少您对LLM提供程序的API调用次数来加快您的应用程序速度。
from langchain_openai import ChatOpenAIllm ChatOpenAI()from langchain.globals import set_llm_cache内存缓存
%%time 是一个魔术命令用于在代码中测量代码块的执行时间。它是Python编程语言中的一个内置命令可以用来计算代码块的执行时间。通过在代码块前加上%%time可以获取代码块的执行时间信息包括总时间、CPU时间和内存使用情况等。 注意%%time是Jupyter Notebook和IPython环境的特性标准Python脚本(.py)或其他非交互式Python环境中无法直接使用。如果你在非Jupyter环境下需要类似功能可以使用time模块来手动计时。
%%time
from langchain.cache import InMemoryCacheset_llm_cache(InMemoryCache())# 第一次它尚未在缓存中所以需要更长的时间
llm.predict(明天天气怎么样)%%time
# 第二次由于已存在于缓存中因此速度更快
llm.predict(明天天气怎么样)完整示例代码
from langchain_openai import ChatOpenAI
from langchain.cache import InMemoryCache
from langchain.globals import set_llm_cache
import time
llm ChatOpenAI(api_keysk-XXXXX)set_llm_cache(InMemoryCache())start_time time.time()print(llm.predict(明天天气怎么样))
end_time time.time()
execution_time end_time - start_time
print(f代码执行时间: {execution_time} 秒)start_time time.time()
print(llm.predict(明天天气怎么样))
end_time time.time()
execution_time end_time - start_time
print(f代码执行时间: {execution_time} 秒)结果
抱歉我无法提供明确的明天天气预报因为我无法访问实时天气数据。建议你查看天气预报应用或网站以获取最新的天气信息。
代码执行时间: 5.457608938217163 秒
抱歉我无法提供明确的明天天气预报因为我无法访问实时天气数据。建议你查看天气预报应用或网站以获取最新的天气信息。
代码执行时间: 0.0010001659393310547 秒当然可以结合我们的Chain来使用如下
from langchain_openai import ChatOpenAI
from langchain.cache import InMemoryCache
from langchain.globals import set_llm_cache
import time
llm ChatOpenAI(api_keysk-XXX)from langchain_core.prompts import ChatPromptTemplate
prompt ChatPromptTemplate.from_messages([(system, 你是一个专业的天气播报员),(user, {input})
])chain prompt | llm
set_llm_cache(InMemoryCache())
start_time time.time()print(chain.invoke(明天天气怎么样))
end_time time.time()
execution_time end_time - start_time
print(f代码执行时间: {execution_time} 秒)start_time time.time()
print(chain.invoke(明天天气怎么样))
end_time time.time()
execution_time end_time - start_time
print(f代码执行时间: {execution_time} 秒)结果
content明天的天气预报如下\n- 地点[请提供具体地点]\n- 天气[晴/多云/阴/雨/雪/雾等]\n- 温度范围[最高温度]℃ 到 [最低温度]℃\n- 风力风向[风力等级][风向]\n\n请提供具体地点我可以帮您查询更详细的天气情况。 response_metadata{token_usage: {completion_tokens: 131, prompt_tokens: 33, total_tokens: 164}, model_name: gpt-35-turbo, system_fingerprint: fp_811936bd4f, finish_reason: stop, logprobs: None} idrun-c07a049c-727d-47bc-a6c4-89135ff279c6-0 usage_metadata{input_tokens: 33, output_tokens: 131, total_tokens: 164}
代码执行时间: 3.432565689086914 秒
content明天的天气预报如下\n- 地点[请提供具体地点]\n- 天气[晴/多云/阴/雨/雪/雾等]\n- 温度范围[最高温度]℃ 到 [最低温度]℃\n- 风力风向[风力等级][风向]\n\n请提供具体地点我可以帮您查询更详细的天气情况。 response_metadata{token_usage: {completion_tokens: 131, prompt_tokens: 33, total_tokens: 164}, model_name: gpt-35-turbo, system_fingerprint: fp_811936bd4f, finish_reason: stop, logprobs: None} idrun-c07a049c-727d-47bc-a6c4-89135ff279c6-0 usage_metadata{input_tokens: 33, output_tokens: 131, total_tokens: 164}
代码执行时间: 0.0029997825622558594 秒程序或者脚本运行周期结束缓存失效。
SQLite缓存
from langchain_openai import ChatOpenAI
from langchain.cache import SQLiteCache
from langchain.globals import set_llm_cache
import time
llm ChatOpenAI(api_keysk-XXX)from langchain_core.prompts import ChatPromptTemplate
prompt ChatPromptTemplate.from_messages([(system, 你是一个专业的天气播报员),(user, {input})
])chain prompt | llm
set_llm_cache(SQLiteCache(database_path.langchain.db))
start_time time.time()print(chain.invoke(明天天气怎么样))
end_time time.time()
execution_time end_time - start_time
print(f代码执行时间: {execution_time} 秒)start_time time.time()
print(chain.invoke(明天天气怎么样))
end_time time.time()
execution_time end_time - start_time
print(f代码执行时间: {execution_time} 秒)结果
content明天的天气预报如下预计会有阵雨气温介于20-25摄氏度之间风力较强东北风风速大约在20-25公里/小时。请注意携带雨具并做好防风保暖措施。 response_metadata{token_usage: {completion_tokens: 90, prompt_tokens: 33, total_tokens: 123}, model_name: gpt-35-turbo-16k, system_fingerprint: None, finish_reason: stop, logprobs: None} idrun-55940874-2056-44e8-90e2-c0163b218ced-0 usage_metadata{input_tokens: 33, output_tokens: 90, total_tokens: 123}
代码执行时间: 2.634726047515869 秒
content明天的天气预报如下预计会有阵雨气温介于20-25摄氏度之间风力较强东北风风速大约在20-25公里/小时。请注意携带雨具并做好防风保暖措施。 response_metadata{token_usage: {completion_tokens: 90, prompt_tokens: 33, total_tokens: 123}, model_name: gpt-35-turbo-16k, system_fingerprint: None, finish_reason: stop, logprobs: None} idrun-55940874-2056-44e8-90e2-c0163b218ced-0 usage_metadata{input_tokens: 33, output_tokens: 90, total_tokens: 123}
代码执行时间: 0.23708701133728027 秒