Elasticsearch 开放推理 API 增加了对 Amazon Bedrock 的支持

作者:来自 Elastic Mark Hoy, Hemant Malik

Elasticsearch 开放推理 API 增加了对托管在 Amazon Bedrock 上的模型生成嵌入的支持。

Elasticsearch 开放 infereence API 使开发人员能够创建推理端点并使用来自领先提供商的机器学习模型。从今天开始,托管在 Amazon Bedrock 上的模型将通过 Elasticsearch 开放 inference API 提供。现在,使用 Elasticsearch 向量数据库构建 RAG 应用程序的开发人员可以存储和使用托管在 Amazon Bedrock 上的模型(例如 Amazon Titan、Anthropic Claude、Cohere Command R 等)生成的嵌入。Bedrock 与开放推理 API 的集成提供了一种与不同 AI 模型(例如文本嵌入和聊天完成)交互的一致方式,从而简化了使用 Elasticsearch 的开发过程。

  • 从 Amazon Bedrock 中选择一个模型
  • 在 Elasticsearch 中创建并使用推理端点
  • 将模型用作推理管道的一部分

在 Amazon Bedrock 中使用基础模型

本演练假设你已经拥有一个可以访问 Amazon Bedrock 的 AWS 账户 - 这是一项完全托管的托管模型服务,可通过统一 API 提供基础模型。

在 AWS 控制台中的 Amazon Bedrock 中,确保你确实有权访问 Amazon Titan Embeddings G1 - Text 模型。你可以通过转到 AWS 控制台中的 Amazon Bedrock 服务并检查 _Model access. _ 来检查这一点。如果你没有访问权限,你可以通过 AWS 控制台中的 Amazon Bedrock 服务中的 _Modify model access _ 进行请求。

Amazon 提供了广泛的 IAM 策略来控制模型的权限和访问。在 IAM 中,你还需要创建一对访问密钥和密钥,以允许以编程方式访问 Amazon Bedrock,以便你的 Elasticsearch 推理终端节点进行通信。

在 Elasticsearch 中创建推理 API 端点

部署模型后,我们可以在 Elasticsearch 中为你的推理任务创建一个端点。对于以下示例,我们使用 Amazon Titan Text 基础模型执行聊天完成推理。

在 Elasticsearch 中,通过提供服务作为 “amazonbedrock” 来创建端点,并提供服务设置,包括你的区域、提供商、模型(基础模型 ID,或者如果你创建了自定义模型,则为模型的 ARN)以及你访问 Amazon Bedrock 的访问和密钥。在我们的示例中,由于我们使用 Amazon Titan Text,我们将指定 “amazontitan” 作为提供商,并将 “amazon.titan-text-premier-v1:0” 指定为模型 ID。

PUT _inference/completion/test_amazon_titan_chat_completion
{"service": "amazonbedrock","service_settings": {"access_key": "<<ACCESS_KEY>>","secret_key": "<<SECRET_KEY>>","region": "us-east-1","provider": "amazontitan","model": "amazon.titan-text-premier-v1:0"}
}

当你向 Elasticsearch 发送命令时,它应该返回创建的模型以确认命令已成功。请注意,API 密钥永远不会返回,并且存储在 Elasticsearch 的安全设置中。

{"model_id": "test_amazon_bedrock_chat_completion","task_type": "completion","service": "amazonbedrock","service_settings": {"access_key": "<<ACCESS_KEY>>","secret_key": "<<SECRET_KEY>>","region": "us-east-1","provider": "amazontitan","model": "amazon.titan-text-premier-v1:0"},"task_settings": {}
}

添加使用文本嵌入的模型同样简单。作为参考,如果我们使用 Amazon Titan Embeddings Text 基础模型,我们可以通过从该部署的概述页面提供适当的 API 密钥和目标 URL,使用 “text_embeddings” 任务类型在 Elasticsearch 中创建推理模型:

PUT _inference/text_embeddings/test_amazon_titan_embeddings
{"service": "amazonbedrock","service_settings": {"access_key": "<<ACCESS_KEY>>","secret_key": "<<SECRET_KEY>>","region": "us-east-1","provider": "amazontitan","model": "amazon.titan-embed-text-v2:0"}
}

让我们进行一些推理

这就是设置模型的全部内容。现在,我们可以使用该模型了。首先,让我们通过要求模型在给出简单提示的情况下提供一些文本来测试该模型。为此,我们将使用输入文本调用 _inference API:

POST _inference/completion/test_amazon_bedrock_chat_completion
{"input": "The answer to the universe is"
}

我们应该看到 Elasticsearch 提供响应。在后台,Elasticsearch 使用输入文本调用 Amazon Bedrock 并处理推理结果。在本例中,我们收到了响应:

{"completion": [{"result": "42. \n\nIn Douglas Adams' *The Hitchhiker's Guide to the Galaxy*, a super-computer named Deep Thought is asked what the answer to the ultimate question of life, the universe, and everything is. After calculating for 7.5-million years, Deep Thought announces that the answer is 42. \n\nThe number 42 has since become a reference to the novel, and many fans of the book series speculate as to what the actual question might be."}]
}

