如何构建企业专属GPT

大语言模型(LLM)具有令人印象深刻的自然语言理解和生成能力, 2022年11月底OpenAI发布了ChatGPT,一跃成为人工智能AI领域的现象级应用。但由于LLM的训练数据集主要来源于互联网数据,企业私域信息并未被LLM所训练,当客户查询关于企业的业务信息的时候,LLM会出现幻觉,无法进行正确回应。因此,企业界(尤其是中小型企业)具有强烈的愿望能够打通企业数据和LLM的互联网数据,构建企业专属GPT,利用LLM的能力服务企业目标客户。

在企业中,GPT 构造器的角色通常面向以下几个方面职责。

数据收集与处理:负责收集和整理大量的文本数据,这些数据将用于训练 GPT 模型。本文中主要的数据来自于FAQ,文档和网页。

模型训练:使用收集到的数据对 GPT 模型进行训练,这可能涉及到选择合适的模型架构、超参数调整、训练过程的监控和优化等。在使用向量表示的时候,会对文档通过数据工程进行分块,并进行向量化。

模型评估与优化:在模型训练完成后,需要评估模型的准确定和性能,并根据评估结果对模型进行优化和调整,并进行RLHF。

应用集成:将训练好的 GPT 模型集成到企业的产品或服务中,例如用于构建聊天机器人、消息通道、文本生成工具、语言理解系统等。

模型迭代:随着技术的发展和业务需求的变化,负责对 GPT 模型进行迭代更新,以保持其在企业应用中的有效性和竞争力,同时会对其问答知识进行训练,确保业务的持续更新。

知识管理:负责管理 GPT 模型训练和使用过程中产生的知识,确保知识的合规性和安全性。

企业GPT构造器的总体架构

企业GPT构造器的具体角色和职责可能会根据企业的规模、业务需求和资源配备而有所不同。在一些企业中,这些任务可能由专门的AI团队承担,而在其他企业中,可能由数据科学家或软件工程师负责。在这当中,企业GPT构造器的IT基础形态各异。本文介绍一款基于多租户架构的企业GPT构造器,其总体设计思路如下图所示。

图片

企业租户管理员作为信息生产者,负责企业GPT的喂养工作。企业业务部门如销售部、市场部等作为信息消费者,使用企业GPT服务为客户提供服务。系统主要分为企业GPT的喂养和服务两部分,接下来以这两点结合笔者的实战进行介绍。

企业GPT构造器喂养

在企业GPT喂养工作中,租户管理员负责输入企业官网及其他相关网站,系统通过抓取技术进行文本采集;支持上传对应的文档,通过表单识别进行文本采集;并支持问题/答案的直接输入。这些喂养的网页和文档将进行分块和向量化处理,以向量的方式存储于向量数据库中。

01 企业官网抓取

官网作为租户(尤其是中小型企业)最重要的权威信息发布渠道,跟企业业务紧密结合。因此企业GPT构建器采用网站抓取技术,能够提取官网多级目录,并列出目录由租户决定喂养哪些URL的信息。

虽然企业官网网页数据结构化不强,但是对于中小型企业来说不需要进行手动处理即可作为喂养素材,整体上是一种比较经济的处理方式。

图片

02 企业文档加载

企业文档包括了行业规范、洞见及趋势,企业产品/服务功能描述、非功能描述、特性和优势、操作手册、交付方式、商业合作模式、应用范围、主要应用案例等,这些企业文档能够帮助客户了解企业相关业务。

系统支持word、pdf、ppt、markdown及txt等文件。文档相对网页更加结构化,更加能够聚合信息,对于规模稍大的企业来说文档资源也比较丰富,应该算比网页更加优质的素材。为了提升喂养文档质量,文档尽量做到主题明确、描述清晰,内聚地表达业务内容。尽量避免在一些多级标题的场景下,小标题会被切分成单独的chunk,与正文分割开。

03 问题/答复对输入

企业问题/答复(FAQ)对可以进行输入,并作为单独的向量存放在向量数据库中。

作为最优质的企业信息,问题/答复对向量将更加容易被向量检索到,能够在答复客户时作为第一优先级答案。

04 企业GPT喂养流程

基于中小型企业的特点,企业GPT构造器喂养流程分为:

// 预处理:针对企业文档,对于部分图片方式的文档,需要使用 OCR 功能进行预先识别,并对文档进行边界框中文本的位置、文本内容、表、选择标记(也称为复选框或单选按钮)和文档结构分析。

