则可以轻松进行链接页面遍历

如果链接页面也在 Confluence 上,在这些情况下,我们使用我们的网络抓取工具对链接页面进行索引,并存储与层次结构相关的元数据。链接到 draw.io 和 Google Drive 等其他平台则比较棘手,需要单独连接才能抓取。这些文档类型的用户权限是另一个考虑因素。对于我们的第一次迭代,我们仅包含具有全公司访问权限的文档。

3. 处理过时的数据 

我们现有文档的一个大问题是数据过时。例如,Confluence 中的人力资源空间可能有一些过时的人力资源政策,这些政策不再准确。我们尝试在抓取工具中添 秘鲁手机号 加一条规则,以忽略特定日期之前的数据,但很快意识到在某些情况下旧数据仍然有用(例如,一个国家的福利可能多年都不会改变)。然后,我们尝试在提示级别处理过时数据,方法是将提示设置为忽略相关的旧数据,但结果仍然好坏参半。

最后,我们决定这不是一个工程问题,需要通过底层数据来解决。我们发现一个简单的解 了解一天中哪个时间段您的 决方案是在我们的网络抓取工具中添加一个设置来忽略特定的汇合页面。当我们在测试中发现过时的信息时,作为一个流程,我们会将其标记给相关团队,但是,我们的代理可以通过我们维护的“忽略”页面列表立即解决这个问题,这样我们就不会抓取任何过时的信息。

4. 模型性能和代理记忆

在截至 2024 年 9 月的 Bedrock 基础模型中,我们发现 Claude Sonnet 3.5 表现最佳,但在构 WhatsApp 号码 建此模型时,该模型没有内存来存储以前的对话。我们探索了自己的解决方案,通过在 Dynamodb 中存储对话历史记录来添加代理内存,但最终决定使用 Clause Sonnet 3,它自带内存,使我们免于构建中间内存层和另一个潜在的答案不准确的来源。

5. 提出正确的提示

这是最耗时的步骤之一。我们在实验中发现,正确的提示对性能有很大的影响,并且还能使模型符合我们公司的政策。在阅读了该领域的最新信息并尝试了我们自己的调整后,我们严重依赖 Anthropic 的这个提示生成器来指导我们的代理提示。

一旦我们找到了正确的提示来最大化我们的代理性能,我们就会创建内部超级提示,其中包含一些参数,可以在 Aircall 内的各种用例中进行调整,例如:

6. 可信数据的来源引文 包含来源引文可以帮助我们赢得用户对代理答案的信任。默认情况下,当被要求提供引文时,显示的来源是抓取工具存储 Confluence 数据的 s3 存储桶来源。我们修改了相关元数据和用于调用模型的 lambda 函数,以在通过 Slack 访问代理时包含底层 Confluence URL。

7. Slack Bot 集成 我们创建了一个 Slack 应用程序,可以安装在我们的工作区上并用于访问代理,类似于。然而,在我们开展项目时,亚马逊发布了针对 Bedrock 代理的 Chatbot 集成教程,我们发现这是一种更直接、更快捷的方式来进行初始集成,以及在我们迭代底层模型时删除和添加连接器。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部