我们试图让最终用户轻松地不必处理幕后的所有技术细节,但我们也可以通过提供额外的参数来控制处理,从而更好地控制我们的推理,例如采样温度和请求生成的最大 token 数:

POST _inference/completion/test_amazon_bedrock_chat_completion
{"input": "The answer to the universe is","task_settings": {"temperature": 1.0,"max_new_tokens": 50}
}

这很简单。我们还能做什么?

当我们能够以其他方式使用我们的新模型时,这将变得更加强大,例如在 Elasticsearch 提取管道中使用文档时向文档添加其他文本。例如,以下管道定义将使用我们的模型,并且每当提取使用此管道的文档时,字段 “question_field” 中的任何文本都将通过推理 API 发送,并且响应将写入文档中的 “completed_text_answer” 字段。这允许扩充大量文档。

PUT _ingest/pipeline/amazon_bedrock_titan_completions
{"processors": [{"inference": {"model_id": "test_amazon_bedrock_chat_completion", "input_output": { "input_field": "question_field","output_field": "completed_text_answer"}}}]
}

无限可能

通过在 Elasticsearch 推理管道中利用 Amazon Bedrock 模型的强大功能,你可以增强搜索体验的自然语言处理能力。

如果你是使用 Elasticsearch 的 AWS 开发人员,那么还有更多值得期待的内容。我们最近在我们的 Playground(博客)中添加了对 Amazon Bedrock 的支持,允许开发人员测试和调整 RAG 工作流程。此外,新的 semantic_text 映射让你可以轻松地矢量化和分块信息。

在即将推出的 Elasticsearch 版本中,用户可以利用新的字段映射类型,进一步简化本博客中描述的流程,不再需要设计摄取管道。此外,正如我们在语义搜索加速路线图中提到的那样,未来将在查询时使用 Elasticsearch 检索器为推理任务提供显着简化的支持。

这些功能可通过我们在 Elastic Cloud 上的 stateless 产品中的开放推理 API 获得。它们也将很快在即将发布的 Elasticsearch 版本中向所有人提供。

准备好自己尝试一下了吗?开始免费试用。
Elasticsearch 集成了 LangChain、Cohere 等工具。加入我们的高级语义搜索网络研讨会,构建你的下一个 GenAI 应用程序!

原文:Elasticsearch open inference API adds Amazon Bedrock support — Elastic Search Labs

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

超简单的通配证书签发工具,免费,无需安装任何插件到本地

常见的acme.sh 或者 lego等工具需要配置&#xff0c;安装不灵活&#xff0c;续签需要配置计划任务&#xff0c;签发单域名证书或者通配证书需要不同的指令和配置&#xff0c;繁琐&#xff0c;如果自己程序想要对接签发证书的api有的不支持&#xff0c;有的用起来繁琐。 最近发…

确保智慧校园安全,充分利用操作日志功能

智慧校园基础平台系统的操作日志功能是确保整个平台运行透明、安全及可追溯的核心组件。它自动且详尽地记录下系统内的每一次关键操作细节&#xff0c;涵盖操作的具体时间、执行操作的用户账号、涉及的数据对象&#xff08;例如学生信息更新、课程调度变动等&#xff09;、操作…

华为HCIP Datacom H12-821 卷34

1.单选题 防火墙默认已经创建了一些安全区域,以下哪一个安全区域不是防火墙上默认存在的? A、Trust B、DMZ C、Internet D、Local 正确答案&#xff1a; C 解析&#xff1a; 防火墙默认情况下为我们提供了三个安全区域&#xff0c;分别是 Trust、DMZ和Untrust 2.判断题 …

(图文详解)小程序AppID申请以及在Hbuilderx中运行

今天小编给大家带来了如何去申请APPID&#xff0c;如果你是小程序的开发者&#xff0c;就必须要这个id。 申请步骤 到小程序注册页面&#xff0c;注册一个小程序账号 微信公众平台 填完信息后提交注册 会在邮箱收到 链接激活账号 确认。邮箱打开链接后&#xff0c;会输入实…

设备管理中的数据结构

一、有哪些数据结构属于设备管理数据结构 1. 设备控制表&#xff08;DCT&#xff09; “Device Control Table”的首字母缩写 2. 控制器控制表&#xff08;COCT&#xff09; “Controller Of Control Table”的首字母缩写。 3. 通道控制表&#xff08;CHCT&#xff09; “…

guided-diffusion 相比于improved-diffusion的sample增加的cond_fn()

目录 1、cond_fn()函数代码2、softmax与log_softmax函数 1、cond_fn()函数代码 def cond_fn(x, t, yNone):assert y is not Nonewith th.enable_grad():x_in x.detach().requires_grad_(True)logits classifier(x_in, t)log_probs F.log_softmax(logits, dim-1)selected l…

Transformer特辑

https://github.com/LongxingTan/Machine-learning-interview 模型结构 基本单元&#xff1a;token_embedding positional encoding, encoder, token_embedding positional encoding, decoderencoder: (self-attention, skip-connect, ln), (ffn, skip-connect, ln)decoder:…

