规划您的 Bot#

在您开始构建 Bot 之前,重要的是考虑您的总体目标并规划您将如何开始。

您的助手可以使用不同的解决方案来帮助您的客户处理他们的请求。客户通过您选择和配置的应用程序访问助手。本节重点介绍在使用 NVIDIA ACE Agent 构建助手之前应遵循的一些最佳实践。

遵循这些最佳实践可确保系统化和有效的方法来构建 Bot。根据用户反馈和不断变化的需求定期更新和改进您的 Bot,以保持其在所选领域的相关性和效率。

步骤 1:选择您的 Bot 的专业领域#

为您的 Bot 选择合适的领域对其成功至关重要。确定您的 Bot 将提供最大价值的领域。无论是客户支持、电子商务、医疗保健还是任何其他领域,了解您的 Bot 的目的是其开发的基础。

考虑以下事项

  • 定义您的 Bot 在所选领域内将处理的具体任务和查询。

  • 分析目标受众,并相应地调整 Bot 的个性和语言。

  • 研究所选领域中现有的 Bot,以确定改进的机会。

步骤 2:确定对话流程和知识库#

确定您的 Bot 将如何满足用户查询。此步骤可能涉及确定自定义业务逻辑,使您的 Bot 能够理解并做出适当的响应。

考虑以下事项

  • 确定您的 Bot 将遇到的查询类型,并设计适当的响应。

  • 开发健壮的对话流程,以无缝处理用户交互。

  • 实施错误处理机制以管理意外的用户输入。

  • 确定是否需要与外部系统或 API 集成以获取其他数据或功能。如果您正在实施 RAG 类型的管线,请确定检索查询答案所需的知识库。

步骤 3:确定语言模型#

在您确定了您领域的对话流程之后,下一步是确定要使用哪种语言模型进行自然语言处理和自然语言生成。NVIDIA ACE Agent 提供了与常见服务提供商(如 OpenAI 和NVIDIA API 目录)的开箱即用集成。

选择合适的语言模型对于您的 Bot 的自然语言理解能力至关重要。评估不同的语言模型,并选择一个符合您的 Bot 要求的模型。

考虑以下事项

  • 根据预训练模型的性能、可用语言和支持的功能评估预训练模型。

  • 考虑模型大小和可用计算资源之间的平衡。

  • 探索微调选项,以根据您的特定领域和用户交互定制模型。

步骤 4:确定对话建模语言#

在您确定上述所有步骤后,您可以使用 Python 虚拟环境中的 aceagent 工具开始构建您的 Bot。aceagent 工具允许您使用示例文档用户界面,通过文本输入和文本输出界面构建和测试您的 Bot。这对于快速开发-测试迭代周期非常有用。Bot 由一组配置文件定义,NVIDIA ACE Agent 会使用这些配置文件。

要构建和建模在步骤 2 中设计的对话流程,有两种选择

选项 1

使用 LangChain 和 LlmaIndex 等第三方框架。在使用这些框架构建 Bot 后,您可以将它们无缝地载入 NVIDIA ACE Agent。

选项 2

使用NVIDIA 专有对话建模语言 Colang。如果您希望实现以下目标,Colang 更加有用:

  • 构建多模态 Bot 体验

  • 在输入和输出级别对对话应用护栏。

  • 希望更精细地控制对话流程。

步骤 5:规划更多模态#

在您对 Bot 的准确性感到满意后,如果您的用例需要,您现在可以考虑为您的助手添加语音 AI 或虚拟化身 AI。要添加其他模态,您需要使用 Docker 设置部署您的 Bot。

在此步骤中,一旦您添加语音 AI,例如,您可能需要微调一些参数以调整语音模型的准确性,例如词语增强和自定义发音处理。

步骤 6:确定前端渠道#

在您的 Bot 开发完成后,它需要一个生产级前端才能与用户交互。创建一个用户友好的界面,并将其与您的目标受众所在的渠道集成。Bot 的功能将通过 NVIDIA ACE Agent 通过 RESTful API 或 gRPC API 公开。前端将需要与 NVIDIA ACE Agent 公开的这些 API 集成。

考虑以下事项

  • 使用 Web 技术(HTML、CSS、JavaScript)或特定于平台的框架(例如,React、Angular)开发前端。

  • 确保跨不同渠道(Web、移动设备、消息应用程序)的用户体验一致。

步骤 7:确定部署基础设施#

Bot 开发周期的最后阶段实际上是将您的 Bot 部署到生产环境。选择正确的部署方法对于使您的 Bot 可供用户访问至关重要。考虑可扩展性、安全性和易于维护等因素。更具体地说,请考虑以下事项

  • 在云平台(AWS、Azure、Google Cloud)上部署以实现可扩展性和可靠性。NVIDIA ACE Agent 提供了一个 Helm chart 以方便 相同的操作。

  • 实施持续集成和持续部署 (CI/CD) 管道以实现高效更新。