ChatGPT中文站

ChatGPT APIs和管理会话上下文内存

目前,ChatGPT由最先進的OpenAI語言模型驅動。雖然OpenAI已經將API提供給這些模型,但它並不在本質上管理對話上下文和記憶。

ChatGPT中文站

传统上,聊天机器人开发框架面临的挑战之一是管理对话记忆,也被称为会话上下文。

最好的说明方式,是通过以下示例对话。用户提出了三个问题,第一个问题是直接且明确的问题。

问题二和三都是暗示问句,通过第一个问题中的上下文以暗示和略微模糊的方式进行引用。

问题三在暗示上下文方面更加模糊。

ChatGPT中文站

利用LLM相关工具如少样本学习和文本摘要,可以轻松管理对话的记忆和上下文。

以下是一些实际的例子...

目前的ChatGPT模型有:gpt-4、gpt-3.5-turbo、gpt-4-0314和gpt-3.5-turbo-0301。这些模型可以通过API调用仅几行代码即可访问。

如下所示,只需几行代码,您就可以输入一系列信息,模型就会返回文本输出:

pip install openai

import os
import openai
openai.api_key = "xxxxxxxxxxxxxxxxxxxxxxx"
completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages = [{"role": "system", "content" : "You are ChatGPT, a large language model trained by OpenAI. Answer as concisely as possible.\nKnowledge cutoff: 2021-09-01\nCurrent date: 2023-03-02"},
{"role": "user", "content" : "How are you?"},
{"role": "assistant", "content" : "I am doing well"},
{"role": "user", "content" : "How long does light take to travel from the sun to the eart?"}]
)
print(completion)

用于输出:

{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "It takes about 8 minutes and 20 seconds for light to travel from the sun to the earth.",
"role": "assistant"
}
}
],
"created": 1678039126,
"id": "chatcmpl-6qmv8IVkCclnlsF5ODqlnx9v9Wm3X",
"model": "gpt-3.5-turbo-0301",
"object": "chat.completion",
"usage": {
"completion_tokens": 23,
"prompt_tokens": 89,
"total_tokens": 112
}
}

所提交的ChatML文档必须包含对话历史,以便有效地维护对话上下文并管理对话状态(也称为记忆)。

通过结合之前的对话内容,该模型可以回答上下文相关的问题,并具有对话记忆。

OpenAI明确指出,模型没有记忆先前和过去的请求。因此,所有相关信息必须通过对话提供。

重要的是要记住,如果一个对话超过了模型的标记限制,则必须将其缩短。这可以通过拥有滚动日志来完成对话历史记录,仅提交最近的对话轮来实现。

但是如何管理对话记忆以实现可控缩放?

无代码生成应用程序开发的常见方法是将编程任务分为不同的组件。其中之一是对话记忆。

例如,以下是LangFlow的三个内存组件。

  1. 用于存储对话记忆的缓冲区。
  2. 对话总结器记忆化。
  3. 知识图谱存储对话记忆的记忆。
ChatGPT中文站

以下是带有记忆的最基本的通用聊天机器人... 记忆组件允许出现模糊问题。

ChatGPT中文站

考虑以下对话以及两个进一步的问题是多么注意上下文背景的。

ChatGPT中文站

⭐️请在LinkedIn上关注我,获取LLM的最新更新⭐️

ChatGPT中文站

我目前在HumanFirst担任首席宣传员。我探讨和写作与人工智能和语言相交叉的所有内容;涉及LLMs、聊天机器人、语音机器人、开发框架、数据中心的潜在空间等。

ChatGPT中文站
ChatGPT中文站
https://www.linkedin.com/in/cobusgreyling
ChatGPT中文站
ChatGPT中文站

2023-10-20 16:43:33 AI中文站翻译自原文