我们如何创建 Hyve,一个适用于 WordPress 的人工智能聊天机器人 – 第一个版本现已免费
已发表: 2024-07-09在过去的几个月里,我们一直在尝试使用人工智能来为 WordPress 创建创新工具。 我们最近的项目之一 QuickWP(一个人工智能驱动的 WordPress 网站构建器)就是这样的项目。 基于我们在制作 QuickWP 时学到的东西,我们很高兴推出一些全新但相关的东西!
在这篇文章中,我想向您介绍 Hyve,这是一个适用于 WordPress 的人工智能聊天机器人。 Hyve 利用您的 WordPress 内容智能地响应用户询问,直接从您网站的现有材料提供准确且上下文相关的答案。 好吧,这有点拗口,所以我们来分解一下:
简而言之,Hyve 使用您现有的内容,将其用作知识库,并根据提供的数据回答用户问题。
我们于 4 月底推出了 Hyve 的初始版本,从那时起,我们听取了用户的大量反馈,以改进插件以解决任何可能的问题,并使其在 1.1 版本中对用户更可用。 今天,我们很高兴地宣布,我们将向所有用户免费使用 Hyve 1.0.3。 Hyve 是开源的,并根据 GPLv3 获得许可。
👉 如果您想尝试 Hyve,可以点击此处的链接下载该插件。
“但是有什么问题呢?” 你可能会问。 在本文中,我将回答您的所有问题,分享创建 Hyve 的旅程,解释我们为什么要公开此版本等等。
但首先,让我们从头开始:
什么是海维?

同样,简单来说,Hyve 是一个适用于 WordPress 的 AI 聊天机器人,它使用 OpenAI API 结合您网站的数据来回答用户的问题。 您可以根据您网站的内容对 Hyve 进行培训,它将使用该信息来提供准确且相关的响应。 借助 Hyve,您可以利用您的帖子、页面甚至自定义数据作为您的知识来源,我们将其称为知识库。
所有数据都保留在您的 WordPress 和 OpenAI 帐户中。 您无需连接到任何附加服务即可使用 Hyve。 对于 1.1 版本更新,我们创建了此视频来向用户介绍 Hyve:
除了知识库之外,您还可以使用更多选项来自定义聊天机器人并了解用户提出的哪些问题未得到解答。 此功能可帮助您确保将正确的问题添加到知识库中。
失败的黑客马拉松项目
让我告诉您 Hyve 诞生的故事。
这不是您要求的故事,但却是您需要的故事。
时间回到 2023 年 3 月,就在 ChatGPT 发布几个月后,AI 项目正在接管 Twitter(是的,2023 年 3 月它仍然被称为 Twitter); 我们决定在公司举办一场为期两天的以人工智能为主题的远程黑客马拉松。
一位开发人员选择了一个项目,使用 OpenAI API 和从公司文档中删除的数据为 WordPress 创建 AI 聊天机器人。 令他沮丧的是,他在这项任务上遇到了困难,最终该项目失败了。
在这一点上,我应该指出我是开发人员。
如果您有兴趣,我最终使用 OpenAI 提交了一个最后一刻的自动垃圾评论生成器,该代码仅有 50 行代码。

虽然这个想法在那次黑客马拉松之后消失了,但团队在今年早些时候讨论了它,这一次,我们在编写第一行代码之前做了更多的研究和准备。 Hyve 就这样诞生了。
那么为什么第一次失败而第二次却失败了呢?
快速工程、RAG 和微调
快速工程、检索增强生成(RAG)和微调是人工智能工具开发中使用的技术。 如果正确使用,这些方法中的每一种都可以显着提高准确性、相关性和整体性能。
但确切知道何时不使用它们也很重要。 第一次参加黑客马拉松项目时,我们(或者更具体地说,我)错误地认为微调就是答案。
作为一名新手,我明白微调是通过向人工智能模型展示数百个如何回答每个问题的示例来“训练”人工智能模型来执行任务的方法。 但我错了。
理论上,聊天机器人完全按照训练的要求去做。 它接受了用户的提问,并以我们公司文档的写作风格和语气回答了一些大部分不正确的信息。 为了解释原因,让我们快速深入了解所有这些技术的含义:
及时工程
也许使用 ChatGPT 和其他人工智能工具的每个人都知道最著名的技术。 我们向人工智能模型提供一些关于该做什么的指令,并指定它应该如何响应。 例如,我们可以给它一个来自 20 封电子邮件的数据列表,并要求它每行总结它们。 它将获取数据并回复如下内容:
- 周二,杰夫通过电子邮件向您发送了有关打印发货的信息。
- 星期五,您收到了杰夫和马特的生日祝福。
- …等等
当我们确切地知道在提问时要向人工智能提供哪些信息时,这种方法非常适合简单的任务,但当任务复杂得多时,这种方法就会失败。
检索增强生成 (RAG)
如前所述,即时工程对于简单任务非常有效,但对于更复杂的查询可能会很困难。 这就是检索增强生成(RAG)发挥作用的地方。 RAG 通过将基于检索的方法与生成模型相结合来增强 AI 功能。 RAG 不是仅仅依赖给定的提示,而是搜索大型文档数据库来查找相关信息,然后使用这些信息生成更准确、上下文更丰富的响应。
例如,用户可能会问:“你们在尼斯提供自行车之旅吗?” 通过 RAG,人工智能将首先检索与该问题相关的文章,然后根据这些文章中提供的信息做出答复。
或者想象一下向人工智能询问天气更新或股票价格。 所有这些都需要它从其他来源获取访问信息。
当处理大量数据或初始提示中未直接提供所需信息时,此方法特别有用。
在 Hyve 中,我们无法为每个查询提供知识库中的所有数据。 这太不切实际了,所以我们需要使用RAG技术首先收集哪些信息与用户的查询相关,然后将其与用户的问题一起传递给AI。
微调
微调涉及采用预先训练的人工智能模型,并在特定数据集上对其进行进一步训练,以使其更擅长特定任务或领域。 微调并不是告诉人工智能到底要说什么,而是帮助它理解如何回复。
例如,考虑提示工程部分的早期案例,其中人工智能总结了电子邮件:
- 周二,杰夫通过电子邮件向您发送了有关打印发货的信息。
- 星期五,您收到了杰夫和马特的生日祝福。
在这种情况下,如果人工智能没有进行微调,它可能会产生语气或格式不同的响应,从而使摘要不一致或对于特定用例不太有用。 微调可以标准化人工智能的反应,确保它们遵循一致的风格和语气。 经过微调后,人工智能可能会提供更统一的摘要,如下所示:
- 周二,杰夫向您通报了印刷货件的状态。
- 星期五,杰夫和马特都给你送上了生日祝福。
同样,在黑客马拉松项目中,微调也达到了预期目的。 虽然它总是回复错误的答案,但它总是以我们在公司文档中使用的相同格式和语气进行回复。 微调效果很好; 错误更多地在于我们为任务选择的技术。
如果使用得当,微调可以成为为特定任务构建人工智能模型的非常强大的工具。 事实上,它可以在较低排名的模型上进行训练,但比较高排名的模型产生更好的结果。
选择正确的技术
如果正确使用,所有提到的技术都非常有用。 但如果使用不当,它们也会让你的人工智能工具在完成其目标任务方面变得更糟糕。
对于我们的黑客马拉松项目来说,微调并不是正确的方法。 如果我们限制自己使用 RAG 进行快速工程,结果会好得多。
根据经验,始终从快速工程开始。 如果它完全按照您的要求执行,那么您无需使用 RAG 或微调。

