Qwen3 惊喜上线阿里云百炼,8款模型全开源!点击免费领取 800万 tokens! 了解详情
写点什么

飞书多维表格利用 Amazon Bedrock AI 能力赋能业务

刘欣然、李响、杜宁、于轶洋

  • 2025-05-14
    北京
  • 本文字数:3632 字

    阅读完需:约 12 分钟

飞书多维表格利用 Amazon Bedrock AI 能力赋能业务

背景


飞书多维表格是一款功能强大的在线数据管理与协作工具。它打破传统表格局限,将电子表格与数据库特性融合,支持看板、甘特图、表单等多种视图自由切换,可根据项目进度、任务管理等不同场景灵活展示数据。其丰富的字段类型能精准适配各类数据录入需求,且支持多人实时在线协作,团队成员可同步编辑、快速沟通。通过自动化流程与 “AI 捷径字段” 等功能,可轻松实现数据的自动计算、任务提醒、智能分析等操作,无论是项目管理、客户关系维护,还是日常工作流程优化,都能高效满足个性化业务需求。


AI 捷径字段是一个飞书的开放平台,使用者可以根据自身业务需求开发自定义插件,也可以将插件推送到 “捷径字段中心” 对外提供服务。目前,在 “捷径字段中心” 里已经有丰富的第三方应用插件,可以满足许多通用业务场景。“AI 捷径字段” 提供了详细的开发文档,让企业可以开发有定制化逻辑的内部插件,例如:在插件的实现逻辑中调用企业内部服务 API、与企业的 AI 能力进行集成。


本文将利用 AI 捷径字段的开放能力,实现飞书多维表格与 Amazon Bedrock 的集成,并演示 AI 赋能业务的典型场景。

方案

方案介绍

基本概念


飞书 AI 捷径字段:是飞书多维表格中的一项功能,它允许用户通过简单的配置,借助 AI 自动生成所需的字段,从而大大提高工作效率,用户无需了解复杂的底层逻辑和细节,只需新增一列,进行简单配置,就能借助 AI 完成高阶工作。


飞书低代码平台 FaaS(Function as a Service,函数即服务):开发者能使用编程语言编写函数代码,专注于实现特定业务逻辑。完成编写后,可便捷地将函数部署到飞书低代码平台环境中,无需操心服务器配置、安装和维护等底层工作。


Amazon Bedrock:是一项完全托管的服务,通过单个 API 提供来自领先人工智能公司的高性能基础模型,并提供通过安全性、隐私性和负责任的人工智能构建生成式人工智能应用程序所需的一系列广泛功能。使用 Amazon Bedrock,您可以轻松试验和评估适合您的使用案例的热门基础模型,通过微调和检索增强生成(RAG)等技术利用您的数据对其进行私人定制,并构建使用您的企业系统和数据来源执行任务的代理。

数据交互流程


数据流程分为三个阶段:1)多维表格前端,2)捷径服务端,3)Amazon Bedrock 服务器。业务逻辑和与 Amazon Bedrock 交互的代码封装在 FaaS 中,部署在捷径服务端。前端交互是多维表格文档,要处理的数据通过固定格式的表单与捷径服务端进行交互,然后再将接收到的用户数据和参数通过 Bedrock API 进行处理。需要注意的是在插件中访问的互联网资源需要申请域名白名单,向不在白名单内的域名发送的请求会被拒绝。


开发流程


运行环境:Nodejs 版本:14.16.0


克隆项目:


git clone https://github.com/Lark-Base-Team/field-demo.git
复制代码


项目目录结构:


├── config.json // 本地调试授权的配置文件├── package-lock.json├── package.json├── src│   └── index.ts // 项目入口文件└── tsconfig.json
复制代码


启动本地服务,可以在模拟环境中进行调试:


# 安装依赖npm install# 启动本地服务npm run start
复制代码


集成 Bedrock 代码示例 index.ts:


