0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

了解亚马逊云科技搭建智能搜索大语言模型增强方案的快速部署流程

科技新思路 来源:科技新思路 作者:科技新思路 2023-11-10 11:08 次阅读

背景

知识库需求在各行各业中普遍存在,例如制造业中历史故障知识库、游戏社区平台的内容知识库、电商的商品推荐知识库和医疗健康领域的挂号推荐知识库系统等。为保证推荐系统的实效性和准确性,需要大量的数据/算法/软件工程师的人力投入和包括硬件在内的物力投入。那么在自己的环境中搭建智能搜索大语言模型增强方案是必不可少的。因此,本篇内容主要为大语言模型方案的快速部署。该方案部署流程并不复杂,只需要您对于亚马逊科技相关服务有一个基本的了解即可。

方案架构图与功能原理

wKgZomVNnqKAM6EwAAVEXBYRdQk526.png

该方案分为以下几个核心功能模块:

前端访问界面:该方案提供了基于React的前端访问界面。用户可以通过网页以REST API的形式进行智能文档搜索等功能的操作。

REST API:通过集成了相应Amazon API Gateway和Amazon Lambda函数的实现和后端搜索引擎,数据库和模型推理端点交互。

企业搜索引擎:基于Amazon OpenSearch或Amazon Kendra。可以基于双向反馈的学习机制,自动持续迭代提高输出匹配精准度。同时采用引导式搜索机制,提高搜索输入描述的精准度。

数据源存储:可选用多种存储方式如数据库,对象存储等,在这里Amazon Kendra通过连接器获取Amazon S3上的对象。

向量化数据注入:采用Amazon SageMaker的Notebook模块或者Amazon Lambda程序将原始数据向量化后的数据注入Amazon OpenSearch。

智能搜索/引导/问答等功能模块:采用Amazon Lambda函数实现和后端搜索引擎,数据库和模型推理端点交互。

记录数据库:用户反馈记录存储在数据库Amazon DynamoDB。

机器学习模型:企业可以根据自身需要构建大语言模型和词向量模型,将选取好的模型托管到Amazon SageMaker的endpoint节点。

反馈优化:用户在前端页面反馈最优搜索结果,通过手动或事件触发器Amazon EventBridge触发新的训练任务并且重新部署到搜索引擎。

插件式应用:利用该方案核心能力可以与Amazon Lex集成以实现智能会话机器人功能,也可以与Amazon Connect集成实现智能语音客服功能。

实施步骤介绍

以smart-search v1版本为例,为大家讲解方案的整个部署流程。

1、环境准备

首先您需要在您的开发环境中安装好python 3、pip以及npm等通用工具,并保证您的环境中拥有16GB以上的存储空间。根据您的使用习惯,您可以在自己的开发笔记本(Mac OS或Linux环境)上部署,也可以选择EC2或者Cloud9进行部署。

2、CDK自动部署

2.1 获取代码安装Amazon CDK包

获取代码后把代码拷贝到指定目录下。打开终端窗口,进入smart_search的软件包,并切换到名为deployment文件夹下:

wKgaomVNnqKAU_8KAAAHUCW1kug676.png

进入到deployment目录后,相应的CDK部署操作均在该目录下进行。然后安装Amazon CDK包。

2.2 安装CDK自动化部署脚本所需的所有依赖项和环境变量

在deployment目录下运行以下命令安装依赖库:

wKgZomVNnqKAR7sPAAAHNXAbATQ298.png

然后将您的12位亚马逊云科技账号信息、Acess Key ID、Secret Access Key、以及需要部署的Region ID导入到环境变量中:

wKgaomVNnqOAb3zKAAAW6lG4ANQ756.png

然后运行“cdk bootstrap”安装账户和目标区域内的CDK工具包,例如:

wKgZomVNnqOAI0ydAAALN37u1jw400.png

2.3 在cdk.json可以进行自定义配置

该方案的默认配置文件在deployment目录下的cdk.json文件中,如果想要自行配置需要部署哪些功能模块,可以根据需要修改cdk.json的“context”部分。例如,如果需要修改部署哪些功能函数,可以对“selection”值进行修改。

默认的参数如下所示:

wKgaomVNnqOAPGNLAAAMovFgrlA000.png

如果仅需要使用“支持knn的文档搜索功能”,可以仅保留“knn_doc”。除此之外,还可以选择通过修改cdk.json的其他相应参数来自定义部署方式、部署哪些插件和名称和路径等配置。

