Press "Enter" to skip to content

ChatGPT API的自定义内存

LangChain内存类型简介

自制gif

如果你曾经使用过OpenAI API,我相信你一定注意到了一个问题。

<p明白了吗?

没错!每次调用ChatGPT API时,模型都没有记忆之前你所做的请求。换句话说:每次API调用都是一个独立的交互

<p当你需要进行后续交互时,这绝对是非常恼人的。聊天机器人就是需要后续交互的典型例子。

<p在本文中,我们将探讨如何在使用OpenAI API时为ChatGPT提供记忆,以便它记住我们之前的交互。

热身!

让我们与模型进行一些交互,以便我们体验一下默认的无记忆现象:

prompt = "我的名字是Andrea"response = chatgpt_call(prompt)print(response)# 输出:很高兴认识你,Andrea!有什么我可以帮助你的吗?

<p但是当问一个后续问题时:

prompt = "你记得我的名字吗?"response = chatgpt_call(prompt)print(response)# 输出:很抱歉,作为一个AI语言模型,我没有记住关于个别用户的具体信息的能力。

<p没错,事实上,即使在第一次交互中提供了我的名字,模型也不记得它。

注意:chatgpt_call()方法只是OpenAI API的一个包装器。我们已经在ChatGPT API Calls: A Gentle Introduction中尝试了如何轻松调用GPT模型,如果你想了解更多,请查看!

<p有些人通常通过在每次进行新的API调用时预先提供先前的对话历史来解决这种无记忆的情况。然而,这种做法不是成本优化的,并且对于长对话来说肯定有限制。

<p为了为ChatGPT创建一个记忆,使其意识到之前的交互,我们将使用流行的langchain框架。该框架允许您轻松管理ChatGPT的对话历史,并通过选择适合您的应用程序的正确的内存类型来进行优化。

LangChain框架

Leave a Reply

Your email address will not be published. Required fields are marked *