立即下载 DOCA,开启高性能AI 网络之旅,实现“一站式” 编程
生成式人工智能/大语言模型

构建 AI 销售助理的经验教训

在 NVIDIA,销售运营团队为销售团队提供将先进的硬件和软件推向市场所需的工具和资源。通过 NVIDIA 的各种技术来管理这一点是许多企业都面临的复杂挑战。

通过与我们的销售团队合作,我们发现他们依赖于内部和外部文档,通常会浏览多个存储库来查找信息。现在想象一下,一款 AI 销售工具可以帮您完成所有这些工作。

本文将探讨 NVIDIA 如何使用 大语言模型 (LLMs) 检索增强生成 (RAG) 技术构建 AI 销售助理,以简化销售工作流,并解决挑战、核心解决方案组件和关键经验教训。有关更多信息,请参阅 Explore Retrieval Models

主要知识 

了解如何打造出色的 AI 销售助理。

从用户友好型聊天界面开始

从直观的多回合聊天平台开始,该平台由 Llama 3.1 70B 等功能强大的 LLM 提供支持。通过 Perplexity API 实现 RAG 和 Web 搜索等层增强,可在不影响可访问性的情况下实现高级功能。

优化文档提取 

实施广泛的预处理,将基于规则的确定性字符串处理与基于 LLM 的逻辑相结合,以进行翻译和编辑。这种方法可更大限度地提高检索到的文档的价值,从而显著提高性能。

实施广泛的 RAG 以实现全面覆盖

使用从内部文档和媒体数据库检索的文档以及公司网站上提供的公开内容,以适应各种工作流,并确保全面的信息交付。

平衡延迟和质量 

通过使用在长期运行的任务期间显示早期搜索结果以及提供有关答案生成进度的可视化反馈等策略来优化响应速度和相关性。

优先考虑数据的新鲜度和多样性

通过从内部销售文档和媒体数据库中提取项目来执行每日更新,并实现与结构化数据的实时连接。

利用 NVIDIA Multimodal PDF Ingestion 高效解析和 Riva 自动语音识别转录 ,为 PDF、幻灯片、录音和视频文件等不同的数据格式做好准备,从而解决集成挑战。

开发一个 AI 销售助理

NVIDIA 的产品组合多种多样,涵盖 LLM 物理模拟 3D 渲染 数据科学 ,这些都要求销售团队在快节奏的 AI 市场中及时了解最新信息。

为应对这一挑战,我们开发了一个集成到工作流程中的 AI 销售助理,可让您即时访问专有数据和外部数据。它由先进的 LLM ( 如 Llama 3.1 70B ) 提供支持,并支持 RAG ,可提供包含内部见解和外部数据的统一聊天界面。

销售团队使用该助手快速回答以下问题:“ NVIDIA RTX 在数据科学方面有哪些主要优势?”或“总结近期的 CRM 更新”。它还能针对客户特定的问题生成量身定制的回复,例如:“NVIDIA 如何优化医疗健康领域的 AI 训练流程?”

助手还支持文档摘要、编辑和校对。早期用户很快就采用了它的对话式界面,与传统的检索系统相比,他们很欣赏它如何改善勘探、报告和客户互动。

主要优势 

  • 统一的信息访问 :通过 Perplexity API 和网络搜索将内部 NVIDIA 数据与更广泛的见解相结合。
  • 企业级聊天 :使用 Llama-3.1-405B-instruct 等模型处理拼写检查、摘要、编码和分析等各种查询。
  • 简化的 CRM 集成: 使用 Text2SQL 方法直接在客户关系管理 (CRM) 系统中汇总销售数据,从而自动生成 SQL 查询并增强报告功能。

架构和工作流程 

AI 销售助理专为实现可扩展性、灵活性和响应速度而设计,具有以下核心架构组件:

  • LLM 辅助文档提取工作流
  • Wide RAG 集成
  • 事件驱动型聊天架构
  • 早期进展指标

LLM 辅助文档提取工作流

文档提取过程 (图 1) 解决了其他语言的文档翻译、PDF 解析和格式不一致等挑战。

