首页 > 其他分享 >Amazon Bedrock 实践 | 动手玩转 Claude 3

Amazon Bedrock 实践 | 动手玩转 Claude 3

时间:2024-03-22 20:22:44浏览次数:27  
标签:Claude image Amazon bedrock 模型 Bedrock

生成式 AI 和大模型在 2024 年已经进入落地实践阶段。因此,围绕开发者在生成式应用程序开发中的主要痛点和需求,我们组织了这个 “Amazon Bedrock 实践” 的系列,希望可以帮助开发者高效地上手生成式 AI 和大模型的应用开发,本篇为第一篇。

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

Amazon Bedrock 是亚马逊云科技提供的一项服务,可以让开发者轻松使用称为基础模型(Foundation Model)的强大 AI 模型。以下是其关键功能概述:

  • 访问高性能基础模型: Amazon Bedrock 提供对由领先 AI 公司和亚马逊自身开发的各种基础模型的访问权限。这些基础模型在大量数据上进行训练,可以执行各种任务,包括文本生成、图像识别和代码完成等

  • 统一的 API: 开发者可以通过单个 API 与所有可用的基础模型进行交互,简化了在应用程序中使用基础模型的复杂过程,这消除了为每个基础模型学习不同 API 的必要性

  • 轻松集成: Amazon Bedrock 是一项完全托管的服务,这意味着亚马逊云科技会负责管理底层基础设施,使开发者可以专注于构建应用程序,而无需担心服务器设置和维护

  • 安全性和隐私性: Amazon Bedrock 提供了相关的功能来帮助开发者构建安全和私密的 AI 应用程序,开发者可以控制对基础模型和数据的访问,从而保护开发者的数据隐私

  • 专注于生成式 AI: 虽然基础模型可以执行各种任务,但 Amazon Bedrock 特别关注生成式 AI 应用程序,这些应用程序使用 AI 创建新内容,例如文本、图像或代码等

总体而言,Amazon Bedrock 是一个功能强大的工具,适用于希望利用尖端 AI 模型的功能的开发人员,而无需管理底层基础设施的复杂性。

本文主要以 Claude 3 模型为例,探讨如何使用 Amazon Bedrock 构建不同业务场景的生成式 AI 应用程序。本文主要包括四部分内容:

  • 在 Amazon Bedrock 中设置和获取模型访问权限

  • 在 Amazon Bedrock 控制台中使用模型

  • 调用 Amazon Bedrock API 来使用模型

  • Amazon Bedrock 参考资料

本篇探讨的 Anthropic Claude 3 模型,目前仅在亚马逊云科技的海外账户可用。

在 Amazon Bedrock 中设置和获取模型访问权限

首先我们需要在 Amazon Bedrock 中,获取特定模型的访问权限。以下将以 Claude 3 模型为例,逐步指导开发者们配置和获取模型的访问权限。

第一步:进入到 Amazon Bedrock 的 UI 控制台。 点击 Get started:

image.png

在这里我们可以看到 Amazon Bedrock 支持多个基础模型(foundation model),其中包括 Amazon Titan,Claude,Jurassic,Command,Mistral,Stable Diffusion 以及 Llama2。如下图所示:

image.png

确认右上角区域,若已是 Oregon,这一步跳过。若不是,请在右上角选择 Oregon,选择 us-west-2:

image.png

左侧的导航栏中点击 Model access,如下图所示:

image.png

若已有相应模型权限,即模型后面是 Access granted,可跳过这一步。否则,点击 Manage model access:

image.png

点击“Submit use case details” 来申请访问相关模型。如果你有详细的使用场景案例,你可以简述你的使用场景。对于一般测试,你可参考下图填写相关内容。在这个弹出的窗口里填写完成后,点击“Submit”提交:

image.png

成功提交之后,选择左上角的 CheckBox 选中所有 model,之后点击“Request model access”:

image.png

如果你已经完成提交并已经获得模型的访问权,你会看到如下图所示:

image.png

接下来,我们先探索在控制台使用 Playgrounds 的方式,测试 Claude 3 模型。

