gpt4 book ai didi

javascript - Bot Connector - Direct Line API 交叉对话?

转载 作者:行者123 更新时间:2023-11-30 00:02:56 26 4
gpt4 key购买 nike

我写了一个快速的小 JavaScript 聊天来使用直线 API。为了保证我的 App Secret 的安全,js 对我的服务器进行了 ajax 调用,我在服务器端调用带有 key 的 API 来生成 token 并将其传回给 js。当用户提交消息时,js 发帖以开始对话(如果我还没有 conversationID),然后发布消息,然后获取响应。

幸运的是,当我开始这个时,我用谷歌搜索了一些东西并浏览了一些关于在发布时在消息对象中包含“from”值的帖子,或者它只是从每个帖子开始。但现在一切正常,没有问题。

然后我注意到似乎有些奇怪。如果我打开一个浏览器并开始聊天,它会从另一个浏览器停止的地方开始聊天。

我很快意识到这是因为我在 js 中硬编码了一个“from”值。但这看起来仍然很奇怪……2 个不同的 token 、2 个不同的 session ID、2 个不同的浏览器和 1 个 session 。对话真的是由消息中的发件人字段链接起来的吗?

如果是这样,拥有 conversationID 有什么意义?他们是否以某种方式将 IP 和/或 MAC 地址与 from 属性结合使用?

我仍在本地主机上工作,所以我还没有测试它来自 2 个不同的 IP。

我知道通过让 js 为“from”生成一个随机值来将对话限制在 js 的生命周期内可以很容易地解决这个问题,但这看起来仍然很奇怪。有充分的理由吗?还是错误?

更新 请参阅 github 问题以获得答案: https://github.com/Microsoft/BotBuilder/issues/1307#issuecomment-249187807

最佳答案

您应该在客户端加载时生成一个随机 ID。 (或者,您可以在您的应用程序中使用现有的用户 ID,例如设备 ID。)自动分配行为一直是混淆的根源,并且不会存在于下一版本的 Direct Line 中。 (参见 GitHub Discussion)

关于javascript - Bot Connector - Direct Line API 交叉对话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39649732/

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