顶顶通呼叫中心中间件实现随时启动和停止质检(mod_cti基于FreeSWITCH)

文章目录 前言联系我们拨号方案启动停止ASR执行FreeSWITCH 命令接口启动ASR接口停止ASR接口 通知配置cti.json配置质检结果写入数据库 前言 顶顶通呼叫中心中间件的实时质检功能是由两个模块组成&#xff1a;mod_asr 和 mod_qc。 mod_asr&#xff1a;负责调用ASR将用户们在通…

二、Qemu+Vscode调试内核

编译内核、busybox、配置Qemu参考&#xff1a;Qemu调试内核 一、修改启动脚本 1、修改Qemu启动脚本 #! /bin/shqemu-system-aarch64 \-machine virt,virtualizationtrue,gic-version3 \-nographic \-m size1024M \-cpu cortex-a72 \-smp 2 \-kernel Image \-drive formatraw…

写作遇到AI痕迹困扰?这里有降低AI痕迹的实用技巧

请问有没有什么免费的论文降重网站&#xff1f; 副本 一句“知网是什么”&#xff0c;我查重查了千百遍。天临六年五月&#xff0c;大家的论文差不多都到了查重的阶段。好不容易论文写&#xff08;shui&#xff09;完了&#xff0c;一看查重报告&#xff0c;满屏的红字让人心心…

Linux--线程ID封装管理原生线程

目录 1.线程的tid&#xff08;本质是线程属性集合的起始虚拟地址&#xff09; 1.1pthread库中线程的tid是什么&#xff1f; 1.2理解库 1.3phtread库中做了什么&#xff1f; 1.4线程的tid&#xff0c;和内核中的lwp 1.5线程的局部存储 2.封装管理原生线程库 1.线程的tid…

java设计模式(十五)命令模式(Command Pattern)

1、模式介绍&#xff1a; 命令模式&#xff08;Command Pattern&#xff09;是一种行为设计模式&#xff0c;其主要目的是将请求封装成一个对象&#xff0c;从而允许使用不同的请求、队列或者日志来参数化其他对象。这种模式使得命令的请求者和实现者解耦。 2、应用场景&…

服务启动何时触发 Nacos 的注册流程?

前言&#xff1a; 前面的系列文章让我们对 Nacos 有了一个基本了解&#xff0c;并知道了如何去试用 Nacos 作为注册中心和配置中心&#xff0c;本篇我们将从源码层面去分析 Nacos 的服务注册流程。 Nacos 系列文章传送门&#xff1a; Nacos 初步认识和 Nacos 部署细节 Naco…

C++基础学习笔记

1.命名空间(namespace) 1.什么是命名空间&命名空间的作用 1.在C/C中&#xff0c;变量、函数、类都是大量存在的&#xff0c;这些变量等的名称将都存在于全局作用域中&#xff0c;就会导致很多的命名冲突等。使用命名空间的目的就是对标识符的名称进行本地化&#xff0c;以…

短视频矩阵系统全解析:让获客变得更简单

随着数字媒体的迅猛发展&#xff0c;短视频已成为人们生活中不可或缺的一部分。对于企业而言&#xff0c;如何有效利用短视频平台吸引目标用户&#xff0c;实现高效获客&#xff0c;成为了一个亟待解决的问题。本文将全面解析短视频矩阵系统&#xff0c;带您领略其独特魅力&…

广度优先(BFS)

先看一道简单的题&#xff0c;迷宫问题&#xff1a; 洛谷P1746 离开中山路&#xff1a;P1746 离开中山路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<iostream> #include<cstring> #include<queue> #include <utility> #define N 1002 …

深度学习的数学PDF

链接: https://pan.baidu.com/s/1_jScZ7dcyAWGqbrad6bbCQ?pwd9gj9 提取码: 9gj9 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦

最简单的vue3组件之间传值

localStorage 是 HTML5 引入的一个 Web Storage API 的一部分&#xff0c;它允许网页在用户的浏览器上存储数据。localStorage 提供了一种持久化的本地存储方案&#xff0c;数据不会因为浏览器关闭而丢失&#xff0c;除非用户或脚本显式地删除它们。 localStorage 是一种非常实…

VSCode神仙插件——通义灵码 (AI编程助手)

1、安装&登录插件 安装时,右下角会有弹窗,让你登录该软件 同意登录后,会跳转浏览器页面 VSCode右下角出现如下图标即登录成功 2、使用 (1)点击左侧栏中的如下图标,打开通义灵码,可以进行智能问答 (2) 选中代码,右键 但是,上述所有的操作会在左侧问答栏中提供答案,并无法直…

认识并理解webSocket

今天逛牛客&#xff0c;看到有大佬分享说前端面试的时候遇到了关于webSocket的问题&#xff0c;一看自己都没见过这个知识点&#xff0c;赶紧学习一下&#xff0c;在此记录&#xff01; WebSocket 是一种网络通信协议&#xff0c;提供了全双工通信渠道&#xff0c;即客户端和服…