Llama 2 云端部署与API调用【AWS SageMaker】

这篇具有很好参考价值的文章主要介绍了Llama 2 云端部署与API调用【AWS SageMaker】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Meta 刚刚发布了 Llama 2 大模型。如果你和我们一样,你一定会迫不及待地想要亲自动手并用它来构建。

Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

推荐:用 NSDT设计器 快速搭建可编程3D场景。

使用任何类型的 LLM 进行构建的第一步是将其托管在某处并通过 API 使用它。 然后你的开发人员可以轻松地将其集成到你的应用程序中。本指南将介绍如何在Amazon SageMaker 上托管 Llama 2 模型,以及如何利用 AWS Lambda 和 AWS API Gateway 通过 API 使用模型。

在开始之前,请前往amazon aws 登录或注册帐户。新帐户将自动获得免费套餐访问权限,这确实提供了一些 Sagemaker 积分,但请留意它们,因为根据你的服务器选择,账单可能会高得离谱。

1、为什么使用Llama2?

当我可以使用 Open AI API 时,为什么要使用 llama 2?

3个原因:

  • 安全性——让敏感数据远离第三方供应商
  • 可靠性——确保您的应用程序有正常运行时间
  • 一致性——每次提出问题都会得到相同的结果

2、托管Llama2模型

进入 AWS 仪表板后,在搜索栏中搜索 AWS Sagemaker,然后单击它以转到 AWS Sagemaker
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

AWS Sagemaker 是 AWS 用于部署和托管机器学习模型的解决方案。
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

2.1 在 AWS Sagemaker 上设置域

单击左侧边栏上的域
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

单击“创建域”

Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

确保选中“快速设置”框
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

使用你选择的域填写下面的表格,并填写其余选项,如屏幕截图中所示。

如果你对此不熟悉,请在执行角色类别中选择创建新角色。 否则,请选择之前可能创建过的角色。
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

单击表单上的“提交”以创建你的域
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

域创建完成后,你将看到此屏幕
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

记下在此处看到的用户名,因为下一步部署我们的模型需要它

如果你的域创建时出现错误,可能是由于用户权限或 VPC 配置造成的。

2.2 启动 Sagemaker Studio 会话

域创建完成后,单击左侧边栏中的 Studio 链接
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

选择你之前创建的域和用户配置文件,然后单击“Open Studio”

Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

这将带你进入 Jupyter 实验室工作室会话,如下所示:

2.3 选择 Llama-2–7b-chat 模型

我们将部署 llama 2 模型的聊天优化版和 7b版本。

有一个更强大的 70b 型号,它更加稳定,出于演示目的,它的成本太高,所以我们将使用较小的型号

单击 SageMaker Jumpstart 选项卡下左侧栏中的模型、笔记本、解决方案
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

在搜索栏中搜索 Llama 2 模型。 我们正在寻找 7b 聊天模型。 点击模型
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

如果没有看到此模型,那么可能需要关闭并重新启动工作室会话

这将带你进入模型页面。 你可以更改最适合你的用例的部署设置,但我们将继续使用默认的 Sagemaker 设置并按原样部署模型
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

70B 版本需要强大的服务器,因此如果你的帐户无权访问它,你的部署可能会出错。 在这种情况下,请向 AWS 服务配额提交请求。

等待 5-10 分钟以完成部署并确认屏幕显示
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

记下模型的端点名称,因为你需要它来通过 API 使用模型。

至此,你现在已经完成了托管模型的第一部分。

2、通过 API 使用Llama 2模型

首先进入AWS Lambda创建Lambda函数,lambda 函数将用于调用 LLM 模型的端点。

在AWS控制台搜索栏中搜索Lambda服务,然后单击Lambda服务
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

单击“Create Function”:
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

输入正确的函数名称(无论什么),选择Python 3.10作为运行时和x86_64架构。 然后点击创建函数
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

3.1 指定模型的端点

输入前面最后一步中的 LLM 模型的端点名称作为环境变量

单击新创建的模型中的“配置”选项卡
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

单击环境变量,然后单击编辑
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

单击下一个屏幕上的“Add environment variable”:

Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

输入 ENDPOINT_NAME 作为键,输入模型的端点名称作为值。 单击“保存”
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

