本文详细介绍了如何使用LangStudio构建“意图识别客服”应用流。该应用流通过集成意图识别和RAG能力,为模型提供了智能识别用户意图的能力,从而在处理用户输入的问题时,能够快速分类和理解用户需求,实现更高效的客户服务。开发者可以基于该模板进行灵活扩展和二次开发,以满足特定场景的需求。
背景信息
在现代客户服务领域,"意图识别客服" 应用流通过结合先进的自然语言处理技术和深度学习模型,为用户提供更加智能和高效的客服体验。通过集成意图识别和RAG能力,该解决方案能够准确理解用户的需求和问题,从预定义的知识库中获取标准答案,并迅速提供相关的解决方案;开发者也可以使用Python进行开发,根据实际需求调整应答策略,从而提升客服的准确性和用户体验。在电商、银行、通讯等需要高效客户服务的领域中表现尤为出色。开发者可以基于该应用流的模板进行灵活的扩展和定制化开发,以更好地满足不同应用场景的需求,从而优化客户体验和提升服务质量。
前提条件
LangStudio向量数据库支持使用Faiss或Milvus向量数据库,若您希望使用Milvus数据库,您需要先完成Milvus数据库的创建,详情请参见创建Milvus实例、实例管理。
说明Faiss通常用于测试环境,无需额外创建数据库即可使用。在生产环境中,建议您使用Milvus数据库,支持处理更大规模的数据。
已将RAG知识库语料上传至OSS中。
1. (可选)部署LLM和Embedding模型
意图识别应用流需要用到LLM和Embedding模型服务,本节将详细介绍如何通过ModelGallery快速部署所需的模型服务。若您已有符合要求的模型服务,且服务支持OpenAI API,则可跳过此步骤,直接使用现有服务。
前往快速开始 > ModelGallery,分别部署以下两种场景的模型。更多部署详情,请参见模型部署及训练。
场景选择大语言模型,以DeepSeek-R1为例进行部署。更多部署详情,请参见一键部署DeepSeek-V3、DeepSeek-R1模型。
说明为了方便演示,本文创建的应用流中,意图识别、问题重写、回答用户问题这三个节点均采用同一模型连接,因此只需要部署一次DeepSeek-R1即可。在实际生产环境中,您可以根据实际需求分别部署合适的模型,并创建相应的连接,从而确保系统的准确性和高效运行。
场景选择Embedding,以bge-m3 通用向量模型为例进行部署。
2. 创建连接
2.1 创建LLM服务连接
本文创建的LLM模型服务连接基于快速开始 > Model Gallery中部署的模型服务(EAS服务)。更多其他类型的连接及详细说明,请参见服务连接配置。
进入LangStudio,选择工作空间后,在服务连接配置 > 模型服务页签下单击新建连接,创建通用LLM模型服务连接。
关键参数说明:
参数 | 说明 |
模型名称 | 当通过Model Gallery进行模型部署时,可通过模型详情页(在Model Gallery页单击模型卡片)查看模型名称的获取方法,详情请参见创建连接-模型服务。 |
服务提供方 |
|
2.2 创建Embedding模型服务连接
同2.1 创建LLM服务连接类似,创建通用Embedding模型服务连接。
3. 创建知识库索引
新建知识库索引,将语料经过解析、分块、向量化后存储到向量数据库,从而构建知识库。其中关键参数配置说明如下,其他配置详情,请参见创建知识库索引。
参数 | 描述 |
基础配置 | |
数据源OSS路径 | 配置前提条件中RAG知识库语料的OSS路径。 |
输出OSS路径 | 配置文档解析生成的中间结果和索引信息的路径。 重要 当使用FAISS作为向量数据库时,应用流会将生成的索引文件保存到OSS。若使用PAI默认角色(应用流开发-启动运行时时设置的实例RAM角色),应用流可以默认访问用户工作空间的默认存储Bucket,因此建议将此参数配置为当前工作空间默认存储路径所在的OSS Bucket下的任一目录。如果使用自定义角色,您需要为自定义角色授予OSS的访问权限(建议授予AliyunOSSFullAccess权限),详情请参见为RAM角色授权。 |
Embedding模型和数据库 | |
Embedding类型 | 选择通用Embedding模型。 |
Embedding连接 | 选择2.2 创建Embedding模型服务连接中创建的Embedding模型服务连接。 |
向量数据库类型 | 选择FAISS。本文以FAISS向量数据库举例说明。 |
4. 创建并运行应用流
进入LangStudio,选择工作空间后,在应用流页签下单击新建应用流,创建意图识别客服应用流。
启动运行时:单击右上角创建运行时并进行配置。注:在进行Python节点解析或查看更多工具时,需要保证运行时已启动。
关键参数说明:
专有网络配置:如果3. 创建知识库索引中向量数据库类型为Milvus,则需配置Milvus实例相同的专有网络,或确保已选的专有网络和Milvus实例所在的专有网络已经互通;如果向量数据库类型为Faiss,则无需配置专有网络。本文以Faiss向量数据库举例说明。
开发应用流。
应用流中的其余配置保持默认或根据实际需求进行配置,关键节点配置如下:
意图识别:通过大语言模型分析用户输入的意图,并根据识别结果执行相应的分支。
多意图配置:按需设置意图,确保每个意图的描述都清晰明确,并且不同意图之间不存在语义重叠。本文以默认意图“关于阿里云PAI产品的问题”举例说明。
模型设置:选择2.1 创建LLM服务连接中创建的连接。
对话历史:是否启用对话历史,将历史对话信息作为输入变量。
问题重写:调用大语言模型重写匹配到的意图信息。
模型设置:选择2.1 创建LLM服务连接中创建的连接。
对话历史:和意图识别节点配置一致。
知识库检索:在知识库中检索与用户问题相关的文本。 更详细的内容介绍,请参见使用知识库索引。
知识库索引名称:选择3. 创建知识库索引中创建的知识库索引。
Top K:返回Top K条匹配的数据。
回答用户问题:调用大语言模型回答用户问题。
模型设置:选择2.1 创建LLM服务连接中创建的连接。
对话历史:和意图识别节点配置一致。
其他意图:自定义Python代码,可实现更加复杂的数据处理逻辑。
变量聚合:将用户设置的意图和其他意图进行整合,确保无论哪个分支被执行,其结果都能通过一个统一的变量来引用和访问。
关于各节点组件详情,请参见应用流开发。
调试/运行:单击右上角运行,开始执行应用流。关于应用流运行时的常见问题,请参见常见问题。
查看链路:单击生成答案下的查看链路,查看Trace详情或拓扑视图。
5. 部署应用流
在应用流开发页面,单击右上角部署,将应用流部署为EAS服务。部署参数其余配置保持默认或根据实际需求进行配置,关键参数配置如下:
资源部署 > 实例数:配置服务实例数。本文部署仅供测试使用,因此实例数配置为1。在生产阶段,建议配置多个服务实例,以降低单点故障的风险。
专有网络 > VPC:如果3. 创建知识库索引中向量数据库类型为Milvus,则需配置Milvus实例相同的专有网络,或确保已选的专有网络和Milvus实例所在的专有网络已经互通;如果向量数据库类型为Faiss,则无需配置专有网络。本文以FAISS向量数据库举例说明。
更多部署详情,请参见应用流部署。
6. 调用服务
部署成功后,跳转到PAI-EAS,在在线调试页签下配置并发送请求。请求Body中的Key与应用流中“开始节点”中的参数"对话输入"字段一致,本文使用默认字段question
。
更多调用方式(如API调用)及详细说明,请参见应用流部署-调用服务。