随着人工智能技术的飞速发展,自然语言处理和语音交互技术正在深刻改变人机交互的方式。语音交互正从简单的“机械应答”向更自然的“类人对话”演进。
传统的语音系统通常采用模块化架构,将语音处理流程割裂为ASR(自动语音识别)、NLP(自然语言处理)和TTS(文本转语音)等独立模块,这种管道式处理方法存在信息衰减、响应延迟和情感缺失等核心痛点。
因此,如何实现自然的语音交互与多工具协同成为技术突破的关键。Amazon Nova Sonic通过将语音理解和生成统一到单一模型中,提供了一种简化的解决方案,用于创建自然、类人的语音交互,与需要编排多个模型的传统方法不同。
本文将深入探讨Amazon Nova Sonic基础模型与MCP(Model Context Protocol,模型上下文协议)的结合,介绍基于Amazon Nova Sonic和MCP构建实时语音交互应用的技术实践,涵盖技术原理、实际开发部署等,为开发者提供全面的技术指南。
Amazon Nova Sonic
模型应用场景与行业价值
Amazon Nova Sonic模型凭借其低延迟、自然对话流和工具调用能力,适用于广泛的应用场景。
车载智能座舱
Amazon Nova Sonic模型凭借其在自然度、实时性、鲁棒性、上下文感知和工具调用等方面的优势,为构建新一代智能座舱提供了强大的技术支撑,使得车载语音助手不再是简单的指令执行工具,而是能够与用户进行自然、高效、个性化交互的智能伙伴,极大地提升了驾驶的安全性和乐趣。
通过与MCP等工具协议的结合,端到端语音模型可以直接解析用户的语音请求,并触发相应的车辆控制API或第三方服务调用(如调节空调、播放音乐、发送消息、查询附近餐厅等)。这使得语音成为控制整个智能座舱生态的中心枢纽。
企业客服与电销自动化
在客户服务领域,Amazon Nova Sonic可自动处理咨询、退货、订单查询等高频需求,支持与CRM系统集成实时调取用户数据。例如,电信行业AI助手能根据用户语音情绪自动升级服务优先级,并在对话中完成套餐变更操作。
教育与语言学习
作为智能语言教练,Amazon Nova Sonic模型可以提供实时发音纠正与场景化对话练习。例如,Education First(EF)利用其分析非母语学习者的口音偏差,并通过动态调整语速和重复关键短语辅助学习。
医疗与健康管理
支持医生通过语音快速录入病历,或为患者提供症状自检指导。在远程问诊中,模型可识别患者咳嗽声等生理信号,结合电子健康档案生成初步诊断建议。
关键技术概念介绍
Amazon Nova Sonic
语音交互的颠覆性模型
Amazon Nova Sonic通过单一模型架构实现语音理解与生成的端到端处理,解决了传统多模型拼接的延迟与信息丢失问题。其核心优势包括以下方面。
1.端到端一体化模型
Amazon Nova Sonic摒弃传统级联式语音系统的模块化设计,将语音输入到输出的全流程统一在单一神经网络中完成。
这种设计消除了不同模块间的信息割裂,保留对话中的声学语境(如语气、节奏、停顿),显著提升交互连贯性。例如,用户说话时的犹豫或打断会被实时解析并调整响应策略,而非机械式等待静音间隙。
2.实时双向流式交互
通过Amazon Bedrock提供的双向流式API(InvokeModelWithBidirectionalStream),模型支持用户与AI同时进行语音输入输出,平均响应时间仅1.09秒,且支持用户中途打断对话而不丢失上下文。技术实现上,采用5:15的文本——语音标记混合生成比例,确保语义连贯性与实时性平衡。
3.多语言与噪声鲁棒性
支持英语(美式、英式)多语言交互,在多语言LibriSpeech基准测试中平均词错误率(WER)低至4.2%。模型能识别主说话人并过滤背景噪声,适用于工厂、户外等复杂场景。
4.情感感知与动态调节
模型可解析用户语音中的情绪(如兴奋、愤怒、担忧),并动态调整回应风格。例如,当客服对话中用户语气转为焦虑时,Amazon Nova Sonic会降低语速、增加安抚性词汇,同时触发企业数据库查询相关解决方案。
5.上下文感知能力
32K token的滚动窗口支持长达8分钟的连续对话,可识别语气、停顿甚至背景噪音。
6.原生工具调用(Tool-Use)
直接解析语音请求并触发API调用(如航班预订、数据查询),通过工具结果反馈优化响应逻辑。
MCP:实时语音交互中的大模型
与Agent工具标准化连接
MCP作为开放协议,为端到端语音模型或者相关Agent提供了工具发现、安全调用与数据融合的标准化框架。在实时语音对话场景下,其价值更为突出:
虚拟化工具网关:通过MCP Gateway统一管理分散的API服务,解决工具碎片化问题。例如在用户询问订单状态时,可以实时调用CRM系统、物流接口,确保对话的即时性和准确性。
动态上下文注入:在语音交互中自动关联企业数据,通过RAG增强生成结果的事实准确性。这对speech-to-speech模型尤为重要,因为用户在实时对话中需要准确、及时的信息响应,而不是模型生成的模糊答复。
实时性能优化:MCP的标准化调用机制能够显著降低工具调用延迟,这在实时语音对话中至关重要,可以保持对话的自然流畅性,避免因等待外部数据而产生的停顿。
方案介绍
本节将详细介绍基于Amazon Nova Sonic和MCP的语音交互方案实现,方案实现了双向音频流、通过MCP的工具集成以及响应式Web界面。方案实时音频对话系统的总体架构分为前端和后端两大部分,采用WebSocket实现实时通信。
该方案基于以下主要技术构建:
运行环境:Node.js(v18.0.0+)with TypeScript
Web框架:Node.js用于HTTP/WebSocket服务器
实时通信:IO用于双向WebSocket连接
音频处理:用于基于浏览器的音频捕获/播放的WebAudio API
AI集成:适用于Amazon Bedrock Runtime客户端的亚马逊云科技开发工具包
工具集成:MCP SDK(@modelcontextprotocol/sdk)
具有以下关键组件:
处理WebSocket连接并与Amazon Bedrock集成的Node.js/Express服务器。
用于实时音频可视化和交互的现代Web界面。
用于自然对话流程的双向音频流。
支持中断检测和即时处理。
通过模型MCP与外部工具集成。
支持多种语音角色和多语言界面。
技术架构
本方案实现了一个基于WebSocket的双向音频流应用,与Amazon Nova Sonic模型集成,用于实时语音转语音对话。系统采用现代Web技术栈构建,支持双向实时音频流、多语言界面以及动态工具调用。
以下是基于您提供的内容生成的架构图,展示了一个使用Amazon Nova Sonic模型的语音交互系统。
上图系统架构展示了一个完整的语音交互流程:
客户端:
用户通过麦克风提供语音输入。
浏览器使用WebSocket技术处理实时通信。
系统将响应转换为音频并通过扬声器输出。
服务器:
使用Express框架构建的后端服务。
集成Socket.IO实现双向实时通信。
大模型服务:
利用Amazon Nova Sonic模型进行语音处理。
负责语音识别、理解和生成响应。
负责处理用户中断及响应。
负责对接MCP tools进行工具调用。
方案架构实现
音频处理
音频处理管道通过基于WebSocket的流式处理架构实现与AI的双向实时语音转语音对话,主要由四个主要阶段组成:
Audio Capture:客户端麦克风输入和预处理。
实时流式处理:基于WebSocket的双向音频传输
服务器处理:Amazon Nova Sonic语音转语音模型处理
Audio Playback:具有可视化功能的客户端缓冲音频输出
用户的语音输入经由浏览器WebSocket发送到服务器,服务器与Amazon Nova Sonic模型交互后,将结果返回给浏览器,最终转换为音频输出给用户。这种架构支持实时的语音对话体验。系统实现了一个完整的音频处理管道,调用序列如下图所示。
1.音频捕获:浏览器以16kHz采样率从用户麦克风捕获音频。
2.音频处理:对音频进行处理、分析和编码以便传输。
3.WebSocket传输:音频数据实时流式传输到服务器。
4.Amazon Nova Sonic处理:服务器通过Amazon Bedrock将音频转发到Amazon Nova Sonic。
5.响应生成:Amazon Nova Sonic处理输入并生成响应。
6.工具集成:如果需要,通过MCP框架调用工具。
7.音频播放:响应流回客户端并播放给用户。
接收和处理Tool事件
Amazon Nova Sonic可以支持Function Call具备调用外部工具的能力,首先定义函数描述Schema,将用户输入和函数描述一起输入调用LLM,解析LLM的输出,如果有输出函数名和参数则执行该函数,再将函数结果反馈给LLM,实现下一轮调用,直至输出最终结果。
在整个对话过程中,如果用户输入与ToolConfiguration中的工具规格之一匹配,Amazon Nova Sonic将触发ToolUse事件。
例如,如果用户问“今天天气怎么样?”,如下图所示,在收到用户ASR(脚本)事件后,Amazon Nova Sonic将发送一个ToolUse事件,其中包含配置中指定的toolName getWeatherTool。
Amazon Nova Sonic与MCP交互
Amazon Nova Sonic要实现MCP这种方式的工具调用,首先需要将函数或工具的描述信息schema输入给LLM,只不过Function Call是在本地生成函数描述的,而MCP则是远程从MCP Server中自动拉取的工具描述,远程MCP Server端有哪些工具的描述,是基于Server端工具在开发时用注解的方式描述函数名、用途和参数信息来自动生成的。
和Function Call机制一样,Sonic识别需要调用哪个MCP工具,并将要调用的工具名、参数以.json格式结构化文本输出,然后是由LLM所在的Host去调用。
与Amazon Bedrock上其他Amazon Nova以及Claude模型类似,可以在调用模型推理时,传递tools configure配置信息,从而触发模型function Calling,与第三方系统或者工具集成。
在与Amazon Nova Sonic启动新会话时,您可以在发送到Sonic PromptStart的第二个事件中提供Tool配置,该Tool配置是通过MCP Client的list Tools等SDK,从MCP Server端获取的tools工具schema,包含调用stdio endpoint command path/arguments,或者Streamable Http endpoint的base_url、headers等schema信息。
Amazon Nova Sonic模型tools参数获取该信息后,即可Amazon Bedrock上其他LLM一样进行function calling。
Amazon Nova Sonic模型:模型能够识别并发起工具调用事件。
双向流客户端:接收模型的工具调用事件,并负责与工具处理器进行通信。
工具处理器(ToolHandler):负责分发和处理工具请求,是系统的中央协调器。它可以:
调用内置工具
将请求转发给MCP服务管理器
内置工具:系统自带的基础工具,如日期查询、天气查询等,可能需要调用外部API获取数据。
MCP服务管理器:管理和协调多个MCP服务器,负责将请求路由到适当的服务器并收集结果。
MCP服务器:提供专门的功能服务,如搜索工具(服务器1)和文件处理(服务器2)等。
核心组件和调用流程
MCP集成由三个主要组件组成,它们协同工作,为AI提供工具功能:
McpManager:管理MCP服务器进程的生命周期。
ToolHandler:编排工具执行并管理已注册的工具。
McpConfigLoader:加载和验证服务器配置。
工具处理器(ToolHandler)
ToolHandler充当工具注册和执行的中央业务流程协调程序。它维护来自所有连接的MCP服务器的可用工具的注册表负责:
注册MCP工具
处理工具调用请求
执行工具逻辑
返回结果
// 工具处理流程public async processToolUse(toolName: string, toolUseContent: object): Promise<Object> { // 1. 检查是否是MCP工具 if (this.mcpTools.has(toolName)) { const toolInfo = this.mcpTools.get(toolName); // 2. 调用对应工具的处理函数 return await toolInfo.handler(toolUseContent); }
// 3. 处理内置工具 switch (tool) { case"getdateandtimetool": returnthis.getDateAndTime(); case"getweathertool": // 解析参数并调用天气API returnthis.fetchWeatherData(parsedContent.latitude, parsedContent.longitude); default: thrownew Error(`不支持的工具 ${tool}`); }}
左右滑动查看完整示意
MCP管理器(Mcp Manager)
MCP Manager处理MCP服务器从初始化到清理的整个生命周期负责:
加载MCP配置
连接MCP服务器
注册服务器提供的工具
调度工具调用
调度工具调用// 连接MCP服务器并注册工具async connectToServer(serverName: string, config: McpServerConfig): Promise<McpTool[]> { // 1. 创建客户端 const client = new Client({...});
// 2. 创建传输层 const transport = new StdioClientTransport({...});
// 3. 连接服务器 await client.connect(transport);
// 4. 获取工具列表 const toolsResult = await client.listTools();
// 5. 注册工具到ToolHandler this.registerServerTools(serverName, serverTools, config.autoApprove || []);}
左右滑动查看完整示意
MCP Tool调用流程
工具调用的完整流程如下。
配置加载:
McpConfigLoader从配置文件加载MCP服务器配置。
服务器连接:
McpManager连接到配置的MCP服务器。
获取服务器提供的工具列表。
工具注册:
将工具注册到ToolHandler。
为每个工具创建处理函数。
会话初始化:
创建一个会话并设置工具配置。
在createPromptStartEvent中包含可用工具信息。
工具调用:
AI模型发送toolUse事件。
客户端接收并分发到事件处理器。
handleToolUse记录工具调用信息。
handleToolEnd触发工具执行。
工具执行:
toolHandler.processToolUse调用对应工具。
内置工具直接执行内部逻辑。
MCP工具通过对应服务器调用。
结果返回:
获取工具执行结果。
通过createToolResultEvents创建结果事件。
将结果发送回流。
以下是本方案获取MCP Server信息及加载tools的代码示例。
/** * 初始化所有启用的 MCP 服务器 */ async initializeServers(): Promise<void> { const servers = Object.entries(this.config.mcpServers); console.log(`发现 ${servers.length} 个 MCP 服务器配置`); await Promise.all( servers.map(async ([serverName, serverConfig]) => { if (serverConfig.disabled !== true) { try { await this.connectToServer(serverName, serverConfig); } catch (error) { console.error(`连接到 MCP 服务器 ${serverName} 失败:`, error); } } else { console.log(`MCP 服务器 ${serverName} 已禁用,跳过连接`); } }) ); } /** * 连接到指定的 MCP 服务器 */ async connectToServer( serverName: string, config: McpServerConfig ): Promise<McpTool[]> { console.log(`正在连接 MCP 服务器: ${serverName}`); try { // 创建客户端 const client = new Client({ name: `nova-sonic-mcp-client-${serverName}`, version: "1.0.0", capabilities: { prompts: {}, resources: {}, tools: {}, }, }); let transport; // 根据 command 类型选择不同的 transport if (config.command === "restful") { // 使用 StreamableHTTPClientTransport if (!config.baseUrl) { thrownew Error("使用 restful 模式时必须提供 baseUrl"); } transport = new StreamableHTTPClientTransport({ baseUrl: config.baseUrl, headers: config.headers || {}, // 可选的 HTTP 头 fetch: globalThis.fetch, // 使用全局 fetch }); } else { // 使用原有的 StdioClientTransport let command = config.command; let args = [...config.args]; if (config.command === "node") { command = process.execPath; } transport = new StdioClientTransport({ command: command, args: args, env: { ...getDefaultEnvironment(), ...config.env, }, stderr: "pipe", }); transport.stderr?.on("data", (data) => console.info(`[MCP] Stdio stderrfor server: `, data.toString()) ); } // 连接到服务器 await client.connect(transport); // 保存客户端和传输 this.clients.set(serverName, client); this.transports.set(serverName, transport); // 获取工具列表 const toolsResult = await client.listTools(); const serverTools = toolsResult.tools.map((tool) => ({ name: tool.name, description: tool.description, inputSchema: tool.inputSchema, serverName: serverName, })); // 保存工具列表 this.tools.set(serverName, serverTools); // 注册工具到 ToolHandler this.registerServerTools( serverName, serverTools, config.autoApprove || [] ); console.log( `已连接到 MCP 服务器 ${serverName},可用工具:`, serverTools.map(({ name }) => name).join(", ") ); return serverTools; } catch (error) { console.error(`连接到 MCP 服务器 ${serverName} 失败:`, error); throw error; } } /** * 注册服务器工具到 ToolHandler */ privateregisterServerTools( serverName: string, tools: McpTool[], autoApproveList: string[] ): void { tools.forEach((tool) => { // 修改: 默认所有工具都是自动批准的,不再根据 autoApproveList 判断 const isAutoApproved = true; this.toolHandler.registerMcpTool( tool.name, this.callMcpTool.bind(this, serverName, tool.name), serverName, tool.description, isAutoApproved ); }); }
左右滑动查看完整示意
以下是toolConfiguration部分的示例JSON,其中包括3个MCP Server的示例配置,其中mcp-playwright和server-filesystem是stdio的MCP Server,searchWebsit_McpHttpServer是Streamable Http的MCP Server。
{ "mcpServers": { "github.com/executeautomation/mcp-playwright": { "disabled": false, "command": "npx", "args": ["-y", "@executeautomation/playwright-mcp-server"] }, "github.com/modelcontextprotocol/servers/tree/main/src/filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/tangqy/Documents/MCP/filesystem-server" ], "disabled": false, "autoApprove": [] } }, "searchWebsit_McpHttpServer":{ "transportType":"streamable_http", "command":"restful", "base_url":"http://ec2-35-93-77-218.us-west-2.compute.amazonaws.com:8080/message", "headers": { } }}
左右滑动查看完整示意
中断处理
Amazon Nova Sonic模型可以有效的处理用户中断,在全双工模式下,用户语音输入是单独的流channel,在该channel的audio chunk处理过程中,通过回调机制/输出检测(模型还在speaking输出)/间隔阀值…etc等机制,确认是否用户中断请求,从而在处理response的另一条流channel中,输出中断标识,从而方便指示客户端处理并响应中断。
其代码示例如下:
socket.on("contentEnd", (data) => { console.log("Content end received:", data);
if (data.type === "TEXT") { if (role === "USER") { // When user's text content ends, make sure assistant thinking is shown hideUserThinkingIndicator(); showAssistantThinkingIndicator(); } elseif (role === "ASSISTANT") { // When assistant's text content ends, prepare for user input in next turn hideAssistantThinkingIndicator(); }
// Handle stop reasons if (data.stopReason && data.stopReason.toUpperCase() === "END_TURN") { chatHistoryManager.endTurn(); } elseif ( data.stopReason && data.stopReason.toUpperCase() === "INTERRUPTED" ) { console.log("Interrupted by user"); audioPlayer.bargeIn(); } } elseif (data.type === "AUDIO") { // When audio content ends, we may need to show user thinking indicator if (isStreaming) { showUserThinkingIndicator(); } }});
左右滑动查看完整示意
方案部署和使用指南
方案关键技术和依赖项
方案基于以下主要技术构建:
运行时间:Node.js(v18.0.0+)with TypeScript
Web框架:Express.js用于HTTP/WebSocket服务器
实时通信:Socket.IO用于双向WebSocket连接
音频处理:用于基于浏览器的音频捕获/播放的WebAudio API
AI集成:适用于Amazon Bedrock Runtime客户端的亚马逊云科技开发工具包
工具集成:MCP SDK(@modelcontextprotocol/sdk)
主要依赖项如下表格所示。
安装步骤
部署Amazon Nova Sonic实时语音应用需要以下步骤:
先决条件:
Node.js(v18.0.0或更高版本)。
亚马逊云科技账户,并启用Amazon Bedrock访问权限。
已配置Amazon Web Services CLI和适当凭证。
麦克风和扬声器设备。
1.克隆仓库。
git clone https://github.com/aws-samples/sample-nova-sonic-mcpcd sample-nova-sonic-mcp
左右滑动查看完整示意
2.安装依赖。
npm install
3.配置亚马逊云科技凭证。
aws configure --profile default
左右滑动查看完整示意
确保配置正确的区域(如`us-east-1`)和有效的访问密钥。
4.构建TypeScript代码。
npm run build
5.配置MCP服务器(可选):
编辑`mcp_config.json`文件,配置需要的MCP服务器。
{ "mcpServers": { "github.com/tavily-ai/tavily-mcp": { "command": "npx", "args": ["-y", "tavily-mcp@0.1.4"], "env": { "TAVILY_API_KEY": "your-api-key" }, "disabled": false, "autoApprove": [] } }}
左右滑动查看完整示意
6.启动应用。
npm start
左右滑动查看完整示意
7.访问界面:在浏览器中打开`http://localhost:3000`
使用指南
主界面概览:
主界面包含以下主要元素:
连接状态指示器:左上角显示当前连接状态,如”已连接服务器”或错误信息。
语音角色选择:顶部中央的下拉菜单,可选择不同AI语音角色。
设置按钮:右上角的齿轮图标,用于打开配置面板。
音频可视化:中央的蓝色圆形区域,显示实时音频波形和语音活动。
控制按钮:
左下角麦克风按钮:控制麦克风开启/关闭。
中央通话按钮:开始/结束对话(红色表示正在对话中)。
右下角文本按钮:切换显示/隐藏文本对话内容。
基本操作
开启对话:
点击界面底部的电话按钮(绿色)开始对话。
系统将自动初始化会话并开启麦克风。
中央区域的脉动球体会根据音频活动动态变化。
语音交互:
对着麦克风说话,语音将被实时处理。
系统会显示语音转录和AI响应。
可以自然地中断AI说话(barge-in功能)。
AI响应会通过扬声器播放。
结束对话:
点击红色电话按钮结束当前对话。
系统会自动清理资源并刷新页面。
高级功能
语音角色选择
点击顶部的用户头像打开语音选择菜单。
选择不同的语音角色(如tiffany、matthew、amy)。
新的语音设置将应用于下一次对话。
配置系统
1.提示词配置
2.MCP服务器配置:
点击右上角的设置图标打开配置面板:
提示词:选择预设提示词或自定义提示词。
语言:切换界面语言(中英文)。语言配置选项卡允许用户在支持的UI语言之间切换。
MCP服务器:查看已配置的MCP服务器和工具。
MCP设置选项卡显示已配置的MCP服务器和可用工具的状态。
服务器状态显示:
每个MCP服务器的连接状态指示器。
每个服务器的可用工具列表。
服务器运行状况监控。
配置验证结果。
查看文本对话:
点击底部的文本按钮显示/隐藏对话内容。
对话历史会实时更新,包括用户输入和AI响应。
文本为红色表示聊天记录隐藏,绿色表示显示。
使用MCP工具
模型自动调用工具:
在对话中提出需要工具帮助的问题,例如“今天天气如何?
模型会调用相应工具并在响应中融合调用MCP Tool的结果。
以下是使用MCP Tool的实际场景示例:
文件处理示例(使用文件系统工具):
用户语音输入:“请帮我分析项目目录中的CSV数据文件”。
AI声音响应:“正在处理您的文件…”(同时显示工具使用指示器)。
系统在后台调用read_file工具读取文件内容
AI语音分析结果:“根据文件中的数据,我发现以下趋势…”
总结
本方案实现展示了如何使用Amazon Nova Sonic和WebSockets构建完整的语音对话系统。
通过遵循本文概述的架构和最佳实践,开发者可以创建利用Amazon Bedrock高级语音模型功能的自然、响应式语音界面。Amazon Nova Sonic的统一方法简化了开发过程,而双向流API实现了真正的交互式对话。
通过MCP添加工具集成,这些语音应用程序可以执行复杂任务并访问外部信息,使它们成为各种用例的强大助手。
随着语音界面的不断发展,诸如此类的解决方案将在创建更自然、更直观的用户与技术交互方式方面发挥越来越重要的作用。
资源链接
Amazon Bedrock文档:
https://docs.aws.amazon.com/bedrock/
Amazon Nova Sonic模型指南:
https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids-nova-sonic.html
WebAudio API文档:
https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Audio_API
IO文档:
https://socket.io/docs/v4/
MCP GitHub:
https://github.com/aws/model-context-protocol
Amazon Web Services SDK for JavaScript:
https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/
MCP官方SDK:
https://modelcontextprotocol.io/specification/2025-03-26/basic/transports
五折认证,一次不过,免费重考,并享受官方备考服务。加入AWS AI/ML认证挑战,考取AWS AI认证为您的未来提供动力!
本篇作者
贺杨
亚马逊云科技解决方案架构师,具备17年IT专业服务经验,工作中担任过研发、开发经理、解决方案架构师等多种角色。拥有多年外企研发和售前架构经验,在传统企业架构和中间件解决方案有深入的理解和丰富的实践经验。
唐清原
亚马逊云科技高级解决方案架构师,负责Data Analytic和人工智能与机器学习产品服务架构设计以及解决方案。拥有10多年数据领域研发及架构设计经验,在大数据BI、数据湖、推荐系统、MLOps等平台项目有丰富实战经验。
粟伟
亚马逊云科技资深解决方案架构师,专注游戏行业。开源项目爱好者,致力于云原生应用推广、落地。具有15年以上的信息技术行业专业经验,担任过高级软件工程师,系统架构师等职位。
星标不迷路,开发更极速!
关注后记得星标「亚马逊云开发者」
听说,点完下面4个按钮
就不会碰到bug了!
点击阅读原文查看博客!获得更详细内容!