在LangChain 1.0.2中,隐式提示缓存(Implicit prompt caching)可以帮助我们在与模型交互时节省token,通过缓存一些常用的提示内容,避免重复发送相同的提示。
下面是一个使用OpenAI模型的对话案例,展示了如何利用隐式提示缓存来节省token:
from langchain import OpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
# 首先定义一个提示模板
prompt_template = PromptTemplate(
input_variables=["user_message"],
template="用户说: {user_message}\n助手的回复:"
)
# 创建一个OpenAI模型实例
llm = OpenAI(api_key="YOUR_API_KEY")
# 创建一个LLM链
llm_chain = LLMChain(llm=llm, prompt=prompt_template)
# 假设我们进行多次对话
def chat_with_assistant(user_message):
# 使用隐式提示缓存
response = llm_chain.run({"user_message": user_message})
return response
# 进行对话
user_message_1 = "你好,今天的天气怎么样?"
response_1 = chat_with_assistant(user_message_1)
print(f"助手的回复: {response_1}")
user_message_2 = "我还想知道下周的天气预报。"
response_2 = chat_with_assistant(user_message_2)
print(f"助手的回复: {response_2}")
在这个案例中,chat_with_assistant函数将用户信息传递给预先定义的提示模板,并通过LLMChain进行处理。在多次对话中,如果用户提出的问题相似,隐式提示缓存将确保我们不会重复发送相同的提示,从而节省token。
你可以在实际应用中根据自己的需求来修改提示模板和输入变量,同时请记得聪明地使用缓存来减少这些重复的调用,从而降低成本。