首先,在左侧的导航栏中点击 “Playgrounds – Chat” 进入聊天界面:

image.png

点击 Select model 来选择我们要使用的基础模型

image.png

我们选择 Anthropic 的 Claude 3 模型(Sonnet v1 或者 Haiku v 1)来体验其强大的推理能力和中文处理能力,点击“Apply”:

image.png

可以调整右侧的参数,然后就可以在聊天窗口中输入提示词和上传图片,回车或点击 “Run” 按钮获取模型输出。如下图所示:

image.png

至此,我们已经完全了解了如何在 Amazon Bedrock 中,获取 Claude 3 模型的访问权限。

在下一节里,我们将通过几种实际场景,详细诠释如何在控制台使用 Claude 3 模型。

在Amazon Bedrock 控制台中使用模型

本节将以 Claude 3 模型为例,阐述如何在Amazon Bedrock 控制台中使用模型。

翻译场景

首先我们测试下 Claude 3 模型的翻译场景。

测试的内容节选自了 3 月初 NVIDIA CEO (Jensen Huang) 在 Stanford University 的访谈视频。如果你是 AI 和机器学习行业的开发者、工程师、数据科学家等,该视频非常值得观看。在这个一小时左右的视频中,Jensen 在分享他眼中 AI 的未来之外,也分享了他对创业、人生选择、以及人类未来命运等经验和精彩观点,这些经验和观点建议,对从事该领域的年轻人非常有借鉴意义。

视频在 B 站上的链接如下:https://www.bilibili.com/video/BV15S421w7pd/?trk=cndc-detail (有中文字幕)

回到我们这个用 Claude 3 测试翻译场景的例子。

我们先在 Amazon Bedrock Playground 中,输入以下提示词(prompt)。其中“<org></org>”定义的英文脚本,节选自以上访谈视频的内容:

你是一个帮助翻译剧本的助理。 你的任务是将中的英文源文本翻译成中文。翻译时,请遵守以下规则:

1/ 不要改变初衷

2/ 翻译前先了解上下文,保持语义连贯,阅读流畅,但不要故意夸大

3/ 原文大多是对话式的,因此翻译仍应符合 TikTok/ 短视频/视频博客 /Youtube 视频的上下文。注意避免使用通常不用于日常聊天的词语

4/适当的时候保留一些专有名词或专业术语未翻译,注意前后一致

5/ 在<result><result>中回复翻译。不要包含任何额外的内容

<org>“Stanford Business Graduate School of Business student Jose: My name's Jose, I'm a class with the 2023 from the GSB. My question is, are you worried at all about the pace at which we're developing AI? And do you believe that any sort of regulation might be needed? Thank you.

Jensen Huang: Yeah, the answer is yes and no. The greatest breakthrough in modern AI, of course deep learning, and it enabled great progress. But another incredible breakthrough is something that humans know and we practice all the time. And we just invented it for language models called grounding, reinforcement learning human feedback. I provide reinforcement learning human feedback every day. That's my job. And for the parents in the room, you're providing reinforcement learning human feedback all the time, okay? Now, we just figured out how to do that at a systematic level for artificial intelligence.”</org>

image.png

点击“Run”,查看模型输出的翻译结果。如下图所示:

image.png

由翻译结果可见,Claude 3 还是翻译地比较自然的。

事实问答场景

接下来我们探索事实问答场景。在 Playground 中输入以下提示词(prompt)。

先用英文向 Claude 3 模型发问:

Could you please list the major events that happened in Istanbul between 1800 and 1900?

image.png

再用中文向 Claude 3 模型发问:

请罗列在 1800-1900 年伊斯坦布尔发生的大事。

image.png

可见,无论是中文还是英文发问,Claude 3 都抓住了历史上的主要事件,没有明显的事实错误和编造。

各位开发者可以自行修改提示词中的内容,进行更多事实问答的测试。

小说续写场景

然后是小说续写场景,看看如何用 Claude 3 大模型来写一篇精彩的小说。

在 Playground 中输入以下提示词(prompt):

小说续写 “剑·花·烟雨江南" 要有画面感和沧桑感,字数在 300 字以内

