基于 Amazon Bedrock +lambda函数调用大模型构建你的智能网页助手

文章目录

    • 1. 前言
    • 2. 使用到的关键产品
      • 2.1 Amazon Bedrock
      • 2.2 Amazon lambda
      • 2.3 Amazon API Gateway
    • 3. 注册亚马逊云科技账号
    • 4. 构建大模型API
      • 4.1 调用 Amazon Bedrock
      • 4.2 使用 Amazon lambda函数
      • 4.3 调Amazon API Gateway
    • 5. 构建应用调用API
    • 6. 总结

1. 前言

传统的大模型部署调用方法,是通过服务器部署大模型,然后进行调用。本次我们本次通过不使用Amazon EC2服务器而是使用Amazon Lambda函数的形式来调用大模型能力。

Amazon Bedrock 是亚马逊云科技推出的一项服务,它允许用户通过简单的 API 调用访问多种强大的基础模型。这些模型可以用于自然语言处理、图像识别等各种任务。

今天我们就通过调用Amazon Bedrock 的API来通过构建lambda函数,给我们的网页增加智能问答助手。

2. 使用到的关键产品

2.1 Amazon Bedrock

Amazon Bedrock 是一项完全托管的服务,通过单个 API 提供来自 AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI 和 Amazon 等领先人工智能公司的高性能基础模型(FM),以及通过安全性、隐私性和负责任的人工智能构建生成式人工智能应用程序所需的一系列广泛功能。使用Amazon Bedrock ,您可以轻松试验和评估适合您的使用案例的热门 FM,通过微调和检索增强生成(RAG)等技术利用您的数据对其进行私人定制,并构建使用您的企业系统和数据来源执行任务的代理。由于 Amazon Bedrock 是无服务器的,因此您无需管理任何基础设施,并且可以使用已经熟悉的 AWS 服务将生成式人工智能功能安全地集成和部署到您的应用程序中。

image-20240923231232178

2.2 Amazon lambda

Amazon lambda函数
是亚马逊云科技推出的无服务器计算服务。用户无需管理服务器,只需上传代码,它就能自动运行以响应事件。可按使用量付费,具有自动扩缩、快速部署等优势。适用于多种场景,如数据处理、后端服务等。

2.3 Amazon API Gateway

Amazon API Gateway是一种完全托管的服务,可以帮助开发人员轻松创建、发布、维护、监控和保护任意规模的 API。API 充当应用程序的前门,可从您的后端服务访问数据、业务逻辑或功能。使用 API Gateway,您可以创建 RESTful API 和 WebSocket API,以便实现实时双向通信应用程序。API Gateway 支持容器化和无服务器工作负载,以及 Web 应用程序。

API Gateway 负责管理所有任务,涉及接受和处理成千上万个并发 API 调用,包括流量管理、CORS 支持、授权和访问控制、限制、监控,以及 API 版本管理。Amazon API Gateway 没有最低费用或启动成本。您只需为您收到的 API 调用和传出的数据量付费。由于采用 API Gateway 分级定价模式,随着 API 使用量的增加,您可以减少花费。

image-20240924003328614

3. 注册亚马逊云科技账号

进入亚马逊云科技账号注册页面,选择注册海外区账号,立即注册
image-20240923231913952

输入验证邮箱
image-20240923232208029

设置密码
image-20240923232235059

然后选择用于个人目的,其余按照实际情况填写
image-20240923232326311

等待注册完成,会收到邮件通知。然后愉快的使用亚马逊云科技的免费服务~

登录注册的亚马逊云科技账号

4. 构建大模型API

4.1 调用 Amazon Bedrock

在控制台搜索Amazon Bedrock并进入
image-20240924000335237

点击入门
image-20240924000427912

在左下角选择模型访问权限

image-20240924000455271

本次大模型我们选择Llama 3.1 70B Instruct

image-20240924000536784

选择,点击next

image-20240924000649022