为确保一致性,所有文本均使用 LLM 处理,并将其转换为标准化的 Markdown 格式以供提取。相关步骤包括使用 NVIDIA Multimodal PDF Ingestion Blueprint 解析 PDF 、使用 NVIDIA Parakeet NIM 转录音频文件 、使用 Llama 3.1 70B 进行编辑和翻译 ,以及将结果存储到 Milvus 数据库中。

NVIDIA 特定产品名称 (例如 NVIDIA RTX 或 NVIDIA NeMo Curator) 也会自动添加从查找表中获得的简短说明,从而提高文档的清晰度,并使其更易于用于下游流程。

A diagram shows the workflow for parsing and converting files and documents into edited Markdown text. PDF files with images are ingested using the NVIDIA Multimodal PDF Ingestion Blueprint while audio files are transcribed using NVIDIA Parakeet NIM for automatic speech recognition. The text undergoes a rule-based cleaning step, followed by final edits and translations performed by Llama 3.1 70B. The refined text is then passed through an embedding model and stored into a Milvus database for further use.
图 1. 文档提取管道

Wide RAG 集成

AI 销售助理通过结合来自 Milvus 上的向量检索、受限于 NVIDIA 网站的网络搜索和 Perplexity API (图 2) 的搜索结果来回答用户查询。这些回复通常包含十几次或更多次内联引用,当引用包含冗长的 URL 或详细的作者信息时,这会给 LLM 带来挑战。

为确保准确性,我们在文本生成过程中使用 prompts,将引用替换为简洁的字母数字键。在后续的 postprocessing 步骤中,这些密钥将替换为完整的引用详细信息,从而显著提高内联引用的可靠性和准确性。

A diagram shows the process of generating an LLM-based response to a user query with event-driven chat architecture. Steps include query routing and rewriting, retrieval from multiple sources: the Perplexity API, vector indexing through a Milvus database, and searching the NVIDIA website. The final answer is streamed from the Llama 3.1 70B LLM.
图 2、基于 LLM 的响应生成,具有广泛的 RAG 集成和事件驱动的聊天架构

事件驱动型聊天架构

借助 LlamaIndex 工作流 (图 2),AI 销售助理可通过事件驱动的流程高效管理响应生成。事件捕获每个步骤所需的局部状态,确保顺利进行。

每个工作流程步骤都由 Chainlit 上下文管理器 提供支持,该管理器通过直接在 UI 中提供视觉进度指示器来增强用户体验,从而简化错误识别和调试。

对于需要复杂推理的任务,我们使用带有思维链推理的结构化生成技术显著提高为 CRM 数据生成的查询的质量。

图 3. 显示 AI 销售助理的逻辑流程,从用于查询路由和标记的事件开始,然后再拆分成不同的路径,这些路径可以使用基于文档的 RAG 或用于 CRM 数据的 Text2SQL 方法来回答用户问题。该架构图重点介绍了该解决方案如何高效处理各种数据输入,包括 CRM 数据、通话记录和专有文档。

A diagram of the workflow highlights CRM SQL generation, Milvus retrieval, and event-driven multi-step logic.
图 3、用于完整 AI 销售助理答案生成流程的 LlamaIndex 工作流步骤

该工作流根据用户查询的路由方式提供了多种路径,因此如果不适当追踪所使用的数据和系统执行的步骤,则难以理解答案是如何生成的。

以下示例代码展示了如何将 LlamaIndex 工作流步骤与 Chainlit 集成,以实现视觉进度跟踪和结构化生成。

from llama_index.llms.nvidia import NVIDIA
from chainlit import Step
from pydantic import BaseModel, Field 
from llama_index.core.workflow import Event, Workflow, step

class SelectedTables(BaseModel):
   """Pydantic model for selecting the type of tables used for answering SQL queries"""
   reasoning_steps: list[str] = Field(
           description="Explanation of why these tables were selected"
       )
   tables: list[str] = Field(
       description="List of table names that are relevant for answering the query"
   )
  
class TableSelectEvent(Event):
   """LlamaIndex Workflow event representing the table selection"""
   tables: list[str]
  