image.png

我们修改下 prompt,增加 story 风格的要求,修改提示词(prompt)如下:

模仿小说家古龙的风格, 小说续写 “剑·花·烟雨江南" 要有画面感和沧桑感,字数在 300 字以内

image.png

我们修改下 prompt,再修改下对故事风格的要求,修改的提示词(prompt)如下:

模仿莎士比亚的风格, 小说续写 “剑·花·烟雨江南" 要有画面感和沧桑感,字数在 300 字以内

image.png

你也可以在 Chat playground 里,比较两个不同的 Claude 3 模型(Haiku 和 Sonnet)的反应速度和输出,打开如下这个开关即可:

image.png

你会发现 Claude 3 Haiku 反应非常之快,对比于 Claude 3 Sonnet 模型,使用同样的提示词(prompt):

模仿小说家古龙的风格, 小说续写 “剑·花·烟雨江南" 要有画面感和沧桑感,字数在 300 字以内

在你点击完“Run”按钮之后,几乎 1 秒内就得到了返回结果。如下图所示:

image.png

图像理解场景

接下来是图像理解场景。

下图我在广州高铁站的星巴克里消费的一张小票,我准备发给 Claude 3 模型去理解,看看它怎么分析这张小票。

image.png

 

image.png

 

如果我们继续输入对 Claude 3 模型的要求,比如:

请用简体中文描述你理解的图片中的内容

image.png

好的, 我用简体中文描述图片中的内容:

 

这是一张星巴克咖啡店的收银小票,位于广州市南站 3F-A5 店铺。小票上显示了店铺地址、顾客姓名(张 Ashley)、订购的商品和价格、总金额以及交易时间。图片中没有出现任何人物照片,因此不需要避免识别人物身份。

小结

我们发现 Claude 3 理解基本正确,除了把这张收据上的“Ashley ZHANG”理解成了顾客(其实是星巴克当时的下单售货员)。其实这也不是 Claude 3 的错,因为在这张原始的收据上,从字面并没有说清楚“Ashley ZHANG”到底是顾客,还是星巴克的销售员呢!

还有很多有趣并实用的场景,我们将在下一集提高篇里,继续和大家分享。

调用 Amazon Bedrock API 使用模型

在前面的章节里,我们探讨了在 Amazon Bedrock 控制台访问模型。在本节中,我们将探讨如何编写一些简单代码,调用 Amazon Bedrock API 来使用模型。

运行环境配置

本例中使用了 Amazon SageMaker Notebook instances 环境,来调用 Amazon Bedrock API 访问各种大模型。如下图所示:

image.png

提醒:运行这个 notebook instance 的 role,需要具有访问 Amazon Bedrock 的权限。

本例中作者配置了 sagemaker-demo-role-haowen 这个自定义的 role 来运行 notebook instance。这个自定义的 role 中,包含了可以完全访问 Bedrock 的策略AmazonBedrockFullAcess,这个策略赋予了访问 Bedrock 服务的 full access 权限。如下图所示:

image.png

如果你想在本地电脑运行以上代码,需要在你的本地电脑先配置 Credentials,具体可参考: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html?trk=cndc-detail

代码功能分析

我们仍然以 Claude 3 模型为例,以下 Python 代码示例展示了如何使用 Amazon Bedrock,分别调用 Claude 3 的 Sonnet 模型和 Haiku 模型,描述一个输入的图像,并打印出其耗时等信息。另外,代码还比较了非流式、流式两种不同的调用方式。

代码涉及的主要功能如下:

编码图像:将给定图像转换为用于传输的 base64 编码字符串

调用大型语言模型生成文本:调用了两个模型(Sonnet 和 Haiku)来生成文本

处理模型响应:以两种模式(流式和非流式)分别来捕获模型输出

测量性能指标:记录输入和输出文本片段(token)计数、首字节延迟和整体调用延迟

完整代码如下所示:

!pip install -qU boto3 

import json
import os
import sys
import boto3
import base64
import requests
import time
import pprint
from datetime import datetime

