对腾讯文档AI助手技术架构的简单分析

腾讯文档全面接入了AI,今天腾讯技术大佬tensorchen作者发表了一篇文章《腾讯文档AI助手技术实践》,

里面讲解了从技术应用架构以及AI大模型赋能角度,介绍腾讯文档AI智能助手的探索和实践之路。作为一款集多功能为一体的AI产品,腾讯文档全品类与AI进行了深度融合,全面提升用户生活和办公中的效率。

通过腾讯文档AI,你脑海中灵光一现的Idea可以快速转化为详细的内容,在各种类型的文档中同源流转。

大家一定要去体验一下AI加持的新的腾讯文档
在这里插入图片描述
我们对腾讯文档AI助手的技术进行简单的分析一下

技术架构:

  1. AICopilot:提供AI侧边栏对话入口服务,主要负责对话的意图识别工具分发,意图保持,柔性处理,缓存逻辑,会话存档等能力。

  2. AIServer:提供各品类独有浮层助手能力。

  3. AIAgent:定位于AI智能体,目前主要提供文档各品类的能力工具集合,被上层服务的意图识别后所实际的驱动的接口。

  4. AIEngine:文档的AI引擎服务,涉及对AI相关能力的抽象和封装,保持统一抽象定义(主要包含文生文,文生图,TTS,ASR,OCR,Embedding等AI能力的抽象),屏蔽不同AI能力间的差异,奠定文档可以在不同AI能力进行无缝切换的基础。

  5. AIOperation: 文档AI相关的灰度策略,隐私授权(柔性),运营操作。

  6. AIExtension:AI拓展服务,主要包含和规划为AI应用落地过程中的其他支撑能力,例如文本搜索,图片搜索,Python执行引擎。
    在这里插入图片描述

文档AI中台:

文档AI中台的概念初始于腾讯文档这款产品本身就存在10种品类,期望以中台解决方案的形式为不同品类进行赋能,同时也是这样实践和落地。此不仅仅在于腾讯文档产品本身,依据部门内整体产品矩阵,也更需要将文档xAI基础能力作为中台,交付和赋能不同的产品。

技术方案:

  1. RAG(Retrieval-Augmented Generation)搜索增强生成技术,用于处理大模型中各种复杂的知识密集型任务,如知识问答。

  2. 通过PromptID为唯一任务索引,将能力标准化工具化,通过As Code形式对任务进行编排。
    在这里插入图片描述

多意图识别:

方案一:多轮Function Call
方案二:生成代码最终选择生成代码的方案,因为多轮function call实现上无法解决任务顺序问题,而通过生成的代码是可行的。
在这里插入图片描述

数据增强方法:

  1. 收集种子指令:收集新需求,人工编写简单种子指令。

  2. 指令多样化:参考self instruct、evol instruct 宽度变换的做法,对种子指令进行多样性变换,覆盖更多的领域、主题、形式等。

  3. 指令复杂化:参考evol instruct 深度变换操作,为种子指令添加约束,让指令变得复杂,为每个指令增加3-10个约束条件。

  4. 指令泛化:对进化后的指令同意改写,进一步丰富表达方式和形式,每个指令改写3-5种形式。

对比学习方式:

针对差别较小,难以区分的任务,例如:约束漏点、否定约束、数字要求等任务,专门构造对比样本,加入sft或者进行强化学习。这类样本可以加入sft阶段学习,可以构造pair数据,加入偏好学习阶段。
在这里插入图片描述

公式生成:

使用思维链(COT)+代码生成(POT)的方式,解决公式嵌套带来的效果不稳定的问题。COT迫使模型将推理过程划分为中间步骤,类似于人类的认知过程,将复杂的挑战分解为更小、更易于管理的部分。PoT提供了一个更清晰、更具表达力和基础的答案推导模型,提高了准确性和理解力。
在这里插入图片描述

图表生成:

