简介:
小李哥将继续每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿AI技术解决方案,帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS AI最佳实践,并应用到自己的日常工作里。
上次我们介绍了我们利用ElasticSearch作为向量库构建RAG知识库。本次我将介绍用Amazon原生托管向量库服务Kendra,结合亚马逊云科技热门AI模型管理服务Amazon SageMaker,无代码形式手把手开发一个用户的个性化推荐系统。本文将通过利用Kendra向量化、语义搜索模型将用户数据文档生成向量并保存,最后利用RAG和Amazon Bedrock上的Llama大语言模型在Kendra中进行语义搜索结合用户输入问题生成回复。我将带领大家编写一步一步的细节代码和展示实际的生成式AI实操项目,0基础学会AI核心技能。本架构设计全部采用了云原生Serverless架构,提供可扩展和安全的AI应用解决方案。本方案架构图如下:
项目开发背景知识
Amazon SageMaker
Amazon SageMaker 是一款全面的机器学习模型托管服务,旨在帮助开发者和数据科学家快速构建、训练和部署机器学习模型。SageMaker 提供了丰富的工具和功能,如内置的 Jupyter Notebook、自动模型调优和托管训练环境,使整个机器学习工作流程更加简化和高效。
特别值得一提的是 SageMaker 的 Canvas 功能。Canvas 是一个无代码界面,允许用户通过拖放操作创建机器学习模型。即使没有编程经验,业务分析师和非技术用户也可以通过 Canvas 轻松构建、训练和部署机器学习模型,从而大大降低了机器学习的门槛。
Amazon Kendra
Amazon Kendra 是一款智能搜索服务,利用机器学习技术来改进搜索结果的准确性和相关性。Kendra 可以集成到各种应用中,为用户提供基于自然语言理解的精确搜索体验。无论是企业内部的知识库搜索,还是网站上的内容搜索,Kendra 都能显著提升搜索效率。
通过 Amazon SageMaker 和 Amazon Kendra,开发者可以利用强大的机器学习和智能搜索工具,构建高效、智能的应用程序,提升业务运营效率和用户体验。
本方案包括的内容:
部署 Amazon Kendra 作为知识库。
使用 Amazon SageMaker Canvas开发和部署AI基础模型。
将 Amazon Kendra 用作大模型的外部知识库并调用测试。
项目搭建具体步骤:
- 首先我们进入亚马逊云科技控制台,点击进入Amazon Bedrock服务
- 查看我们将使用的LLM大语言模型Titan Text G1 Premier
- 接下来我们进入Kendra服务,点击创建索引Index,索引主要的作用是提升检索的速度和准确度
- 我们为索引命名“lab-index”
5. 接下来我们为Kendra授权,用于导出日志和运行状态监控信息,再保持其他配置默认,点击创建
- 等待Kendra创建完成,我们再点击"add data source"添加数据源
- 由于我们想从S3中添加数据,我们这里选择S3 data connector
- 将数据连接命名为“s3-data”, 其他配置保持默认,语言选择英文
- 为S3连接添加必要的IAM权限,
- 添加数据源S3桶
- 配置数据同步的模式,只同步增量数据,并设置同步频率为“仅需要时同步”,保持其他配置默认,点击创建
- 创建完成后,点击“sync now”开始同步
接下里我们进入到SageMaker中,创建一个新的SageMaker Canvas无代码开发AI模型
我们打开Canvas
- 点击Canvas中的左侧边栏下的“Gen AI”功能,可以调用Kendra搜索文档向量,并Bedrock上的大语言模型生成内容。进入后点击部署模型托管服务器。我们选择实例类型“ml.g5.2xlarge”,并点击部署。
- 我们对部署的RAG知识库进行测试,输入问题“What were major Amazon investments in the year 2018?”
- 我们得到了基于向量库搜索生成的问题回答
- 同时SageMaker Canvas也支持大模型回复的参数配置,如Temperature, Top P, Top K等
以上就是在亚马逊云科技上利用Kendra和SageMaker无代码形式开发大模型AI知识库的全部步骤。欢迎大家关注小李哥,未来获取更多国际前沿的生成式AI开发方案!
版权归原作者 佛州小李哥 所有, 如有侵权,请联系我们删除。