#获得模型的modelARN
region = 'us-east-1'#'us-west-2' #
boto3_bedrock = boto3.client('bedrock',region)
boto3_bedrock.list_foundation_models()

#获得实验图像,你也可以在这里替换为任何你自己想描述的图像
!wget https://cats.com/wp-content/uploads/2020/10/tabby-maine-coon-768x384.jpg

stream = False
# Function to encode the image 编码图像的函数
def encode_image(image_path):
  with open(image_path, "rb") as image_file:
    return base64.b64encode(image_file.read()).decode('utf-8')

# non streaming mode 非流式调用方式
def anthropic_claude_3(modelId,image_path,max_tokens):
    bedrock_runtime = boto3.client('bedrock-runtime')
    base64_image = encode_image(image_path)
    payload = {
        "modelId": modelId,
        "contentType": "application/json",
        "accept": "application/json",
        "body": {
            "anthropic_version": "bedrock-2023-05-31",
            "max_tokens": max_tokens,
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "image",
                            "source": {
                                "type": "base64",
                                "media_type": "image/png",
                                "data": base64_image
                            }
                        },
                        {
                            "type": "text",
                            #"text": "Write me a detailed description of these two photos, and then a poem talking about it."
                            "text": f"What’s in this image? output {max_tokens} tokens"
                        }
                    ]
                }
            ]
        }
    }

    # Convert the payload to bytes 转换负荷到字节
    body_bytes = json.dumps(payload['body']).encode('utf-8')

    # Invoke the model 调用模型
    response = bedrock_runtime.invoke_model(
        body=body_bytes,
        contentType=payload['contentType'],
        accept=payload['accept'],
        modelId=payload['modelId']
    )

    # Process the response 处理响应
    response_body = json.loads(response['body'].read().decode('utf-8'))
    pprint.pprint(response_body)
    #return round(end-start,2),response_body["usage"]["input_tokens"],response_body["usage"]["output_tokens"]
    return round(float(response['ResponseMetadata']['HTTPHeaders']['x-amzn-bedrock-invocation-latency'])/1000,2),int(response['ResponseMetadata']['HTTPHeaders']['x-amzn-bedrock-input-token-count']),int(response['ResponseMetadata']['HTTPHeaders']['x-amzn-bedrock-output-token-count'])

# streaming mode 流式调用方式
def anthropic_claude_3_stream(modelId,image_path,max_tokens):
    bedrock_runtime = boto3.client('bedrock-runtime')
    base64_image = encode_image(image_path)
    payload = {
        "modelId": modelId,
        "contentType": "application/json",
        "accept": "application/json",
        "body": {
            "anthropic_version": "bedrock-2023-05-31",
            "max_tokens": max_tokens,
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "image",
                            "source": {
                                "type": "base64",
                                "media_type": "image/png",
                                "data": base64_image
                            }
                        },
                        {
                            "type": "text",
                            #"text": "Write me a detailed description of these two photos, and then a poem talking about it."
                            "text": f"What’s in this image? output {max_tokens} tokens"
                        }
                    ]
                }
            ]
        }
    }

    # Convert the payload to bytes
    body_bytes = json.dumps(payload['body']).encode('utf-8')

    # Invoke the model
    response = bedrock_runtime.invoke_model_with_response_stream(
        body=body_bytes, modelId=payload['modelId'], accept=payload['accept'], contentType=payload['contentType']
    )
    stream = response.get('body')
    chunk_obj = {}

    if stream:
        for event in stream:
            chunk = event.get('chunk')
            if chunk:
                chunk_obj = json.loads(chunk.get('bytes').decode())
                pprint.pprint(chunk_obj)

    # Process the response
    #response_body = json.loads(response['body'].read().decode('utf-8'))
    #pprint.pprint(response_body)
    {'type': 'message_stop', 'amazon-bedrock-invocationMetrics': {'inputTokenCount': 92, 'outputTokenCount': 277, 'invocationLatency': 3679, 'firstByteLatency': 677}}
    return round(float(chunk_obj['amazon-bedrock-invocationMetrics']['firstByteLatency'])/1000,2),round(float(chunk_obj['amazon-bedrock-invocationMetrics']['invocationLatency'])/1000,2),chunk_obj['amazon-bedrock-invocationMetrics']['inputTokenCount'],chunk_obj['amazon-bedrock-invocationMetrics']['outputTokenCount']