// 格式化:经过预处理的文本将进行格式化,格式化的步骤如下:

  • STEP1. 将html富文本或markdown的知识统一处理为纯文本格式

  • STEP2. 构建标题树,在富文本场景下通过构建内容标题树的方式来优化chunk,比如把chunk按照“#大标题-中标题-小标题#:内容”的方式构建。

检索时额外检索同一标题树下的chunk,随后做拼接。如果一次构建的知识块过长,则将此知识块文本按照400-500个token长度,并在其后根据标点符号和换行符等来切分段落来切分。

// 向量化:通过大数据模型(LLM)的向量化(Embedding)接口,对经过格式化的文本分块进行处理,以OpenAI的Embedding接口为例,其对格式化后的文本进行向量化,本文案例选择的是text-embedding-ada-002模型。

// 向量存储:将向量化后的企业知识存入到向量数据库中,包含了来源ID、类型、分块向量、原始文本内容等,并进行多租户数据隔离。

图片

企业GPT喂养流程

企业GPT构造器服务

企业通过使用 GPT模型来获得多种自然语言处理(NLP)服务,这些服务可以帮助企业提高效率、改善客户体验、提供7*24小时服务等。以下简要介绍企业可以通过 GPT 获得的部分服务。

01 消息公众号设计

在企业信息向量化存储之后,还需要对企业交互式消息公众号进行设计,我们可以配置chatbot的头像logo,名称,服务介绍,服务电话,主页,服务邮箱等信息。

02 Prompt设计

同时我们需要对企业GPT机器人做角色定义。设置AI创造力因子(Temperature)来确定AI答复的确定性或者创造性。并应用提示工程对其角色进行清晰明确的描述,以便AI模型理解我们的需求,提示工程通常有三个主要元素组成:任务、指令、角色,可以通过调整Temperature参数来控制生成文本的多样性,较高值会导致更加随机和多样化的文本生成,而较低值则会导致更加保守和确定性的文本生成。并通过少样本示例实现企业希望扮演的角色目标,下图是一个Prompt的设计例子。

图片

企业GPT Prompt设置

03 服务流程

通过交互式消息,企业GPT可以对外提供消息服务,其提供服务的流程如下图所示。

企业GPT通过交互式消息为客户提供服务

企业的目标客户通过交互式消息或者Web插件,访问企业GPT,步骤如下:

  • Step1:根据设定的业务场景(预配置交互流程)及企业角色(提示工程),如市场营销、客户服务、办公助手等,企业客户访问企业GPT。

  • Step2:企业GPT通过构造LLM对客户问题文本进行向量化。

  • Step3:使用向量搜索,在向量数据库中搜索离客户问题向量最相似的Top K(K可以设置)文本内容并返回,判断的标准为问题向量和喂养分块向量之间的距离(向量之间的欧氏距离或者余弦距离)。

  • Step4:企业GPT判断Top K向量同客户问题向量的相似度。

  • Step5:将匹配度得分>N分(N可以配置)的相关设置的Prompt、文本内容、当前及会话历史问答,统一送到会话LLM,会话LLM根据这些信息进行组织推理。在某些场景下需要做上下文回溯,虽然能够准确地检索内容,但是这部分内容并不全,检索时额外检索最相关chunk的相邻chunk,随后做拼接。

  • Step6:组装好的答案和参考文档信息通过交互式消息返回客户端。

04 服务展示

系统本身支持多种交互式消息,下图是多种交互式消息的展示例子。

05 训练和增强

在实际项目执行过程中,部分面向客户的答复需要严谨,因此对机器人的答复进行训练和增强。

多种交互式消息通道的企业GPT展示

用户问题与回复的答案将会自动被填入文本框内。可以进行编辑,并以“Q&A”的格式训练至知识库内。可以选择训练至一个已有的“Q&A”知识文档内,也可以创建一个新的“Q&A”知识文档来储存本次训练的知识。

企业GPT构造器应用场景

企业GPT在构造之后,可以通过交互式消息通道或者Web插件为企业的各个部门客户提供服务,且不限于下列场景例子。

Scene1. 品牌营销

配合交互式消息的主动触达功能,可以向客户发送促销信息,通过企业GPT,能够为客户解答促销信息的内容,也可以自动答复企业官网/社媒账号,引导客户直接访问购买,也可以为客户提供政策咨询服务。

品牌营销场景

Scene2. 客户服务