你可以为想要的键添加任何内容,但它需要与我们在代码中编写的内容相匹配以便稍后调用该函数

3.2 编写调用 Llama 模型的代码

返回“代码”选项卡,然后复制并粘贴以下代码

import os
import io
import boto3
import json

# grab environment variables
ENDPOINT_NAME = os.environ['ENDPOINT_NAME']
runtime= boto3.client('runtime.sagemaker')

def lambda_handler(event, context):
    response = runtime.invoke_endpoint(EndpointName=ENDPOINT_NAME,
                                       ContentType='application/json',
                                       Body=event['body'],
                                       CustomAttributes="accept_eula=true")
    
    result = json.loads(response['Body'].read().decode())
    
    
    return {
        "statusCode": 200,
        "body": json.dumps(result)
    }

代码插入成功后点击"Deploy"进行部署:
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

4、将Lambda 函数接入 AWS API Gateway

转到 Lambda 函数的主屏幕并单击添加触发器

Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

在“添加触发器”对话框中选择“API 网关”菜单项
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

填写 API Gateway 对话框,如下所示,然后单击“添加”
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

成功创建 API 端点后,你可以在“配置”选项卡和“触发器”侧栏下查看 API URL
Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算

5、测试Llama2 API

使用以下 JSON 正文向你的 API URL 发出 POST 或 GET 请求

{
 "inputs": [
  [
   {"role": "system", "content": "You are chat bot who writes songs"},
   {"role": "user", "content": "Write a rap about Barbie"}
  ]
 ],
 "parameters": {"max_new_tokens":256, "top_p":0.9, "temperature":0.6}
}

input 键存储一个数组,每个元素是你和聊天机器人之间的 1 次对话。

对话由嵌套的 JSON 对象表示,其中包含表示对话中“人”的角色和作为提示的内容

检查API 的响应状态码和响应JSON。 状态代码应为 200,响应 JSON 将如下所示