# 调用结果
image_path = "tabby-maine-coon-768x384.jpg"
max_tokens = 200
#haiku
print("Haiku:")
modelId = "anthropic.claude-3-haiku-20240307-v1:0"
print(anthropic_claude_3(modelId,image_path,max_tokens))
print(anthropic_claude_3_stream(modelId,image_path,max_tokens))  
#sonnet
print("Sonnet:")
modelId = "anthropic.claude-3-sonnet-20240229-v1:0"
print(anthropic_claude_3(modelId,image_path,max_tokens))
print(anthropic_claude_3_stream(modelId,image_path,max_tokens))

模型输出分析

以下摘要分析了两个不同的模型(Haiku 和Sonnet)的有趣输出结果。

对于 Haiku 模型

{'content': [{'text': 'This image depicts a beautiful Maine Coon cat sitting '
                      'on a scratching post or cat tree. The cat has a thick, '
                      'fluffy coat with a distinctive tabby pattern of stripes '
                      'and markings. Its eyes are alert and focused, adding a '
                      "regal and intelligent expression to the feline's "
                      'appearance. The background appears to be a cozy indoor '
                      'setting, with the cat perched comfortably on the '
                      'scratching post. Maine Coon cats are known for their '
                      'large size, friendly personalities, and impressive '
                      'physical features, and this image captures the essence '
                      'of this majestic breed perfectly.',
              'type': 'text'}],
……
{'amazon-bedrock-invocationMetrics': {'firstByteLatency': 291,
                                      'inputTokenCount': 489,
                                      'invocationLatency': 3431,
                                      'outputTokenCount': 128},
……

对于 Sonnet 模型

{'content': [{'text': 'This image shows a beautiful Maine Coon cat resting on '
                      'a cat tree or scratching post. The Maine Coon is a '
                      'large semi-longhaired breed known for its fluffy fur, '
                      'tufted ears, and bushy tail.\n'
                      '\n'
                      'The cat in the picture has a brown tabby coat with '
                      'distinctive striped markings. Its face has a '
                      'distinctive "M" marking above the eyes, typical of '
                      "tabby cats. The cat's large, expressive eyes are a "
                      'striking yellow-green color, giving it an intense yet '
                      'gentle gaze.\n'
                      '\n'
                      'The feline is lounging comfortably on a beige carpeted '
                      'platform, with one paw tucked under its body and the '
                      'other extending forward. The cat tree or post appears '
                      'to be made of sisal rope wrapped around a wooden frame, '
                      'providing an ideal surface for the cat to scratch and '
                      'stretch.\n'
                      '\n'
                      'The background is slightly blurred, but it seems to be '
                      'an indoor setting, perhaps a living room',
              'type': 'text'}],
……
{'amazon-bedrock-invocationMetrics': {'firstByteLatency': 1752,
                                      'inputTokenCount': 443,
                                      'invocationLatency': 9279,
                                      'outputTokenCount': 139},
 'type': 'message_stop'}

 

从 invocationLatency 指标以及firstByteLatency 指标,可以清晰的看到 Haiku 模型比 Sonnet 模型响应速度快得多,这一点和 Claude 3 模型系列的亚马逊官方网站介绍是一致的,即:

“该系列包括三种型号:Claude 3 Haiku,最快、最紧凑的型号,可实现近乎即时的响应;Claude 3 Sonnet,技能和速度的理想平衡模型;Claude 3 Opus,最智能的产品,可在高度复杂的任务上实现顶级性能。”

( 原文引用自:https://aws.amazon.com/blogs/aws/anthropics-claude-3-haiku-model-is-now-available-in-amazon-bedrock/?trk=cndc-detail

下一篇,我们将继续分析在 Amazon Bedrock 上使用 Claude 3 模型的更复杂场景和实现,敬请期待。

参考资料

文章来源:https://dev.amazoncloud.cn/column/article/65fd7279744aad37ef7e4e90?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=bokey

 

标签:Claude,image,Amazon,bedrock,模型,Bedrock
From: https://www.cnblogs.com/AmazonwebService/p/18090368

相关文章

  • GPT-4引领AI新纪元,Claude3、Gemini、Sora能否跟上步伐?
    【最新增加Claude3、Gemini、Sora、GPTs讲解及AI领域中的集中大模型的最新技术】2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认......
  • Solo 开发者周刊 (第8期):Claude公司再度上新产品,成交额将超73亿美元
    这里会整合Solo社区每周推广内容、产品模块或活动投稿,每周五发布。在这期周刊中,我们将深入探讨开源软件产品的开发旅程,分享来自一线独立开发者的经验和见解。本杂志开源,欢迎投稿。好文推荐Claude是否超过Chatgpt,成为生成式AI的一哥?Claude公司新推出的Claude3AI模型系列,以......
  • Amazon Aurora Limitless Database :数据库管理的全新境界
    在当今数亿用户、PB级数据和数百万交易的业务环境中,数据库管理面临着巨大的挑战。传统数据库扩展的繁琐性和耗时性使得许多组织需要花费数月甚至数年的时间来构建自定义软件以满足其极端的工在当今数亿用户、PB级数据和数百万交易的业务环境中,数据库管理面临着巨大的挑战。 ......
  • AWS EC2 实例和本地服务器配置 Amazon CloudWatch 代理
    为什么需要Cloudwatch代理本地服务器?统一的监控视图,高级数据分析和可视化,自动化的响应,简化日志管理,提高可靠性和可用性,符合合会性要求这样子做有什么好处?集中监控:CloudWatch代理使能够将本地服务器的监控数据,(如CPU使用率、内存消耗、网络流量和应用程序日志)发送到CloudW......
  • 高效存储方案:Amazon S3 Express One Zone 正式推出
    前言:当今社会,数据的迅猛增长使得高效且安全的存储方案变得愈发关键。对于开发者和企业而言,拥有一个能够满足业务需求的存储解决方案至关重要。然而,面对诸多选项,如何找到更加合适的存储方案成为一个值得深思的问题。亚马逊云科技开发者社区为开发者们提供全球的开发技术资源......
  • 2023 re:Invent | Amazon Q 与 Amazon CodeWhisperer 面向企业开发者提效利器
    2023年,以 GPT 为代表的生成式AI引爆了新一轮技术热潮,短短一年的时间内,生成式AI已经成为科技世界发展的核心。作为云计算的行业风向标盛会re,本届:Invent全球大会紧跟生成式AI浪潮,推出名为“AmazonQ”的生成式人工智能助手,同时AmazonCodeWhisperer这款用于IDE......
  • GPT-4与Claude3、Gemini、Sora:AI领域的技术创新与突破
    【最新增加Claude3、Gemini、Sora、GPTs讲解及AI领域中的集中大模型的最新技术】2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认......
  • 【文末送多个Claude 3成品账号】产生“自我认知”的Claude 3现已登陆Amazon Bedrock
    Claude3最近正在被网友疯狂测试。一位量子物理学博士,认为Claude3是唯一理解他博士毕业论文的人之一,没错就是“人”。还有就是在经典的“大海捞针”测试中,Claude3不仅找到了那句格格不入的话,而且它还怀疑这个披萨配料“事实”可能是作为一个笑话插入的,或者是为了测试它是......
  • GPT-4席卷全球,Claude3、Gemini、Sora如何应战?
    【最新增加Claude3、Gemini、Sora、GPTs讲解及AI领域中的集中大模型的最新技术】2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认......
  • Hero Talk|无缝扩展:Kubernetes 上的 Amazon Aurora 分片和流量管理
    亚马逊云科技DataHero潘娟正在打开开源之门。作为“2020中国开源先锋人物”以及“2021OSCAR尖峰开源人物”奖项获得者,她致力于赋能数据领域的开发者,助力他们把握先机。在亚马逊云科技re:Invent2023大会上,潘娟就Kubernetes上的 Amazon Aurora 分片和流量管理发表了精......