图表生成的核心部分包括6个模块,其中拒识、分步改写、代码生成三个模块是基于大模型的推理模块,背后模型均经过了模型精调。拒识模型能够识别用户问题和表格的相关性,对与表格无关的问题或非绘图问题进行拒绝回复。分步改写模型针对不同表格和不同问题,将绘图步骤拆解为多个可执行步骤。代码生成模型根据绘图步骤生成python表格可视化代码。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Web前端开发之HTML_3

标签之表格Form表单块元素与行内元素&#xff08;内联元素&#xff09;HTML5新增标签 1. 标签之表格 <table></table> 1.1 表格&#xff08;快速生成&#xff1a;table>tr*2>td*3{单元格}&#xff09; 表格由行、列、单元格组成。单元格有同行等高、同列等…

(八)Servlet教程——创建Web项目以及Servlet的实现

1. 打开Idea编辑器 2. 点击界面上的“新建项目”按钮 3. 设置好项目名称和位置 应用服务器选择之前设置好的Tomcat服务器 构建系统默认选择Maven 4. 点击“下一步”按钮 5. 点击“完成”按钮&#xff0c;Idea就创建好了项目&#xff0c;创建完成后的目录结构如下图所示 6. 此…

2024.4.25

#include <iostream> #include <iomanip> using namespace std; class Person{const string name;int age;char sex; public:Person(const string name):name(name){cout << "第一个Person构造函数" << endl;}Person():name("zhangsan&…

js网络请求---fetch和XMLHttpRequest的用法

fetch 语法规则 let promise fetch(url, [options]) //url —— 字符串&#xff1a;要访问的 URL。 //options —— 对象&#xff1a;可选参数&#xff1a;method&#xff0c;header 等。 fetch函数返回一个promise&#xff0c;若存在网络问题&#xff0c;或网址不存在&…

Java通过邮件发送验证码和通过手机号发送验证码

前提&#xff1a;我将验证码存入了map集合&#xff0c;进行验证。 private static HashMap<String, Integer> emailMap new HashMap<>();一、通过邮箱发送验证码&#xff1a; 1、准备条件&#xff1a;引入hutool依赖&#xff0c; <!--hutool--><depend…

【C语言】深入理解KMP算法及C语言实现

一、KMP算法简介 KMP算法&#xff08;Knuth-Morris-Pratt算法&#xff09;是一种高效的字符串匹配算法&#xff0c;由Donald Knuth、James H. Morris和 Vaughan Pratt共同发明。KMP算法的核心思想是当一次字符比较失败时&#xff0c;利用已经得到的部分匹配信息&#xff0c;将模…

Kubernetes TDengine 系列|安装 TDengine 的 Grafana 插件|Grafana监控TDengine数据

为了让Grafana 能够监控到TDengine 数据&#xff0c;快速集成搭建数据监测报警系统&#xff0c;所以直接安装TDengine 插件。 目录 一、安装 TDengine 的 Grafana 插件1、下载TDengine grafana插件2、解压到指定目录3、配置未签名插件 二、配置数据源&#xff0c;简单查询TDen…

想在游泳健身的同时畅听音乐,随时哈氪漫游这款IP68防水的骨传导耳机

平时健身的过程中&#xff0c;音乐是许多健身爱好者的忠实伴侣。无论是在室内的健身房&#xff0c;还是户外的自然风光中&#xff0c;一副优质的耳机可以极大地提升我们的锻炼体验。现在市面上专为运动设计的耳机选择非常多&#xff0c;我喜欢用骨传导耳机&#xff0c;目前在用…

Linux--忘记root密码解决办法

Linux忘记密码解决的方法有两种&#xff1a; 方法一&#xff1a; 第一步&#xff1a;打开虚拟机时&#xff0c;疯狂按方向键&#xff0c;让该虚拟机不进入系统停留在开机界面&#xff0c;按方向键使光标停留在第一行&#xff0c;按字母E编辑它&#xff0c;如 按E后&#xff0…

数据结构 - 链表详解(二)—— 带头双向循环链表

链表的介绍 链表的结构一共有八种&#xff1a;带头单向循环链表、带头单向非循环链表、带头双向循环链表、带头双向非循环链表、无头单向循环链表、无头单向非循环链表、无头双向循环链表、无头双向非循环链表。 今天我们来详解带头双向循环链表 带头双向循环链表是一种数据结…