可以通过交互式消息发送客户物流信息,待客户接收商品之后,在喂养相关商品的产品使用手册周,客户可以通过企业GPT,客户可以咨询企业人工座席工作时间,企业GPT能够告诉客户如何使用商品,帮助客户排除商品的使用故障等。

客户服务场景

Scene3. 助手服务

在喂养了企业的财务、人事等相关政策文档后,企业员工可以不用阅读繁琐的各类文档,通过企业GPT,以对话的方式咨询财务系统发票问题,人事政策问题等内容,大大提升新员工培训效率及员工获得感。

图片

企业助手场景

助手服务还可以广泛应用于企业业务支撑,如对销售人员的专业知识支持,运维人员的设备知识支持等。

实战应用案例

浩鲸科技企业GPT构造器能够快速地帮助企业构建自己的GPT,目前已成功实战了HETU产品线hetuGPT、NuriGPT、MRGPT以及wctGPT。

其中,印尼N电商是一家通过互利联盟营销社区为品牌所有者、经销商、有影响力者和消费者提供创新和全新在线购物体验的技术公司。作为一家电商,其经营的电子产品种类繁多,客服人员无法对所有电子产品的参数、操作方式了如指掌,因而常常在答复客户询问产品的时候,需要打开大量的文档进行查询, NuriGPT有效地解决了这个痛点,N电商客服团队负责人Arnold说:

“HETU 企业GPT帮助N电商构建了企业级NuriGPT来支持电商业务,知识喂养的方式很方便,只需要上传文档,客服人员就可以快速的从各种电子产品文档中检索出产品参数、操作方式、常见故障解决方法,其ChatGPT的自然语言交互体验非常好,并自动支持多语言的转换,帮助客服人员快速解决客户的问题,大大降低客服人员的工作负载。”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/690759.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 3028.边界上的蚂蚁

边界上有一只蚂蚁&#xff0c;它有时向 左 走&#xff0c;有时向 右 走。 给你一个 非零 整数数组 nums 。蚂蚁会按顺序读取 nums 中的元素&#xff0c;从第一个元素开始直到结束。每一步&#xff0c;蚂蚁会根据当前元素的值移动&#xff1a; 如果 nums[i] < 0 &#xff0…

如何从 git 分支中合并特定文件,而不是整个分支的内容

问题 在git 中&#xff0c;我们可以使用 git merge 命令&#xff0c;合并整个分支&#xff0c;覆盖当前分支的内容&#xff0c;但是有时候我们并不想这么做&#xff0c;而是想 merge 某个文件。那么下面提供两种办法。 方法一 使用 git checkout&#xff0c;从别的分支&…

MySQL进阶 - 备份与恢复

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 知…

gowin GW1N4 OSC IP 使用

创建工程 1. File 选项下&#xff0c;选择新建工程New.. 2.Name 是指工程名&#xff1b;Creat in 指工程路径&#xff1b; 3.选择对应的 器件&#xff0c;本测试示例使用的是 GW1N4BLV_LQFP144C6I5; 4.选择好器件型号&#xff0c;单击Finish; 5.给工程增加VerilogFile 即 .v …

IDEA2023版本创建Spring项目只能勾选17和21却无法使用Java8

问题&#xff1a;新建springboot项目时&#xff0c;发现java版本只有17和21 解决办法&#xff1a;将server URL中的https://start.spring.io/更换成http://start.springboot.io/或者https://start.aliyun.com/ 截图如下&#xff1a; 原因分析 Spring官方发布Spring Boot 3.0.0…

【JVM篇】什么是运行时数据区

文章目录 &#x1f354;什么是运行时数据区⭐程序计数器⭐栈&#x1f50e;Java虚拟机栈&#x1f388;栈帧的内容 &#x1f50e;本地方法栈 ⭐堆⭐方法区 &#x1f354;什么是运行时数据区 运行时数据区指的是jvm所管理的内存区域&#xff0c;其中分为两大类 线程共享&#xf…

Nginx介绍和使用

Nginx是一个高性能的HTTP和反向代理web服务器&#xff0c;其使用方法包括安装、配置以及与其他软件的配合使用。 Nginx被广泛认为是一个轻量级、占用资源少、并发处理能力强大的web服务器软件。它不仅可以作为HTTP服务器提供静态内容服务&#xff0c;还可以作为反向代理服务器…

【小呆的力学笔记】弹塑性力学的初步认知四:简单应力状态下的应力应变关系