4.2 使用 Amazon lambda函数

构建API

进入 Amazon lambda函数
控制台
image-20240924001538081点击创建函数
image-20240924001619172

填写基本信息
image-20240924001651499

点击创建函数
image-20240924001708812

编写python函数
image-20240924001736659

代码如下

import json
import boto3
session = boto3.Session()
bedrock = session.client(service_name='bedrock-runtime') #初始化Bedrock客户端库
bedrock_model_id = "meta.llama3-8b-instruct-v1:0" #设置模型 user_message = "1+1" #提示词prompt = f""" 
<|begin_of_text|> 
<|start_header_id|>user<|end_header_id|> 
{user_message} 
<|eot_id|> 
<|start_header_id|>assistant<|end_header_id|>
"""body = json.dumps({"prompt": prompt, "max_gen_len": 2048,"temperature":0.5,"top_p":0.9
}) 
response = bedrock.invoke_model(body=body, modelId=bedrock_model_id, accept='application/json', contentType='application/json') #发送调用请求
response_body = json.loads(response.get('body').read()) 
response_text=response_body['generation'] #从 JSON 中返回相应数据
print(response_text)

选择部署函数
image-20240924001830869

image-20240924001844605

4.3 调Amazon API Gateway

进入Amazon API Gateway控制台

image-20240924001907780

选择REST API,进行构建

image-20240924002148232

创建API、

image-20240924002207382

选择创建资源

image-20240924002226433

image-20240924002243500

创建完资源后,选择创建方法

image-20240924002318314

按照要求填写方法详细信息,选择创建方法
image-20240924002347666

返回控制台,选择部署API

image-20240924002442320

image-20240924002454401

返回Lambda控制台

选择添加触发器

image-20240924002600332

点击添加
image-20240924002626083

至此,我们的API就构建完成了

image-20240924002645464

由于调用大模型函数相应时间较长。我们可以将函数响应时间阈值调高

image-20240924002736194

API函数如下

image-20240924002752393

5. 构建应用调用API

编写前端函数,为网站添加智能助手。

前端代码如下

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8" /><linkrel="icon"href="https://img.alicdn.com/tfs/TB1_ZXuNcfpK1RjSZFOXXa6nFXa-32-32.ico"type="image/x-icon"/><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>示例网站</title><linkhref="//g.alicdn.com/??aliyun/dbl-official-ui/2.0.1/css/index.css,dawn/ace-element/0.0.60/index.css,hmod/ace-grid-layout-2023/0.0.5/index.css"rel="stylesheet"/><linkhref="//g.alicdn.com??code/npm/@ali/hmod-ace-2023-box/0.1.0/index.css,code/npm/@ali/hmod-ace-2023-service-contact-us/0.0.24/index.css,code/npm/@ali/hmod-aliyun-com-floating-toolbar/0.1.6/index.css,code/npm/@ali/hmod-aliyun-com-global-nav-search/0.5.10/index.css,code/npm/@ali/hmod-aliyun-com-global-nav/0.1.20/index.css,hmod/ace-2023-homepage-banner/0.1.11/index.css,hmod/ace-2023-homepage-news/0.1.5/index.css,hmod/ace-common-aliyun-index-title/0.0.4/index.css,hmod/ace-common-row-aliyun-free-trial/0.0.4/index.css,hmod/ace-common-row-aliyun-standard/0.0.8/index.css,hmod/ace-common-row-basic-product-datas/0.0.6/index.css,hmod/ace-common-row-entry-alicloud-service/0.0.6/index.css,hmod/ace-customer-case-home/0.1.1/index.css,hmod/ace-dpl-home-map/0.1.0/index.css,hmod/ace-dpl-home-product-category/0.1.0/index.css,hmod/ace-dpl-home-row-best-practices/0.0.10/index.css,hmod/ace-dpl-new-to-link/0.0.8/index.css,hmod/ace-homepage-2020-hmod-footer/0.1.5/index.css,hmod/ace-index-card-product-trial-service/0.0.5/index.css"rel="stylesheet"/></head><body><script src="assets/demo_layout.js"></script><link rel="stylesheet" crossorigin href="assets/index.css" /><script type="module" crossorigin src="assets/index.js"></script><script>window.CHATBOT_CONFIG = {endpoint: "https://aoe458747e.execute-api.us-east-1.amazonaws.com/v1/xianggu", displayByDefault: false, aiChatOptions: { conversationOptions: { conversationStarters: [{prompt: '哪款手机续航最长?'},{prompt: '你们有哪些手机型号?'},{prompt: '有折叠屏手机吗?'},]},displayOptions: { // 自定义取值参考:https://docs.nlkit.com/nlux/reference/ui/ai-chat#display-optionsheight: 600,// width: 400,},personaOptions: { // 自定义取值参考:https://docs.nlkit.com/nlux/reference/ui/ai-chat#chat-personasassistant: {name: '你好,我是你的 AI 助手',// AI 助手的图标avatar: 'https://img.alicdn.com/imgextra/i2/O1CN01Pda9nq1YDV0mnZ31H_!!6000000003025-54-tps-120-120.apng',tagline: '您可以尝试点击下方的快捷入口开启体验!',}},messageOptions: { // 自定义取值参考:https://docs.nlkit.com/nlux/reference/ui/ai-chat#message-optionswaitTimeBeforeStreamCompletion: 'never'}},dataProcessor: {/*** 在向后端大模型应用发起请求前改写 Prompt。* 比如可以用于总结网页场景,在发送前将网页内容包含在内,同时避免在前端显示这些内容。* @param {string} prompt - 用户输入的 Prompt* @param {string}  - 改写后的 Prompt*/rewritePrompt(prompt) {return prompt;}}};</script> <style>:root {/* webchat 工具栏的颜色 */--webchat-toolbar-background-color: #1464E4;/* webchat 工具栏文字和按钮的颜色 */--webchat-toolbar-text-color: #FFF;}/* webchat 对话框如果被遮挡,可以尝试通过 z-index、bottom、right 等设置 来调整*/.webchat-container {z-index: 100;bottom: 10px;right: 10px;}/* webchat 的唤起按钮如果被遮挡,可以尝试通过 z-index、bottom、right 等设置 来调整。也可以通过 CSS 进一步定制唤起按钮的形状、大小等。 */.webchat-bubble-tip {z-index: 99;bottom: 20px;right: 20px;}</style> </body>
</html>

在html前端调用API函数,效果如下

image-20240924003032034

查看部署后效果

image-20240924003134381

image-20240924003144185

至此,基于 bedrock+lambda函数调用大模型构建你的智能网页助手构建完成

6. 总结

本文详细介绍了如何基于 bedrock + lambda 函数调用大模型来构建智能网页助手。首先,说明了传统大模型部署调用方法的不足,引出使用 Amazon Lambda 函数调用大模型的新思路。接着,介绍了关键产品 Amazon Bedrock、 Amazon lambda函数
函数和 Amazon API Gateway的功能和特点。然后,逐步阐述了注册亚马逊云科技账号、构建大模型 API 以及调用 Amazon API Gateway部署大模型 API 的具体步骤。最后,展示了编写前端函数为网站添加智能助手的代码及效果。通过这些步骤,成功构建了智能网页助手,为用户提供了便捷的智能问答服务。
亚马逊云科技提供众多免费云产品,可以访问:亚马逊云科技体验更多有趣的产品

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1543865.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW界面输入值设为默认值

在LabVIEW中&#xff0c;将前面板上所有控件的当前输入值设为默认值&#xff0c;可以通过以下步骤实现&#xff1a; 使用控件属性节点&#xff1a;你可以创建一个属性节点来获取所有控件的引用。 右键点击控件&#xff0c;选择“创建” > “属性节点”。 设置属性节点为“D…

怎么用gitee做一个图片仓库,在md文档中用这个图片网络地址,然后显示图片

痛因&#xff1a;我为什么要这样做&#xff0c;呃&#xff0c;我一开始图片都是存本地地址的&#xff0c;放在和这个md文档同级的assets文件夹下面&#xff0c;这样子确实当时很方便&#xff0c;复制粘贴什么也不用管&#xff0c;但是想把这个文档分享给别的人的时候&#xff0…

【有啥问啥】多臂老虎机(Multi-Armed Bandit,MAB)算法详解

多臂老虎机&#xff08;Multi-Armed Bandit&#xff0c;MAB&#xff09;算法详解 1. 引言 多臂老虎机&#xff08;Multi-Armed Bandit&#xff0c;MAB&#xff09;问题源自概率论和决策论&#xff0c;是一个经典的决策优化问题。最早提出的形式是赌场中的老虎机问题&#xff…

在线秘密基地--性能测试

根据之前的测试报告中的测试用例使用jmeter进行性能测试&#xff08;在性能测试之前&#xff0c;应先进行功能测试&#xff09;。 测试报告----功能测试_功能测试报告-CSDN博客https://blog.csdn.net/m0_74876421/article/details/141307905一、使用jmeter进行功能测试 可查看…

HDFS分布式文件系统01-HDFS架构与SHELL操作

HDFS分布式文件系统 学习目标第一课时知识点1-文件系统的分类单机文件系统网络文件系统分布式文件系统 知识点2-HDFS架构知识点3-HDFS的特点知识点4-HDFS的文件读写流程知识点5-HDFS的健壮性 第二课时知识点1-HDFS的Shell介绍HDFS Shell的语法格式如下。HDFS Shell客户端命令中…

STM32 软件触发ADC采集

0.91寸OLED屏幕大小的音频频谱&#xff0c;炫酷&#xff01; STM32另一个很少人知道的的功能——时钟监测 晶振与软件的关系&#xff08;深度理解&#xff09; STM32单片机一种另类的IO初始化方法 ADC是一个十分重要的功能&#xff0c;几乎任何一款单片机都会包含这个功能&a…

信息安全工程师(13)网络攻击一般过程

前言 网络攻击的一般过程是一个复杂且系统化的行为&#xff0c;其目标往往在于未经授权地访问、破坏或窃取目标系统的信息。 一、侦查与信息收集阶段 开放源情报收集&#xff1a;攻击者首先会通过搜索引擎、社交媒体、论坛等公开渠道获取目标的基本信息&#xff0c;如姓名、地址…

Pytest-如何将allure报告发布至公司内网

原理简介 使用Python启动HTTP服务器&#xff0c;指定一个端口号port&#xff0c;内网用户可以使用ipport访问报告。 本文章继续进阶&#xff0c;简单使用nginx进行一个代理&#xff0c;使用域名可以直接访问报告。 前情概述 Pytest-allure如何在测试完成后自动生成完整报告&am…

Axure大屏可视化模板:跨领域数据分析平台原型案例

随着信息技术的飞速发展&#xff0c;数据可视化已成为各行各业提升管理效率、优化决策过程的重要手段。Axure作为一款强大的原型设计工具&#xff0c;其大屏可视化模板在农业、园区、城市、企业数据可视化、医疗等多个领域得到了广泛应用。本文将通过几个具体案例&#xff0c;展…

生成PPT时支持上传本地的PPT模板了!

制作 PPT 时想要使用特定的 PPT 模板&#xff1f; 现在&#xff0c;歌者 PPT 的「自定义模板功能」已全面升级&#xff01;你可以轻松上传自己的本地 PPT 模板&#xff0c;无论是公司统一风格的模板&#xff0c;还是带有个人设计风格的模板&#xff0c;都能无缝导入歌者 PPT。…

什么是大数据?初学者快速入门手册

“大数据”这个词有点用词不当&#xff0c;因为它意味着预先存在的数据在某种程度上是小的&#xff08;事实并非如此&#xff09;&#xff0c;或者唯一的挑战是其庞大的规模&#xff08;规模是其中之一&#xff0c;但通常还有更多&#xff09;。简而言之&#xff0c;“大数据”…

预计2030年全球GO电工钢市场规模将达到120.6亿美元

GO电工钢&#xff0c;又称为冷轧取向电工钢。GO电工钢按重量计含硅量至少为0.6%&#xff0c;含碳量不超过0.08%&#xff0c;可含有不超过1.0%的铝&#xff0c;所含其他元素的比例并不使其具有其他合金钢的特性&#xff1b;厚度不超过0.56毫米&#xff1b;呈卷状的&#xff0c;则…

Mac端口扫描工具

文章目录 端口扫描工具域名/ip转换Lookupping功能端口扫描 端口扫描工具 Mac内置了一个网络工具 网络使用工具 按住 Command 空格 然后搜索 “网络实用工具” 或 “Network Utility” 即可 域名/ip转换Lookup ping功能 端口扫描 参考文献 端口扫描工具

小柴冲刺软考中级嵌入式系统设计师系列二、嵌入式系统硬件基础知识(1)数字电路基础

目录 一、信号特征 二、组合逻辑电路和时序逻辑电路 1、组合逻辑电路 2、时序逻辑线路 三、信号转换 1、数字集成电路的分类 2、常用电平接口技术 四、可编程逻辑器件 flechazohttps://www.zhihu.com/people/jiu_sheng 小柴冲刺嵌入式系统设计师系列总目录https://blo…

使用 TypeScript 接口优化数据结构

在现代软件开发中&#xff0c;数据结构的设计至关重要&#xff0c;它直接影响到程序的性能和可维护性。TypeScript 作为一种静态类型的超集&#xff0c;为 JavaScript 带来了类型系统&#xff0c;使得开发者可以在编译时期就发现潜在的类型错误。本文将探讨如何利用 TypeScript…

uboot无法使用nfs下载文件的问题

一、系统环境 见这篇博客。 二、问题描述 uboot使用nfs下载文件出现 “T T T”&#xff0c;一直无法下载 三、解决方法 编辑/etc/nfs.conf文件&#xff1a; sudo xed /etc/nfs.conf开启udp: udpy之后重启nfs服务器&#xff1a; sudo /etc/init.d/nfs-kernel-server re…

使用GLib进行C语言编程的实例

本文将讨论使用GLib进行编程的基本步骤&#xff0c;GLib是一个跨平台的&#xff0c;用C语言编写的3个底层库(以前是5个)的集合&#xff0c;GLib提供了多种高级的数据结构&#xff0c;如内存块、双向和单向链表、哈希表等&#xff0c;GLib还实现了线程相关的函数、多线程编程以及…

知识库管理系统的未来趋势:从单一平台到生态系统

在数字化浪潮的推动下&#xff0c;知识库管理系统&#xff08;Knowledge Base Management System, KBMS&#xff09;正逐步从传统的单一平台向更加开放、灵活、智能的生态系统转变。这一转变不仅体现了技术进步的必然结果&#xff0c;也深刻反映了市场需求的变化。本文将分析随…

如何使用GLib的单向链表GSList

单向链表是一种基础的数据结构&#xff0c;也是一种简单而灵活的数据结构&#xff0c;本文讨论单向链表的基本概念及实现方法&#xff0c;并着重介绍使用GLib的GList实现单向链表的方法及步骤&#xff0c;本文给出了多个实际范例源代码&#xff0c;旨在帮助学习基于GLib编程的读…

基于飞腾平台的OpenCV的编译与安装

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力&#xff0c;聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域&#xff0c;包含了应用使能套件、软件仓库、软件支持、软件适…