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

    文章

    570

    浏览量

    11255
  • 亚马逊
    +关注

    关注

    8

    文章

    2720

    浏览量

    85437
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    亚马逊科技上线Amazon Nova多模态嵌入模型

    专为Agentic RAG与语义搜索量身打造,以行业顶尖的准确率实现跨模态检索 北京2025年10月29日 /美通社/ -- 亚马逊科技宣布,Amazon Nova Multimodal
    的头像 发表于 10-29 17:15 115次阅读
    <b class='flag-5'>亚马逊</b><b class='flag-5'>云</b>科技上线Amazon Nova多模态嵌入<b class='flag-5'>模型</b>

    DeepSeek模型如何在服务器上部署

    随着大型语言模型(LLM)的应用日益普及,许多开发者和企业希望将像DeepSeek这样的优秀模型部署到自己的服务器上,以实现私有化、定制化
    的头像 发表于 10-13 16:52 567次阅读

    MiniVC6(C语言快速部署)资料

    MiniVC6(C语言快速部署)软件,无需安装。
    发表于 09-04 16:59 0次下载

    亚马逊科技现已上线OpenAI开放权重模型

    客户现可通过Amazon Bedrock和Amazon SageMaker AI使用OpenAI开放权重模型,实现将先进的开放权重模型与全球最广泛服务的深度集成。 亚马逊
    的头像 发表于 08-06 19:29 673次阅读

    NVIDIA Dynamo新增对亚马逊科技服务的支持

    亚马逊科技 (AWS) 开发者和解决方案架构师现在可以在基于 NVIDIA GPU 的 Amazon EC2 上使用 NVIDIA Dynamo,包括由 NVIDIA Blackwell 加速
    的头像 发表于 07-28 14:31 775次阅读
    NVIDIA Dynamo新增对<b class='flag-5'>亚马逊</b><b class='flag-5'>云</b>科技服务的支持

    如何使用Docker部署模型

    随着深度学习和大模型快速发展,如何高效地部署这些模型成为了一个重要的挑战。Docker 作为一种轻量级的容器化技术,能够将模型及其依赖环境
    的头像 发表于 05-24 16:39 796次阅读

    HarmonyOS5服务技术分享--Serverless抽奖模板部署

    手把手教你部署HarmonyOS Serverless抽奖活动模板(附贴心提醒) 嘿,小伙伴们!今天给大家分享一个超实用的教程——如何用华为HarmonyOS的Serverless模板快速搭建抽奖
    发表于 05-22 20:25

    K230D部署模型失败的原因?

    MicroPython部署的无法正常运行,采用C++版本的无法实现部署 尝试解决过程 1.考虑到可能是固件不匹配的问题,重新烧录了流程(生成模型后给的readme)中要求的固件,依旧无
    发表于 03-11 06:19

    RK3588开发板上部署DeepSeek-R1大模型的完整指南

    安装交叉编译工具链,以编译RKLLM Runtime可执行文件,该程序包含模型初始化、模型推理、回调函数处理输出和模型资源释放等全部流程。 (5)
    发表于 02-27 16:45

    科技获亚马逊科技生成式AI能力认证

    的应用上展现出了卓越的能力。 聚科技通过整合亚马逊科技的先进技术,从应用范围确定、模型选择、数据处理、模型调优到应用集成与
    的头像 发表于 02-19 10:33 833次阅读

    科技荣获亚马逊科技生成式AI能力认证

    Bedrock等技术,从应用范围、模型选择、数据处理、模型调优到应用集成与部署等方面,助力企业加速生成式AI应用落地。此外,聚科技还基于亚马逊
    的头像 发表于 02-14 16:07 700次阅读

    科技荣获亚马逊科技生成式AI能力认证 助力企业加速生成式AI应用落地

    、数据处理、模型调优到应用集成与部署等方面,助力企业加速生成式AI应用落地。此外,聚科技还基于亚马逊科技打造RAGPro企业知识库、AI
    发表于 02-14 13:41 323次阅读

    亚马逊科技发布Amazon Trainium2实例

    的发布,标志着亚马逊科技在人工智能训练和部署领域迈出了重要一步。 为了满足用户对高性能和高性价比的双重需求,亚马逊
    的头像 发表于 12-27 14:57 885次阅读

    亚马逊科技与SAP推出GROW with SAP解决方案

    近日,亚马逊科技与SAP携手宣布了一项重要合作——在亚马逊科技平台上提供GROW with SAP解决方案。这一举措旨在帮助各种规模的企
    的头像 发表于 12-24 16:44 1013次阅读

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

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