2.4 CDK命令自动化署

运行下面的命令将验证环境并生成Amaon CloudFormation的json模版:

wKgZomVNnqSAfLR2AAADyPQIbvE812.png

如果没有报错,则运行以下命令部署全部堆栈。

wKgaomVNnqSAbCyYAAAEzRBl5KY022.png

CDK部署将提供相关Amazon CloudFormation堆栈以及相关资源,例如Amazon Lambda、Amazon API Gateway、Amazon OpenSearch实例和Amazon SageMaker的notebook实例等,预计安装的部署时间大约为30分钟左右。

3、利用Amazon SageMaker的Notebook实例部署模型与数据导入

3.1 部署模型

3.1.1进入Amazon SageMaker控制台,进入NoteBook Instances,选择SmartSearchNoteBook实例,点击“Open Jupyter”,进入SmartSearch的代码主目录,点击“isearchjupyter”目录进入,能看到包括Embbeding Model、LLM_Model等目录,这两个目录包含模型部署脚本,而Script-Doc.ipynb脚本则会用于后面的文档上传,目录如下图所示:

wKgZomVNnqSANpcMAADIeUVskK0551.png

3.1.2首先安装Embbeding Model,进入“/isearchjupyter/Embbeding Model”目录,能看到对应的几个脚本。其中“EmbbedingModel_shibing624_text2vec-base-chinese.ipynb”为中文的词向量模型,其他两个为英文,打开相应脚本依次运行单元格,开始部署embbeding model。等待script部署完毕,成功部署后会在Amazon SageMaker的endpoint中看到名为“huggingface-inference-eb”的endpoint,状态为“InService”。

3.1.3然后部署大语言模型,LLM_Model目录下当前包含了中文和英文的大语言模型库。这里先为大家介绍中文的大语言模型的部署方法,找到isearchjupyter/LLM_Model/llm_chinese/code/inference.py,该文件定义了大语言模型的统一部署方法。大语言模型可以通过唯一的名称进行部署,把该唯一名称声明为“LLM_NAME”的参数值,作为参数传递给部署脚本。可以根据大语言模型的文档来确定“LLM_NAME”的值。打开网址后对照该文档找到该模型部署的唯一名称,然后粘贴到为“LLM_NAME”赋值的位置即可,可以参照该方法举一反三,指定项目中需要使用的大语言模型。修改inference.py文件后进入“isearchjupyter/LLM_Model/llm_chinese/“目录,运行该目录的script。等待script 部署完毕,成功部署后会在Amazon SageMaker的endpoint中看到名为“pytorch-inference-llm-v1”的endpoint。

如果选择部署英文大语言模型,部署方式类似,需要将英文大语言模型的参数填入LLM_Model/llm_english/code/inference.py文件的“LLM_NAME”参数中。找到该大语言模型项目名称,则然后复制该名称再粘贴到为“LLM_NAME”赋值的位置,可以用该方法进行举一反三,指定任意一个满足业务需求的大语言模型。进入“isearchjupyter/LLM_Model/llm_english/”的目录下,依次运行该目录下英文大语言模型的脚本的部署单元格。如下图所示:

wKgaomVNnqWAe0jgAAMfUcMqzx8249.png

3.1.4安装完成后,看到两个endpoint已经在”InService”状态,如下图:

wKgZomVNnqaAL9GDAAFsWk3P7BA671.png

3.2 知识库数据上传

3.2.1数据准备。进入jupyter的目录“/isearchjupyter”,在“docs”目录,将上传所需要的word、excel或pdf等格式的文档进行上传,该文件夹下已经提供了用于测试的样例文件“sample.docx”。

3.2.2 进入Script-Doc.ipynb,修改单元格“Hyperparameter”的如下参数,folder_path为指定的docs目录,index_name为Amazon OpenSearch的index名称,如下图:

wKgaomVNnqaAK04yAAJBu9Xds2o376.png

然后从头运行这个script,完成数据导入。

4、配置Web UI

4.1 进入smart_search/ search-web-knn目录,该目录包含基于React的前端界面代码。然后对/src/pages/common/constants.js文件进行编辑,如下图所示:

wKgZomVNnqiAUeY7AAGhAHeBXBA827.png

Mainapi常变量指定了前端调用的API入口。该值可以从网页端进入API Gateway中获取,进入“smartsearch-api”的Stages侧边栏,将prod stage的involke URL赋值给constants.js的mainapi常变量。

