本文基于Github上作者jief123的方案编写。Github官方文档方案采用CDK形式部署,而本文是描述如何手工部署。
Continue reading “配置CloudFront及Lambda@Edge为Bedrock加速”Category: Generative AI and Machine Learning
Generative AI and Machine Learning
使用IAM Policy指定IP范围以限制用户对Bedrock服务的调用
一、背景
由于中美贸易战纠纷,一些高科技领域存在黑名单,禁止中国(含香港)地区的用户使用美国开发商的技术和服务。在这种政策要求下,作为业界最前沿的领先的2个大语言模型的供应商 OpenAI(ChatGPT)和 Anthropic(Claude)均宣布不向中国地区用户提供服务。同时,AWS Bedrock上的Claude模型,也需要遵循监管规则,即模型使用者必须是海外用户,包括AWS账户注册的联络地址、账单地址都必须在海外,这些地址不能是中国大陆、也不能是香港,但可以是新加坡。如果是存在Partner代付的场景,Partner也必须满足以上标准。
在以上背景下,海外应用使用Anthropic Claude模型是完全合规的,即模型使用者是在海外,应用代码部署位置也是在海外,处理的信息也是海外用户信息。虽然如此,由于大部分互联网公司的开发团队在国内,开发者经常会在本机使用国内网络直接调用Bedrock上的Claude服务进行开发测试。这种情况下,调用Bedrock Claude服务的来源IP依然是中国地区的IP,此时可能会存在不合规的情况。这种不合规场景有可能会导致账号异常。
为了避免这种不合规场景,可找到调用Bedrock服务的AKSK所对应的IAM User,在这个IAM User上增加对应的IAM Policy,以白名单方式只允许海外特定IP的请求,并拒绝来自其他地区(含中国区)的请求,避免不合规的调用。
Continue reading “使用IAM Policy指定IP范围以限制用户对Bedrock服务的调用”Bedrock上的Claude模型的Tool use
一、背景
1、什么是Tool use
Tool use也叫做Function calling,这是指模型识别访问意图并调用外部工具的能力。例如在一个对话查询中,希望检索互联网上当前最火热的歌曲,或者触发另一个系统的特定的API。这种能力往往和Agent以及知识库搭配使用。需要注意的是,Tool use场景中大语言模型不会直接运行API Call,而是将需要API Call的请求拼接好返回给调用大语言模型的代码。API call的执行过程是完全由程序调用来负责执行的。因此当代码执行API Call获得返回结果之后,还需要将返回结果再次输入到大语言模型中,并且包含上次的聊天记录一起返回。这时即可获得预期的插叙结果。
本文以一个数学计算为例,输入一个计算要求,识别是Tool场景,程序完成Tool use获取结果,再将结果代回到大模型对话,完成整个流程。
Continue reading “Bedrock上的Claude模型的Tool use”通过分析Bedrock日志来获取不同应用各自调用成本
在Athena查询语句SQL中,更新了Claude 3 Sonnect 3.5的价格(基于美西)。
本文已更新使用Athena Partition Projection功能,无须再手工管理数据分区。
一、背景
1、挑战
Amazon Bedrock提供多了多种基础模型的Model as a Service的调用能力,用户通过API调用Bedrock并指定要交互的模型,如Claude3的不同版本,即可获得模型返回结果。当属于多个团队、多个Workload的不同应用程序,分别调用Bedrock API时候,在AWS的账单中将仅包含从API传入的Token和生成的Token总数,但是没有提供按用户分账的功能。由此,需要一种方式能够帮助用户区分多个应用系统各自调用API的成本。
Continue reading “通过分析Bedrock日志来获取不同应用各自调用成本”Bedrock & Claude 汇总
Claude模型申请、Bedrock开始使用
Amazon Bedrock上的Anthropic Claude开箱及Converse API使用
Prompt调优
Amazon Bedrock与多模态大语言模型Anthropic Claude 3 开箱(下篇) – Prompt Engineering
Tool use(Function call)
OpenAI接口兼容的迁移方式 – Bedrock Access Gateway
借助Bedrock Access Gateway实现OpenAI代码兼容的Claude 3模型调用
OCR
使用Claude 3进行OCR文字识别将影印件PDF并转换为Markdown文本格式
知识库
【10分钟开箱即用】使用Amazon Bedrock知识库构建RAG检索能力
计费
借助Bedrock Access Gateway实现OpenAI代码兼容的Claude 3模型调用
本文介绍了如何使用Bedrock Access Gateway实现代码完全兼容的方式从OpenAI ChatGPT切换到Anthropic Claude3 完成模型调用。
Continue reading “借助Bedrock Access Gateway实现OpenAI代码兼容的Claude 3模型调用”使用Claude 3进行OCR文字识别将影印件PDF并转换为Markdown文本格式
一、背景
RAG+LLM Chatbot解决方案是AWS中国团队开发的大语言模型的RAG对话机器人,它是一个基于Serverless无服务器技术构建、使用LangChain框架的解决方案,用于快速搭建一套可用于生产环境的知识问答机器人。RAG+LLM Chatbot 支持向量模型 & 大语言模型的灵活配置插拔,设计上采用无服务器方式,无需EC2,前后端分离,可集成到即时通信工具(如飞书)。
在这套解决方案中,包含了一个摄取PDF进行OCR文字识别的工具,其代码可从Github上这里获取。本文介绍使用这个代码调用Claude3模型实现OCR识别。
Continue reading “使用Claude 3进行OCR文字识别将影印件PDF并转换为Markdown文本格式”Bedrock 知识库【十分钟开箱即用】视频演示
Bedrock知识库现已经支持Claude3的集成,在界面上选择模型时候可以选择Claude3,同时API请求上也支持Claude3。
Bedrock知识库是全托管的RAG体验,可实现内容摄取、向量生成、向量数据库创建和管理、向量查询和召回、大模型重写等一系列过程。关于Bedrock知识库服务配置,请参考这篇博客。本文仅为视频DEMO,不详细讲解配置。操作Bedrock创建知识库到可用的整个过程不超过10分钟,其中创建OpenSearch向量数据库部分需要大概五分钟,视频做了剪切加速。
如果您尚未使用过Bedrock服务,可参考如下:
Continue reading “Bedrock 知识库【十分钟开箱即用】视频演示”【10分钟开箱即用】使用Amazon Bedrock知识库构建RAG检索能力
Bedrock知识库现已经支持Claude3的集成,可在单一API请求上完成RAG召回和大模型重写。
本文介绍如何使用Bedrock知识库快速搭建托管的RAG体验,在申请模型权限后,整个实验仅需要在AWS控制台上数次点击,10分钟内即可体验完整的RAG能力。本文对应的演示视频跳转到这里观看。
Continue reading “【10分钟开箱即用】使用Amazon Bedrock知识库构建RAG检索能力”Amazon Bedrock与多模态大语言模型Anthropic Claude 3 开箱(下篇) – Prompt Engineering
本文针对2024年3月发布的Claude 3模型已经做了更新。
本文介绍了Claude 3 Prompt Engineering调优的最佳实践,并提供了几个场景的样例代码。关于如何配置Bedrock和Claude模型访问权限,请参考本文上篇:
- 上篇:Bedrock配置篇
- 下篇:Prompt调优篇(本篇)
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代码提示和补全提升开发效率”SageMaker新账号提升常用的Limit限制
新创建的AWS账号出于防恶意的角度,默认限制给的很低仅允许使用t3机型作为Notebook运行环境和推理节点。为进入正常业务使用,可能需要提升如下limit配额。
Continue reading “SageMaker新账号提升常用的Limit限制”使用Rekognition识别视频中的名人
一、原理和架构
Rekognition服务目前在AWS海外区域可用,在中国区暂时不可用。
1、原理
Rekognition的原理是:
- 上传视频到S3中,获得完整的S3存储地址;
- 调用Rekognition的API发起对S3中的某个视频文件的识别,不同类型的识别有不同的接口,比如识别物体、人脸、名人为不同的调用接口,此任务为异步,返回 JobId 信息。
- 视频分析完毕后,Rekognition回call SNS通知服务,并可根据 JobId 查询;
- 应用程序接收到SNS通知后,从SNS消息总线中取出ID,然后再次调用Rekognition的获取分析接口,获得JSON格式的输出结果,输出结果包含人物ID、任务信息、时间线等;
- 最后调用获取名人信息接口,输入人物ID,获得名称和公开信息(URL网址)。
在Windows下安装Tensorflow
一、背景
Tensorflow可以在Windows下安装运行,有GPU版本和CPU版本。自行安装Tensorflow的一个主要问题就是版本不匹配。CUDA和Tensorflow的搭配是有特定版本要求的,并非越高越好。因此如果完全去Nvidia官网下载公开驱动,在运行Tensorflow过程中很可能报告找不到xxx.dll等错误,就是因为版本不匹配造成的。网上可以搜索到相关文章。相对于自行安装Python、自行下载CUDA、CUDNN、Tensor等组件并匹配版本,还要配置环境变量,复杂和麻烦。因此,本文推荐使用Anaconda一步到位。
Continue reading “在Windows下安装Tensorflow”