gpt4 book ai didi

chatbot - 如何使用 langchain 创建多用户聊天机器人

转载 作者:行者123 更新时间:2023-12-02 05:49:42 60 4
gpt4 key购买 nike

希望你做得很好。我根据以下 langchain 文档准备了一个聊天机器人:

Langchain chatbot documentation

在上面的langchain文档中,提示模板有两个输入变量——历史记录和人工输入。

我有 UserID、SessionID 变量。我将 UserID、SessionID、UserMessage、LLM-Response 存储在 csv 文件中。我使用 python pandas 模块读取 csv 并过滤给定 UserID 和 SessionID 的数据帧,并为该特定用户 session 准备聊天历史记录。我将此聊天历史记录作为“历史记录”输入传递给 langchain 提示模板(在上面的链接中进行了讨论)。当我设置 verbose=true 时,langchain 会在控制台上为每个 API 调用打印提示模板。我已经开始与第一个用户和第一个 session 进行对话,并逐个发送 3 个 human_input。后来我开始了第二个用户 session (现在 session ID和用户ID已更改)。在控制台上观察该提示模板后,我发现 langchain 不仅获取了第二个用户 session 的聊天历史记录,而且还获取了上一个用户 session 的一些聊天历史记录,即使我已经编写了正确的内容为给定用户 session 准备聊天历史记录的代码。获取聊天记录的代码如下:

# get chat_history
def get_chat_history(user_id,session_id,user_query):
chat_history = "You're a chatbot based on a large language model trained by OpenAI. The text followed by Human: will be user input and your response should be followed by AI: as shown below.\n"
chat_data = pd.read_csv("DB.csv")
for index in chat_data.index:
if ((chat_data['user_id'][index] == user_id) and (chat_data['session_id'][index] == session_id)):
chat_history += "Human: " + chat_data['user_query'][index] + "\n" + "AI: " + chat_data['gpt_response'][index] + "\n"
chat_history += "Human: " + user_query + "\n" + "AI: "
return chat_history

如何教 langchain 在提示中仅考虑给定的用户 session 聊天历史记录。请帮忙

最佳答案

在构造对 openai 的调用时,没有确切地看到您使用的代码(即您使用的是 ConversationChain 还是 LLMChain?最重要的是,您是否像您链接的示例中那样使用 ConversationBufferMemory?)

我询问 ConversationChain (如果您不向其传递内存参数,默认情况下会为您初始化 ConversationMemory)和 ConversationBufferMemory 的原因是因为它听起来很像您所看到的缓冲区,但它不是没有清除...基本上,它们共享相同的缓冲区或 MessageHistory。

抱歉,在没有看到您的 eac 之前我无法为您提供更多帮助

关于chatbot - 如何使用 langchain 创建多用户聊天机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76407415/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com