4.2 检查主页面参数配置。smart_search/search-web-knn/src/pages/MainSearchDoc.jsx为功能展示页面,在该文件的last_index参数设置了页面自动填充的默认index值,将上文Notebook实例部署的index name填入,如“docs”。

4.3 运行前端界面。进入目录 search-web-knn,执行如下两条命令:

wKgaomVNnqiAXZ4CAAAD1u0XlR8234.png

然后运行以下命令启动前端界面:

wKgZomVNnqiAL6xWAAADmwpxB6g782.png

一切顺利的话,将得到一个网页版界面。在本地开发笔记本部署的默认访问地址和端口号是localhost:3000,如果是EC2部署,需要启用对应端口访问的安全组策略,通过EC2的公网地址加端口号进行访问。该前端页面的使用方法为:将问题输入搜索栏,配置index名称和k-NN选项,点击“Search”按钮后您可以得到一个基于企业知识库的大语言模型汇总回答。如下图所示:

wKgaomVNnqmAcdgAAARyP4EmVQQ146.png

5、安装扩展插件

5.1 与Amazon Lex集成实现智能聊天机器人

本方案已经集成了Amazon Lex的会话机器人功能,Amazon Lex当前在海外区可用。在cdk.json文件中,将“bot”加入extension键值处。

cdk部署成功后进入管理界面可以看到名为“llmbot”的对话机器人,如下图:

wKgZomVNnqqABmczAAE2WV-iqK4858.png

该机器人可以方便地进行前端页面的集成。

5.2 与Amazon Connect集成实现智能语音客服

Amazon Connect为亚马逊云科技的云呼叫中心服务,该服务当前在海外区可用。该方案可以通过Amazon Lex机器人将大语言模型能力集成到Amazon Connect云呼叫中心中,通过以下几个步骤可以使您获得一个支持语音呼叫功能的智能客服机器人。

5.2.1 将上一步生成的llmbot机器人集成到现有Amazon Connect实例中。

wKgaomVNnqqAe0gnAAFH2fb4i0A454.png

5.2.2 然后进入Amazon Connect实例中,将smart-search/extension/connect里面的文件导入到Contact Flow中,并保存和发布。

5.2.3 最后在Amazon Connect中将呼入号码与上一步配置的Contact Flow进行关联。则所有呼入该号码的语音通话将会连接到智能客服的呼叫服务流程。

正常情况下,智能客服将会识别呼入人的语音输入,随后集成到Amazon Connect的智能客服机器人会基于企业知识库信息和大语言模型的能力进行以接近人类的逻辑方式进行语音回答。

6、资源清理

想要将资源进行清理时,请使用以下命令将所有堆栈进行删除:

wKgZomVNnquAdFpbAAAE_YXVcKs829.png

注意:通过Amazon SageMaker的Notebook实例创建的推理模型资源需要进行手动删除,在Amazon SageMaker的“inference”边栏进入“endpoint”,点击“delete”,将所有endpoint进行删除。

当堆栈创建的Amazon S3桶中已经有了数据或者存在其他手动创建或修改的资源时,则也需要手动删除。

总结

通过此次部署,已经成功掌握了该方案的部署方法,也对该方案有了更深的了解。亚马逊云科技将会对该方案进行持续的迭代与优化以支持更多的数据类型、模型库与扩展功能,进而将方案的能力延伸到更多的业务场景中去。该方案可以解决许多行业和领域的专业或通用场景,通过使用该方案可以使用人工智能最新进展和亚马逊云科技的产品来为行业发展注入新的活力。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 语言模型
    +关注

    关注

    0

    文章

    519

    浏览量

    10265
  • 亚马逊
    +关注

    关注

    8

    文章

    2643

    浏览量

    83296