[{"generation": {"role": "assistant", 
"content": " Yo, listen up, I got a story to tell 
'Bout a doll that's fly, and she's doin' well
Barbie, Barbie, she's the queen of the scene
From Malibu to Kenya, she's always lookin' supreme
She's got the style, she's got the grace
She's got the swag, she's got the pace
She's got the cars, she's got the cash
She's livin' large, she's got the flash
She's got the perfect body, she's got the perfect face
She's got the perfect hair, she's got the perfect pace
She's got the perfect life, she's got the perfect vibe
She's got it all, she's got the perfect ride
She's got Ken by her side, he's her main man
He's got the skills, he's got the plan
They're livin' large, they're got the fame
They're the perfect couple, they're got the game
So listen up,"}}]

可以使用以下Python代码来测试API。 将 api_url 的值替换为您在上一步 4 中创建的 API Url

import requests

api_url = 'https://spip03jtgd.execute-api.us-east-1.amazonaws.com/default/call-bloom-llm'

json_body = {
 "inputs": [
  [
   {"role": "system", "content": "You are chat bot who writes songs"},
   {"role": "user", "content": "Write a rap about Barbie"}
  ]
 ],
 "parameters": {"max_new_tokens":256, "top_p":0.9, "temperature":0.6}
}

r = requests.post(api_url, json=json_body)

print(r.json())

6、可能的错误

在这种情况下你可能会收到一些错误:

  • 权限:如果你的角色没有使用 Sagemaker 调用端点策略的权限,那么你将无法调用端点。
  • 超时:根据你的提示和变量,可能会收到超时错误。 与权限不同,这是一个简单的修复。 单击“配置”、“常规”和“编辑超时”,然后将超时值设置为更多秒数

Llama 2 云端部署与API调用【AWS SageMaker】,llama,aws,云计算


原文链接:Llama2云端部署及调用 — BimAnt文章来源地址https://www.toymoban.com/news/detail-633633.html

到了这里,关于Llama 2 云端部署与API调用【AWS SageMaker】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu下llama2的api远程调用

    conda activate llamachinese cd /home/cys/Llama2-Chinese/scripts/api python accelerate_server.py --model_path /media/cys/c4e58bbe-a73a-4b02-ae9e-2b310ee884fb/chinese-llama-2-13b --gpus \\\"0\\\" --infer_dtype \\\"int8\\\" --model_source \\\"llama2_chinese\\\"    运行结果:

    2024年01月17日
    浏览(34)
  • 【个人开发】llama2部署实践(四)——llama服务接口调用方式

    response.json() 返回如下: 代码demo 如果是openai1.0的版本 以上,End!

    2024年04月09日
    浏览(37)
  • Amazon SageMaker:探索AI绘画云端部署新方案

    在过去,人们只希望基于已有的给定数据做一些预测和拟合,因此判别式模型得到发展并且很好地解决了大部分任务;而未来,人们将目标转向用生成式模型生成全新数据,进行迁移学习等,也就是常说的 人工智能生成内容(AI Generated Content, AIGC) AI绘画 就是AIGC技术中的一种,

    2024年02月08日
    浏览(41)
  • 【LangChain学习之旅】—(7) 调用模型:使用OpenAI API还是微调开源Llama2/ChatGLM?

    Reference:LangChain 实战课 之前的内容讲了提示工程的原理以及 LangChain 中的具体使用方式。今天,我们来着重讨论 Model I/O 中的第二个子模块,LLM。 让我们带着下面的问题来开始这一节课的学习。大语言模型,不止 ChatGPT 一种。调用 OpenAI 的 API,当然方便且高效,不过,如果我

    2024年02月01日
    浏览(65)
  • llama-factory SFT系列教程 (一),大模型 API 部署与使用

    本来今天没有计划学 llama-factory ,逐步跟着github的文档走,发现这框架确实挺方便,逐渐掌握了一些。 最近想使用 SFT 微调大模型,llama-factory 是使用非常广泛的大模型微调框架; 基于 llama_factory 微调 qwen/Qwen-7B,qwen/Qwen-7B-Chat 我使用的是 qwen/Qwen-7B ,如果追求对话效果 qwen/

    2024年04月16日
    浏览(46)
  • 【本地大模型部署与微调】ChatGLM3-6b、m3e、one-api、Fastgpt、LLaMA-Factory

    本文档详细介绍了使用ChatGLM3-6b大模型、m3e向量模型、one-api接口管理以及Fastgpt的知识库,成功的在本地搭建了一个大模型。此外,还利用LLaMA-Factory进行了大模型的微调。 1.ChatGLM3-6b 2.m3e 3.One-API 4.Fastgpt 5.LLaMA-Factory 1.1创建腾讯云服务器 注意: ChatGLM3-6b的大模型40多个G,购买腾讯

    2024年03月22日
    浏览(45)
  • AWS api查询账单

    作为运维要经常关注公司账户消耗情况,账户多了看账单的时间都需要优化,搞个脚本定期推送AWS账单,后续在搞监控,AWS就是api不太好找 代码执行结果 结合企业微信推送到企业微信,每天关注费用消耗

    2024年02月16日
    浏览(28)
  • AWS Lambda - 同步/异步调用,事件源,目标

    Hello大家好,我们今天继续讨论AWS Lambda的内容。 Lambda函数有三种调用方式。 第一种方式是同步调用。 当我们使用API、CLI以及API网关等调用函数时,就是同步调用。 当您同步调用函数时,Lambda会运行该函数并等待响应,当函数完成时将结果同步返回,所以您的代码将等待这个

    2024年02月10日
    浏览(50)
  • 【AWS】API Gateway创建Rest API--从S3下载文件

     一、背景 在不给AK,SK的前提下,用户查看s3上文件(从s3下载文件) 二、创建API 1、打开API Gateway,点击创建API,选择REST API REST API和HTTP API区别:(来自AWS官网) REST API 和 HTTP API 都是 RESTful API 产品。REST API 支持的功能比 HTTP API 多,而 HTTP API 在设计时功能就极少,因此能够

    2024年02月11日
    浏览(50)
  • AWS Lambda – 函数版本,别名,API网关,CodeDeploy协同

    Hello大家好,我们今天继续讨论AWS Lambda的内容。 Lambda函数的版本 Lambda函数的版本和别名是辅助资源,我们可以通过创建这些资源管理函数的部署和调用。 首先,让我们来看一下Lambda 函数版本的概念。您可以使用版本来管理函数的部署。例如,您现在生产环境上运行了一个函

    2024年02月07日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包