class AssistantFlow(Workflow):
  
   llm = llm = NVIDIA("meta/llama-3.1-70b-instruct")
  
   ...
  
   @step
   def select_tables(self, query_event):
       with Step(name="Table Selector") as step:
           selected = self.llm.structured_predict(
                   SelectedTables,
                   table_selection_prompt,
                   query=query_event.query
               )          
           # Makes the output visibile in Chainlit UI
           step.output = {
               "selected_tables": selected.tables,
               "reasoning_steps": selected.reasoning_steps,
           }
       # You don't need the reasoning steps later; you just need
       # the list of tables that can be used
       return TableSelectEvent(selected.tables)
  # Results are used in later steps to query sales data from SQL

有关更多信息,请参阅“ 创建基于 RAG 的问答 LLM 工作流 ”,这是关于使用 Chainlit 和 LlamaIndex 使用多个数据源实现 RAG 的技术深度介绍。博文还随附了 Github 代码,用于演示关键功能。

早期进展指标

引文卡 (图 4) 可在冗长的第三方 API 调用期间提供实时反馈,在生成响应时让您随时了解最新情况并与之互动,从而增强用户体验。

Three panels show summaries of webpages from the NVIDIA website. Each panel includes the subdomain and a text preview of the webpage’s content.
图 4、与回答用户的查询相关的来源引文卡

图 5 直观地展示了整个 AI 销售助理系统,展示了将其核心架构组件集成到一个连贯一致的框架中。它显示了用于文档提取、销售文档检索增强生成的主要资源分组,以及使用 CRM Text2SQL 回答有关结构化数据的问题。

A diagram shows the integration of core components, including data sources, retrieval pipelines, and LLM-powered processing nodes. It highlights workflows for data extraction, query handling, and response generation, showcasing how diverse inputs such as CRM data and proprietary documentation are processed to deliver customized outputs.
图 5、AI 销售助理架构

陷阱与取舍:在创新与可用性之间求得平衡

开发 AI 销售助理提出了一些挑战,需要进行周全的权衡,以平衡创新和用户体验:

  • 延迟和相关性
  • 数据近期
  • 集成复杂性
  • 分布式工作负载

延迟和相关性

提供快速响应对于用户体验至关重要,但生成准确、相关的答案可能非常耗时。

为了解决这个问题,我们实施了严格的时间限制:网页检索和解析最多 8 秒,Perplexity API 的结果最多 15 秒。

我们还引入了 UI 元素,可在生成答案时提供 RAG 来源的实时摘要,从而让用户随时了解最新信息并与之互动。

数据近期

维护最新的知识库需要大量资源。我们目前采用为期一年的回顾期,并正在探索更好地识别和剪枝过时内容的策略。

集成复杂性

集成各种数据源和格式 (包括 PDF、演示文稿、音频和视频) 需要自定义提取和处理工作流。那些努力对于确保全面准确的信息报道至关重要。

分布式工作负载

长期运行的任务 (例如 SQL 查询) 通过带有消息队列的部分分布式方法进行处理。这可确保在不影响性能的情况下进行实时交互。

总结 

为 NVIDIA 销售团队打造 AI 销售助理是一项有意义的技术挑战,可为设计可扩展的 AI 驱动型解决方案提供宝贵见解。借助基于 RAG 的架构,我们集成了各种知识来源,优化了查询处理,并确保了高性能和准确性,从而满足动态数据密集型环境的需求。

通过将先进的 LLMs、结构化工作流程和实时数据检索相结合,AI 销售助理可为销售团队提供即时的定制见解,同时显著提高工作流程效率和用户参与度。该项目为开发者在快节奏领域处理复杂的决策支持系统提供了蓝图。

未来的改进将侧重于完善实时数据更新策略、扩展与新系统和格式的集成、增强数据安全性,以及增强多媒体内容的处理能力。我们还在探索高级个性化功能,以便根据个人用户需求定制解决方案。

是否受到我们旅程的启发?NVIDIA 提供一套强大的 生成式 AI 工具和资源 ,帮助您设计和实施自己的 AI 解决方案。 加入我们的开发者社区 ,与志同道合的创新者交流、分享和学习。

 

 

标签