收藏 人收藏

    评论

    相关推荐

    基于亚马逊科技的GROW with SAP解决方案 助力企业简化云端ERP部署

    GROW with SAP解决方案将上架亚马逊科技Marketplace,助力企业快速应用ERP软件,并利用前沿生成式AI解决
    的头像 发表于 12-09 15:11 146次阅读

    语言模型开发框架是什么

    语言模型开发框架是指用于训练、推理和部署大型语言模型的软件工具和库。下面,AI部落小编为您介绍大语言
    的头像 发表于 12-06 10:28 106次阅读

    飞利浦与亚马逊科技扩展战略合作,增强HealthSuite服务能力并赋能生成式AI工作流

    ,全球健康科技领导者荷兰皇家飞利浦与亚马逊科技扩展战略合作,提供基于云端的飞利浦医疗信息化解决方案,覆盖放射学、数字病理学、心脏病学1和人工智能高级可视化1等多个领域。此次合作旨在统
    发表于 12-04 15:04 99次阅读
    飞利浦与<b class='flag-5'>亚马逊</b><b class='flag-5'>云</b>科技扩展战略合作,<b class='flag-5'>增强</b>HealthSuite<b class='flag-5'>云</b>服务能力并赋能生成式AI工作流

    语言模型自动化的优点

    语言模型自动化不仅优化了信息处理流程,提高了工作效率,还促进了跨文化交流,增强了人机交互的智能化水平。以下,是对
    的头像 发表于 11-26 11:17 73次阅读

    搭建开源大语言模型服务的方法

    本文我们将总结5种搭建开源大语言模型服务的方法,每种都附带详细的操作步骤,以及各自的优缺点。
    的头像 发表于 10-29 09:17 180次阅读

    亚马逊科技上线Meta Llama 3.2模型

    亚马逊科技近日宣布,Meta公司的新一代模型Llama 3.2已在其平台上正式上线。该模型包括Meta首款多模态模型,现已在Amazon
    的头像 发表于 10-11 18:08 443次阅读

    亚马逊科技正式上线Meta Llama 3.2模型

    亚马逊科技宣布,Meta的新一代模型Llama 3.2,包括其首款多模态模型,现已在Amazon Bedrock和Amazon SageMaker中正式可用。
    的头像 发表于 10-11 09:20 496次阅读

    GE医疗与亚马逊科技达成战略合作,通过生成式AI加速医疗健康领域转型

    GE医疗已选择亚马逊科技作为其战略服务合作伙伴,致力于推出全新的定制化基础模型,加速创新医疗应用快速开发。   GE医疗将利用
    发表于 08-29 16:38 269次阅读

    亚马逊科技接入百川智能和零一万物基础模型

    近日,亚马逊科技在中国峰会上宣布,两大中文基础模型——百川智能的Baichuan2-7B和零一万物的Yi-1.5 6B/9B/34B,即将或已正式登陆中国区域的SageMaker J
    的头像 发表于 06-04 11:53 576次阅读

    【大语言模型:原理与工程实践】大语言模型的应用

    实际应用前需解决的挑战。为提升大语言模型的性能,高级的提示词技术可以促进大语言模型与环境进行动态交互,引导其生成和推理规划。 检索增强生成
    发表于 05-07 17:21

    【大语言模型:原理与工程实践】探索《大语言模型原理与工程实践》2.0

    读者更好地把握大语言模型的应用场景和潜在价值。尽管涉及复杂的技术内容,作者尽力以通俗易懂的语言解释概念,使得非专业背景的读者也能够跟上节奏。图表和示例的运用进一步增强了书籍的可读性。本
    发表于 05-07 10:30

    【大语言模型:原理与工程实践】核心技术综述

    中应用,需要考虑到性能、可扩展性和安全性等因素。 大语言模型正在快速发展,新技术不断涌现。未来的研究可能集中在提高模型效率、理解和可解释性以及确保
    发表于 05-05 10:56

    【大语言模型:原理与工程实践】揭开大语言模型的面纱

    语言模型(LLM)是人工智能领域的尖端技术,凭借庞大的参数量和卓越的语言理解能力赢得了广泛关注。它基于深度学习,利用神经网络框架来理解和生成自然
    发表于 05-04 23:55

    亚马逊科技与Anthropic加深合作 Amazon Bedrock再添Claude 3模型

    模型具备行业领先的准确性、性能、速度和成本优势。这一进展将增强各种规模的企业在其组织中快速测试、构建和部署生成式AI应用的能力。 "我们与Anthropic展开合作,旨在将领先的生成式
    的头像 发表于 03-06 15:45 377次阅读

    源2.0适配FastChat框架,企业快速本地化部署模型对话平台

    北京2024年2月28日 /美通社/ -- 近日,浪潮信息Yuan2.0大模型与FastChat框架完成全面适配,推出"企业快速本地化部署模型对话平台"
    的头像 发表于 02-29 09:57 801次阅读
    源2.0适配FastChat框架,企业<b class='flag-5'>快速</b>本地化<b class='flag-5'>部署</b>大<b class='flag-5'>模型</b>对话平台