如果它没有产生您想要的结果,请查看它是否需要更多上下文信息或者格式/语气是否一致。 在此基础上,可以决定是否需要 RAG、微调或两者兼而有之。
如果您想了解有关选择正确技术的更多信息,我强烈建议您在 OpenAI 的 YouTube 帐户上观看此演讲。
Hyve 的工作原理
现在我们已经讨论了构建 AI 工具的一些技术,让我们探讨如何使用这些技术为 WordPress 开发 AI 聊天机器人。

OpenAI 提供了多种构建对话式人工智能的方法。 对于这个项目,我们选择了 Assistant API 而不是 Chat Completions API。 这两个 API 都有其优点和缺点,但我们更喜欢 Assistant API,因为它允许用户轻松查看聊天历史记录并通过将每个对话视为一个线程来维护上下文。 这在构建 QuickWP 时特别有用,因此我们决定坚持使用它。 其他人可能更喜欢聊天完成 API,这也很好。
通过 Assistant API,当用户连接其 OpenAI 帐户并在那里设置提示时,我们会创建一个 Assistant。 这样,我们就不必为每个请求发送提示,因为 OpenAI 会对其进行管理。
当用户将查询发送到聊天机器人时,我们使用 OpenAI 的 Embeddings API 将问题转换为嵌入,并运行算法将它们与网站的知识库进行比较以获得最接近的匹配。 然后,我们将最匹配的内容与用户的问题一起发送给助手,确保人工智能在响应查询时仅考虑提供的上下文。
我们考虑过使用微调来提高响应质量,但为了让用户保持简单,我们暂时决定不这样做。 但是,我们将来可能会对模型进行微调,以确保其严格遵循预期的提示。 目前,即时工程运行良好,不会增加复杂性。
现在 Hyve v1.0 是免费的
我们于四月份发布了 Hyve,从那时起,许多客户就如何增强其功能提供了宝贵的反馈。 在此基础上,我们上个月推出了 Hyve v1.1,其中包括高级功能,例如为站点管理员提供有关未解答问题的详细见解、为助手提供更多自定义选项以及许多其他改进。
现在,我们很高兴地宣布 Hyve v1.0.3 对所有想要尝试的用户免费。 此版本是一次性版本,这意味着它不会收到更新或客户支持。 Hyve v1.0.3 包含原始版本的所有功能,以及所有已知错误的修复。
通过提供这个免费版本,我们希望更多的人尝试 Hyve,为我们提供更多反馈和对不同用例的见解。 这将有助于我们不断改进并回馈社区。
谁知道呢,您可能也喜欢 Hyve,并决定订阅更新。 如果这样做,只需输入许可证密钥,您就会开始接收更新。
我们还利用这个机会与社区分享了我们为 WordPress 构建 AI 聊天机器人的历程。 你们中的创客可能会发现一些有用的东西,或者它可能会帮助您解释人工智能聊天机器人是如何在幕后工作的。
我们希望您尝试一下 Hyve,并享受使用它的乐趣,就像我们享受构建它一样。 如果您在下载/安装 Hyve 时遇到任何问题或对我们有任何疑问,请在下面发表评论。 同样,您可以点击此处的链接下载 Hyve v1.0.3。 如果您想查看最新版本,可以在 Hyve 的产品页面上找到。