关注企业 RAG 应用私有部署,Jina AI 模型登陆 Amazon SageMaker

本文主要介绍了如何在 AWS(亚马逊云服务)上使用 Jina AI 的 Embeddings 和 Rerankers 模型来构建 RAG 应用,涵盖从配置 AWS 账户、设置 Python 环境、订阅模型、加载数据集、启动模型、构建和索引数据集的各个步骤。

此外,还展示了如何利用 FAISS 数据库进行语义搜索、以及整合 Mistral-Instruct LLM 用于生成结果等。

Jina AI 的 Embeddings 和 Reranker 模型已经正式登陆 Amazon SageMaker,企业可轻松将 Jina AI 先进的人工智能模型部署在私有 AWS 环境中,充分利用 AWS 成熟的基础架构,确保云服务的安全、稳定与一致性。

通过 AWS Marketplace,SageMaker 用户享受到的不只是 Jina AI 模型领先的 8k 输入上下文窗口和优秀的多语种 Embeddings 能力,还有具有竞争力的价格优势。在这里,模型传输免费,价格明码标价,账单直接和 AWS 账户整合,一切透明又简单。

目前在 Amazon SageMaker 上可用的 Jina AI 模型包括:

  • Jina Embeddings v2 Base - 英语

  • Jina Embeddings v2 Small - 英语

  • Jina Embeddings v2 双语模型:

    • 德语/英语

    • 中文/英语

    • 西班牙语/英语

  • Jina Embeddings v2 Base - 代码

  • Jina Reranker v1 Base - 英语

  • Jina ColBERT v1 - 英语

  • Jina ColBERT Reranker v1 - 英语

完整的模型列表请访问 Jina AI 的 AWS Marketplace 供应商页面,并可以享受七天免费试用。

🔗 https://aws.amazon.com/marketplace/seller-profile?id=seller-stch2ludm6vgy

本文将指导您使用来自 Amazon SageMaker 的组件创建一个检索增强生成 (RAG) 应用。我们将使用以下模型:Jina Embeddings v2 - English、Jina Reranker v1 和 Mistral-7B-Instruct 大型语言模型。

您还可以通过下载 Python 代码来学习操作。

🔗 https://raw.githubusercontent.com/jina-ai/workshops/main/notebooks/embeddings/sagemaker/sagemaker.ipynb

检索增强生成

RAG(检索增强生成) 是目前流行的新范式。在应用中如果直接使用大型语言模型 (LLM) 回答用户请求,就非常容易生成虚假信息。RAG 系统会从外部数据库中搜集与用户请求相关的信息,然后这些信息会作为输入提示送给语言模型。语言模型的任务是将这些信息整合成一个连贯且准确的回答,从而减少误导性信息的生成,并确保回答的实用性。

RAG 应用通常有 4 个组件组成:一个适用于信息检索的向量数据库作为数据源;一个处理用户查询并检索相关数据的信息检索系统;一个选出合适数据作为语言模型输入的重排系统;以及一个生成用户回答的大型语言模型。

此外, Embeddings 模型和 Reranker 模型也是这一过程中不可或缺的部分。这些模型通过分析文本间的语义相似性,提高了信息检索的精度,使系统更好地响应用户需求。

具体来说,Embeddings 模型将文本转换为高维向量,这些向量之间的空间关系可以显示文本的语义相关性。而 Reranker 模型则在检索结果中进行筛选,挑选出与用户请求最为匹配的数据,确保提供给语言模型的提示信息是最相关、最具体的,极大地提升了回答的质量。

模型部署在 SageMaker 上的表现如何?

为了评估 Jina Embeddings v2 Base - English 模型作为 SageMaker 终端的性能和稳定性,我们在一台 g4dn.xlarge 实例上进行了测试。测试方法是持续每秒模拟一个新用户,每个用户发送一个请求,等待响应,收到响应后重复上述操作。

测试结果摘要:

  • 请求长度小于 100 个词元(token):

    • 并发用户数最高可达 150 人:响应时间始终低于 100 毫秒 (ms)。

    • 并发用户数超过 150 人:响应时间随着用户数增加呈线性增长,在 300 人左右达到 1.5 秒 (s)。由于 API 错误超过 5 次,测试停止。

  • 请求长度在 1,000 到 8,000 个词元之间:

    • 并发用户数最高可达 20 人:响应时间始终低于 8 秒 (s)。

    • 并发用户数超过 20 人:响应时间随着用户数增加呈线性增长,在 140 人左右达到 60 秒 (s)。由于 API 错误超过 5 次,测试停止。

结论:

  • 对于大多数用户来说,g4dn.xlarge 或 g5.xlarge 实例足以满足日常 Embedding 需求。

  • 对于大型索引作业(通常远不如搜索任务频繁),用户可能需要更强大的实例。

  • 有关所有可用 SageMaker 实例的列表,请参阅 AWS 的 EC2 概述。

455c4e906f5224a851da22c164f46a6d.png

配置您的 AWS 账户

创建 AWS 账户

开始之前,您需要拥有一个 AWS 账户。如果没有,请前往 AWS 官网注册: https://portal.aws.amazon.com/ 进行注册。

注意: 免费账户无法完成本教程,因为 Amazon 不提供免费使用 SageMaker 的权限。即使您使用 Jina AI 提供的七天免费试用,也需要为账户添加支付方式来订阅这些模型。

安装 Python 环境

在用于本教程的 Python 环境中安装以下工具和库:

pip install awscli jina-sagemaker

获取访问密钥

您还需要获取您的 AWS 账户访问密钥和秘密访问密钥。具体操作方法请参考 AWS 网站上的获取访问密钥指南:

🔗 https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html

选择 AWS 区域

选择您要使用的 AWS 区域。有关区域的信息,可以参考:

🔗 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html

设置环境变量

在 Python 脚本或 Jupyter Notebook 中,使用以下代码设置环境变量:

import os

os.environ["AWS_ACCESS_KEY_ID"] = "<YOUR_ACCESS_KEY_ID>"  # 替换为您的访问密钥 ID
os.environ["AWS_SECRET_ACCESS_KEY"] = "<YOUR_SECRET_ACCESS_KEY>"  # 替换为您的秘密访问密钥
os.environ["AWS_DEFAULT_REGION"] = "<YOUR_AWS_REGION>"  # 替换为您的 AWS 区域
os.environ["AWS_DEFAULT_OUTPUT"] = "json"  # 设置默认输出格式为 json

您也可以通过 AWS 命令行工具或在本地文件系统中设置 AWS 配置文件来完成上述操作。更多细节请参考 AWS 网站上的相关文档。

pip install awscli jina-sagemaker

创建角色

您还需要一个具有足够权限的 AWS 角色来使用本教程所需的资源。

该角色必须:

  • 启用 AmazonSageMakerFullAccess。

  • 拥有进行 AWS Marketplace 订阅的权限,并已启用所有三个: 

    • aws-marketplace:ViewSubscriptions

    • aws-marketplace:Unsubscribe

    • aws-marketplace:Subscribe

  • 或您的 AWS 账户订阅了 jina-embedding-model。

将角色的 ARN(Amazon 资源名称)存储在变量名称 role 中:

role = <YOUR_ROLE_ARN>

有关更多信息,请参阅 AWS 网站上的角色文档。

🔗 https://docs.aws.amazon.com/IAM/latest/

  • 12
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值