【10分钟开箱即用】使用Amazon Bedrock知识库构建RAG检索能力

Bedrock知识库现已经支持Claude3的集成,可在单一API请求上完成RAG召回和大模型重写。

本文介绍如何使用Bedrock知识库快速搭建托管的RAG体验,在申请模型权限后,整个实验仅需要在AWS控制台上数次点击,10分钟内即可体验完整的RAG能力。本文对应的演示视频跳转到这里观看。

Continue reading “【10分钟开箱即用】使用Amazon Bedrock知识库构建RAG检索能力”

CloudFront/CDN服务相关汇总

为方便查找,CloudFront相关常用内容汇总如下。

Level 100

从CloudFront获取客户端真实IP地址、并使用CloudFront内置的IP地址库获取访问者所在国家

将CloudFront对S3源站的访问授权从原有的OAI切换为最新的OAC

使用CloudFront发布EC2上的应用并使用Managed prefix功能限制EC2只接受CloudFront回源流量

使用WAF检查Referer Header对外部引用进行干预

看懂一份AWS CloudFront(含Origin Shield)的CDN服务账单

为CloudFront开启HTTP3/QUIC支持

Level 200

部署你的第一个边缘函数 Lambda@Edge并查看运行日志

通过CloudFront Functions边缘函数实现访问跳转

CloudFront Extensions官方使用指南的使用指南

使用Athena分析Cloudfront Standard Log查询CNAME流量和5xx错误

Level 300

CloudFront签名上手:使用CloudFront做S3存储桶的私有内容分发

CloudFront Extensions官方使用指南的使用指南

一、背景

Amazon CloudFront Extensions是亚马逊云科技开发的基于CloudFront的扩展方案,提供监控、版本控制、一键部署的Lambda@Edge函数等功能。目前CloudFront Extensions仅支持部署到AWS全球区域,不支持中国区域。

CloudFront Extensions作为AWS中国团队自开发的解决方案,通过CloudFormation堆栈进行部署,它包含了基于图形界面的WEB UI进行交互。However,官方文档编写不足,没有AWS基础的新用户上手困难。

本文针对以上痛点编写。

Continue reading “CloudFront Extensions官方使用指南的使用指南”

Amazon Bedrock与多模态大语言模型Anthropic Claude 3 开箱(下篇) – Prompt Engineering

本文针对2024年3月发布的Claude 3模型已经做了更新。

本文介绍了Claude 3 Prompt Engineering调优的最佳实践,并提供了几个场景的样例代码。关于如何配置Bedrock和Claude模型访问权限,请参考本文上篇:

Continue reading “Amazon Bedrock与多模态大语言模型Anthropic Claude 3 开箱(下篇) – Prompt Engineering”

Amazon Bedrock上的Anthropic Claude开箱及Converse API使用

本文更新了Converse API的使用,从原来的invoke_model的API更换为Converse API。

本文介绍了Amazon Bedrock服务的初始化,如何开始使用Claude模型,并讲解了最新的Converse API的使用,实现文本生成、图像理解、文档理解、流式输出等场景。

Continue reading “Amazon Bedrock上的Anthropic Claude开箱及Converse API使用”

使用CodeWhisperer代码提示和补全提升开发效率

一、CodeWhisperer简介

Amazon CodeWhisperer是一款辅助开发的代码生成服务,可根据进行代码生成、代码补全、代码审查等。Amazon CodeWhisperer支持多种编程语言,包括Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell 脚本、SQL、Scala、JSON、YAML和HCL等。

目前,CodeWhisperer支持的IDE包括VS Code、IntelliJ IDEA、Visual Studio、PyCharm、WebStorm和Rider等。此外,CodeWhisperer还支持MacOS下的终端/Iterm2用于CLI交互。您可以使用这些IDE的插件/扩展连接到CodeWhisperer,并享受便捷的开发效率。

Continue reading “使用CodeWhisperer代码提示和补全提升开发效率”

EKS使用预加载机制加速EC2 Nodegroup上大镜像的启动速度

EKS动手实验合集请参考这里

目录

  • 一、背景
  • 二、测试环境准备
  • 三、应用Yaml是否打开缓存开关的对比
  • 四、使用EventBridge构建预加载
  • 五、验证预缓存机制生效
  • 六、参考文档

一、背景

在机器学习等场景下,需要在EKS上运行较大体积的Pod,其Image体积可能达到数个GB。此时在第一次启动Pod时候,会遇到所谓的冷启动问题,也就是EC2 Nodegroup需要从ECR容器镜像仓库去拉取较大尺寸的镜像,然后才能启动Pod。后续启动相同镜像即可利用缓存无须重复下载。此时,可以使用本文介绍的方法优化冷启动时间长。

Continue reading “EKS使用预加载机制加速EC2 Nodegroup上大镜像的启动速度”

使用Kubecost管理EKS成本

EKS动手实验合集请参考这里

一、简介

Kubecost是基于OpenCost的云原生的成本管理工具。在不使用Kubecost情况下,管理EKS的cost一般是基于预留实例的EC2 Node,并人为划分服务资源进行分割,某些情况下还需要搭配Cost and Usage Reports(CUR)详单。

使用Kubecost,可以在相对直观的看到各Deployment/Service对应的相应费用,并根据服务的运行时长显示对应成本。Kubecost免费版可通过Helm在EKS上快速部署。如果需要更多功能,还需要使用商业版的Kubecost。本文介绍如何部署免费版的Kubecost。

Continue reading “使用Kubecost管理EKS成本”

测试EKS服务上Pod使用VPC CNI对网络吞吐性能的影响

EKS动手实验合集请参考这里

一、背景

在EC2的网络优化机型上,例如c6in.8xlarge(32vCPU/64GB),其网络带宽达到50Gbps。在没有容器环境下,使用iperf2测试,其带宽可以49.7Gbps的吞吐,相当于标称值的99.4%,考虑统计差异,这个速度可认为几乎没有损耗。测试过程和方法参考这篇博客。

那么当场景来到EKS上,Pod的所有流量都是通过Node节点上的VPC CNI进行转发,此时压力测试的其中一端是非容器化的EC2,另一端是Pod容器,会发生什么情况?

Continue reading “测试EKS服务上Pod使用VPC CNI对网络吞吐性能的影响”