// 定义捷径的入参  formItems: [    {        key: 'prompt',        label: t('prompt'),        component: FieldComponent.Input,        props: {            placeholder: t('prompt_placeholder')        },        validator: {            required: true,        }    },    {        key: 'bedrockEndpoint',        label: t('endpoint'),        component: FieldComponent.Input,        props: {            placeholder: t('endpoint_placeholder')        },        validator: {            required: true,        }    },    {        key: 'accessKey',        label: t('accessKey'),        component: FieldComponent.Input,        props: {            placeholder: t('accessKey_placeholder'),        },        validator: {            required: true,        }    },    {        key: 'secretKey',        label: t('secretKey'),        component: FieldComponent.Input,        props: {            placeholder: t('secretKey_placeholder'),        },        validator: {            required: true,        }    },    {        key: 'modelType',        label: t('modelType'),        component: FieldComponent.SingleSelect,        props: {            placeholder: t('modelType_placeholder'),            options: [                { label: 'Amazon Nova Pro', value: 'amazon.nova-pro-v1:0' },                { label: 'Amazon Nova Lite', value: 'amazon.nova-lite-v1:0' },                { label: 'Amazon Nova Micro', value: 'amazon.nova-micro-v1:0' },                { label: 'DeepSeek R1', value: 'deepseek.r1-v1:0' }            ]        },        validator: {            required: true,        }    }  ],  // 定义捷径的返回结果类型  resultType: {    type: FieldType.Text,  },  // formItemParams 为运行时传入的字段参数,对应字段配置里的 formItems (如引用的依赖字段)  execute: async (formItemParams , context) => {    const { prompt, modelType, bedrockEndpoint, accessKey, secretKey } = formItemParams;    /** 为方便查看日志,使用此方法替代console.log */    function debugLog(arg: any) {      console.log(JSON.stringify({        formItemParams,        context,        arg      }))    }
// 创建 Bedrock Runtime 客户端 const client = new BedrockRuntimeClient({ endpoint: bedrockEndpoint, // 设置你的 Amazon Bedrock endpoint credentials: { accessKeyId: accessKey, secretAccessKey: secretKey, } });
const message = { content: [{ text: prompt }], role: ConversationRole.USER, };
const request = { modelId: modelType.value, messages: [message], inferenceConfig: { maxTokens: 1000, // The maximum response length temperature: 0.7, // Using temperature for randomness control }, };
try { const response = await client.send(new ConverseCommand(request)); console.log(response.output.message.content[0].text); const generatedText = response.output.message.content[0].text;
return { code: FieldCode.Success, data: generatedText }; } catch (error) { console.error('调用 Amazon Bedrock API 时出错:', error); return { code: FieldCode.Error, errorMessage: '调用 Amazon Bedrock API 时出错' }; } },
复制代码


发布流程


在项目目录下执行 npm run pack,然后将 output/output.zip 文件上传即可。然后提交多维表格捷径插件表单,可发布给所有用户,或公司内使用。具体开发和发布流程可以参考“字段捷径插件开发指南”。

典型场景


使用 Amazon Nova Pro 识别多维表格中的图片,帮助业务人员快速完成业务分析,加速决策流程


本案例展示多维表格与自定义字段捷径的交互方式,利用 Amazon Nova Pro 在图像内容识别场景中的优势,帮助业务人员无门槛使用 AI 应用工具并提高工作效率。


创建一个全新的飞书多维表格文档,将我们之前准备好的原始图片以附件的形式上传到多维表格内指定列(原始图片列)中。再新增一列,字段类型选择 “字段捷径中心”,然后在 “字段捷径中心” 搜索并使用我们自己之前发布的插件,‘待处理字段’使用我们放置图片的列,‘处理命令’就是大模型 Prompt。




配置完成后,多维表格自动调用指定的字段捷径,并将 “原始图片” 列的数据作为参数传递给插件。我们使用的是异步调用,插件会将图片发送到后端的 Amazon Bedrock 服务中,调用 Amazon Nova Pro,根据 Prompt 进行图片分析,并将结果输出到 “图像识别” 列中。多维表格可以支持自动更新,不论你新增图片,还是在原有行中更新图片,多维表格都会调用插件更新输出内容。


结论


飞书多维表格已经内置了很多基础工具,可以满足用户常见的业务需求。但面对用户的个性化场景,就需要利用 “捷径字段” 这个开放平台,开发符合自己业务需求的工具。随着 AI 能力的越来越成熟,很多业务场景都可以借助 AI 提高工作效率。本案例就是将飞书多维表格与 Amazon Bedrock 进行集成,让 AI 赋能业务。用户不仅可以开发企业内部自己使用的工具,也可以将工具发布到 “字段捷径中心” 对外提供服务,拓展企业的 ToB 业务渠道。

2025-05-14 20:0422

评论

发布
暂无评论
发现更多内容

DataKit——真正的统一可观测性 Agent

观测云

同事悄悄告诉我,飞书通知还能这样玩

Jianmu

自动化 建木CI 飞书通知 定时

字节跳动Dev Better技术沙龙成功举办,携手华泰分享Web研发效能提升经验

字节跳动终端技术

字节跳动 前端

整理混乱的头文件,我用include what you use

华为云开发者联盟

c++ 开发 C语言 技能

linux实战清理挖矿病毒kthreaddi

入门小站

Linux

什么是低代码开发?

AIRIOT

低代码 物联网 低代码,项目开发

被忽视的问题:测试环境配置管理

老张

软件测试 测试环境治理

PingCode 性能测试之负载测试实践

PingCode研发中心

软件测试 PingCode

Python 入门指南之使用 Python 解释器

海拥(haiyong.site)

7月月更

uni-app与uviewUI实现仿小米商城app(附源码)

优秀的李

小程序 uniapp 7月月更 uviewui

Nebula Importer 数据导入实践

NebulaGraph

图数据库 数据导入 Nebula Graph

第十八届IET交直流输电国际会议(ACDC2022)于线上成功举办

E科讯

OPPO 小布预训练大模型揭秘:可大规模工业化应用的十亿级模型

OPPO小布助手

AI 智能助手 预训练模型 预训练

【Unity UGUI】ScrollRect 动态缩放格子大小,自动定位到中间的格子

萧然🐳

游戏开发 Unity ScrollView 7月月更 UGUI

智捷云——元宇宙综合解决方案服务商

智捷云

区块链 元宇宙 智捷云 区块链技术开发

激进技术派 vs 项目保守派的微服务架构之争

BoCloud博云

微服务 微服务架构 云原生 istio 服务网格

你可能不知道,我是如何将一个老系统的kafka消费者服务的性能提升近百倍的

Java全栈架构师

Java kafka 程序员 面试 架构设计

图像检索(image retrieval)

Geek_e369a5

图像搜索 图像检索

五千字讲清楚团队自组织建设 | Liga 妙谈

LigaAI

团队管理 个人提升 敏捷开发管理 LigaAI 自组织协作

LeaRun.Java快速开发平台 高效代码自动化生成

力软低代码开发平台

能源行业的数字化“新”运维

博睿数据

AIOPS 智能运维 博睿数据 能源行业

DeFi生态NFT流动性挖矿系统开发搭建

薇電13242772558

NFT DeFi流动性挖矿

python小知识-python泛函数

AIWeker

Python python小知识 7月月更

一加10 Pro和iPhone 13怎么选?

Geek_8a195c

LeetCode-168. Excel表列名称(java)

bug菌

LeetCode 7月月更

华为云ModelArts的使用教程(附详细图解)

逝缘~

华为 华为云 7月月更

TCP两次挥手,你见过吗?那四次握手呢?

C++后台开发

网络编程 网络协议 TCP/IP 后端开发 C++开发

输入的查询SQL语句,是如何执行的?

华为云开发者联盟

MySQL sql 开发 语句

NBA赛事直播超清画质背后:阿里云视频云「窄带高清2.0」技术深度解读

阿里云CloudImagine

音视频 直播 视频编码

Numpy 的仿制 2

祖维

c slice Numpy

英特尔集成光电研究最新进展推动共封装光学和光互连技术进步

科技之家

飞书多维表格利用 Amazon Bedrock AI 能力赋能业务_亚马逊云科技_InfoQ精选文章