2024深圳杯C题的8页思路分析+所有代码可执行+参考文献+持续更新参考论文(已经更新了代码与图像)

比赛题目的完整版思路可执行代码数据参考论文都会在第一时间更新上传的&#xff0c;大家可以参考我往期的资料&#xff0c;所有的资料数据以及到最后更新的参考论文都是一次付费后续免费的。注意&#xff1a;&#xff08;建议先下单占坑&#xff0c;因为随着后续我们更新资料数…

用ESP32的ADC引脚,结合分压电路测量电压

该代码基于ESP32&#xff08;Arduino库&#xff09;实现ADC&#xff08;模拟数字转换器&#xff09;数据采集。它配置ADC参数、获取校准特性&#xff0c;循环采样并计算平均值&#xff0c;将ADC读数转换为电压&#xff0c;考虑分压电阻影响&#xff0c;计算实际电压值&#xff…

【论文复现】时间协同制导算法

一、背景部分 如需了解请看李康博士关于该论文背景简介&#xff1a;基于一致性算法的分布式时间协同制导律 - 知乎 (zhihu.com) 论文链接&#xff1a;Distributed Cooperative Guidance for Multivehicle Simultaneous Arrival Without Numerical Singularities (westlake.ed…

Pandas Series显式切片和隐式切片大揭秘

Pandas Series在Python的数据处理中扮演着非常重要的角色。它是一维数组&#xff0c;可以容纳任何数据类型&#xff08;整数、字符串、浮点数、Python对象等&#xff09;&#xff0c;并且提供了大量的方法来进行数据操作和分析。Pandas Series的切片操作是其核心功能之一&#…

colab直接下载kaggle数据集

1.获取kaggle API Token account-settings-API&#xff0c;这时候会下载一个kaggle.json&#xff0c;然后将里面的内容{username:.......}复制一份 &#xff08;个人怕之后找不到另外放了一份到Google云端硬盘中&#xff09; 2.在colab中绑定kaggle !pip install -U -q kagg…

技术实践|大模型内容安全蓝军的道与术

1、引子 大语言模型&#xff08;LLM&#xff09;在2023年大放异彩&#xff0c;在许多领域展现出强大的能力&#xff0c;包括角色扮演&#xff0c;文本创作&#xff0c;逻辑推理等。然而&#xff0c;随着其应用范围的扩大&#xff0c;生成内容的安全问题也日益凸显。这包括但不…

el-upload组件如何上传blob格式的url地址视频

el-upload组件如何上传blob格式的url地址视频 一、存在问题二、直接上代码 需求&#xff1a;想把视频地址url:“blob:http://localhost:8083/65bd3c0f-52ec-4844-b85e-06fdb5095b7b”&#xff0c;通过el-upload组件上传 el-upload是Element UI中用于文件上传的组件&#xff0c;…

如何开启kali的ssh远程连接

1.打开配置文件 vim /etc/ssh/sshd_config 将第13行和32改为如下&#xff0c;保存退出 重启服务 sudo systemctl restart ssh.service 使用远程工具&#xff08;如xshell&#xff09;即可连接 如果无法连接&#xff0c;需要先生成两个密钥&#xff1a;ssh-keygen -t dsa -f…

【14-Ⅱ】Head First Java 学习笔记

HeadFirst Java 本人有C语言基础&#xff0c;通过阅读Java廖雪峰网站&#xff0c;简单速成了java&#xff0c;但对其中一些入门概念有所疏漏&#xff0c;阅读本书以弥补。 第一章 Java入门 第二章 面向对象 第三章 变量 第四章 方法操作实例变量 第五章 程序实战 第六章 Java…

每周一算法:最短路计数

题目描述 给出一个 N N N个顶点 M M M 条边的无向无权图&#xff0c;顶点编号为 1 1 1 到 N N N。 问从顶点 1 1 1 开始&#xff0c;到其他每个点的最短路有几条。 输入格式 第一行包含 2 2 2 个正整数 N , M N,M N,M&#xff0c;为图的顶点数与边数。 接下来 M M …