文章目录 2. 简单应力状态下的应力应变关系2.1 简单拉伸的应力应变关系2.2 真实应力应变关系2.3 应力-应变关系简化模型 2. 简单应力状态下的应力应变关系 我们在高中就学过&#xff0c;弹簧拉伸力和变形量成比例&#xff0c;对于一般的金属材料&#xff0c;在一定载荷以内这种…

leetcode刷题记录:二叉树02(思路篇)

参考labuladong的算法小抄&#xff1a;https://labuladong.online/algo/data-structure/binary-tree-part1/ 复习二叉树纲领篇&#xff0c;二叉树解题的思维模式分两类&#xff1a; 1、是否可以通过遍历一遍二叉树得到答案&#xff1f;如果可以&#xff0c;用一个 traverse 函…

Elasticsearch如何设置密码

目录 一、配置1.修改配置文件2.设置密码3.修改密码 二、验证 一、配置 1.修改配置文件 修改配置文件 config/elasticsearch.yml&#xff0c;写入以下配置&#xff1a; xpack.security.enabled: true discovery.type: single-node xpack.security.transport.ssl.enabled: tru…

【数据结构】二叉树根节点到特定节点路径(C语言版)

二叉树——根节点到特定节点路径查找 一、思路二、代码实现 一、思路 使用二叉链表创建的二叉树&#xff0c;这里我的思路是用链栈来存放找寻二叉树特定节点中&#xff0c;用来存放节点元素 个人思路&#xff1a;创建链栈&#xff0c;遍历二叉树并把路径中节点元素存放到栈中&…

Xilinx(AMD) 7系列FPGA配置引脚说明

xilinx 7系列FPGA配置引脚 下表详细描述了xilinx7系列FPGA所有配置引脚及其功能。 Pin NameBanktypeDirectionDescriptionCFGBVS0dedicatedIBank0电压选择&#xff0c;当Bank0电压为2.5v/3.3v时该引脚上拉到VCCO_0&#xff0c;如果Bank0工作于1.8V该引脚下拉接地。对于只能工…

【iOS】系统框架

文章目录 前言四十七、熟悉系统框架四十八、多用块枚举&#xff0c;少用for循环四十九、对自定义其内存管理语义的collection使用无缝桥接五十、构建缓存时选用NSCache而非NSDictionary五十一、精简initialize与load的实现代码五十二、别忘了NSTimer会保留其目标对象 前言 本次…

E. Final Countdown

思路&#xff1a;对于每一位统计贡献&#xff0c;不难发现&#xff0c;假设数为12345&#xff0c;个位的贡献就是12345&#xff0c; 十位的贡献是1234&#xff08;仅当个位跳转时产生贡献&#xff09;&#xff0c;百位贡献是123,后面同理。 12345 1234 123 12 1 …

Stable Diffusion 模型下载:Dark Sushi Mix 大颗寿司Mix

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 Dark Sushi Mix 大颗寿司Mix 是一个动漫大模型&#xff0c;绘制的图片色彩丰富…

网络运行安全

网络运行安全 第一节 一般规定 第二十一条 国家实行网络安全等级保护制度。网络运营者应当按照网络安全等级保护制度的要求,履行下列安全保护义务,保障网络免受干扰、破坏或者未收授权的访问,防止网络数据泄露或者被窃取、篡改: 制定内部安全管理制度和操作规程,确定网络…

【MySQL初阶】索引

1. 索引基本概念 1.1 索引介绍 索引(index)&#xff1a;是一种特殊的文件&#xff0c;包含着对数据表里所有记录的引用指针。可以对表中的一列或者多列创建索引&#xff0c;并指定索引的类型&#xff0c;各类索引有各自的数据结构实现。&#xff08;具体细节在MySQL进阶章节详…

SNAT与DNAT公私网地址转换

前言 SNAT和DNAT是两种重要的网络地址转换技术&#xff0c;它们允许内部网络中的多个主机共享单个公共IP地址&#xff0c;或者将公共IP地址映射到内部网络中的特定主机。这些技术在构建企业级网络和互联网应用程序时非常重要&#xff0c;因为它们可以帮助保护内部网络安全&…

安全名词解析-攻防演练

为方便您的阅读&#xff0c;可点击下方蓝色字体&#xff0c;进行跳转↓↓↓ 01 攻防演练 01 攻防演练 《网络安全法》中明确提出&#xff0c;“定期组织关键信息基础设施的运营者进行网络安全应急演练&#xff0c;提高应对网络安全事件的水平和协同配合能力。”攻防演练目前已经…