Elasticsearch 开放推理 API 增加了 Azure AI Studio 支持

devtools/2025/2/12 6:46:28/
aidu_pl">

作者:来自 Elastic Mark Hoy

Elasticsearch 开放推理 API 现已支持 Azure AI Studio。在此博客中了解如何将 Azure AI Studio 功能与 Elasticsearch 结合使用。

作为我们持续致力于为 Microsoft Azure 开发人员提供他们选择的工具的一部分,我们很高兴地宣布,Elasticsearch 现在将 Microsoft Azure AI Studio 上的托管模型目录集成到我们的开放推理 API 中。这补充了开发人员将其 Elasticsearch 向量数据库用于 Azure OpenAI 的能力。

开发人员可以使用世界上下载次数最多的向量数据库的功能来存储和利用从 Azure AI Studio 的 OpenAI 模型生成的嵌入,或访问各种聊天完成模型部署,以快速访问 mistral-small 等对话模型。

就在最近,我们增加了对 Azure OpenAI 文本嵌入和完成的支持,现在我们又增加了对使用 Azure AI Studio 的支持。Microsoft Azure 开发人员可以完全访问 Azure OpenAI 和 Microsoft Azure AI Studio 服务功能,并可以使用他们的 Elasticsearch 数据来彻底改变对话搜索。

让我们带你了解如何轻松地在 Elasticsearch 中使用这些功能。

在 Azure AI Studio 中部署模型

首先,你需要订阅 Microsoft Azure 以及访问 Azure AI Studio。设置完成后,你需要从 Azure AI Studio 模型目录中部署文本嵌入模型或聊天完成模型。部署模型后,请在部署概览页面上记下目标 URL 和部署的 API 密钥 - 你稍后需要这些信息在 Elasticsearch 中创建推理端点。

此外,当你部署模型时,Azure 提供两种不同类型的部署选项 - “pay as you go - 随用随付”模型(按代币付费)和 “实时” 部署,后者是按小时计费的专用 VM。并非所有模型都提供这两种部署类型,因此请务必记下所使用的部署类型。

在 Elasticsearch 中创建推理 API 端点

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

在 Elasticsearch 中,通过提供服务作为 “azureaistudio” 以及服务设置(包括你部署的模型中的 API 密钥和目标)来创建端点。你还需要提供模型提供程序以及之前的端点类型(“token” 或 “realtime”)。在我们的示例中,我们部署了一个具有 token 类型端点的 Cohere 模型。

PUT _inference/completion/test_cohere_chat_completion
{"service": "azureaistudio","service_settings": {"api_key": "<<API_KEY>>","target": "<<TARGET_URL>>","provider": "cohere","endpoint_type": "token"}
}

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

{"model_id": "test_cohere_chat_completion","task_type": "completion","service": "azureaistudio","service_settings": {"target": "<<TARGET_URL>>","provider": "cohere","endpoint_type": "token"},"task_settings": {}
}

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

PUT _inference/text_embeddings/test_cohere_embeddings
{"service": "azureaistudio","service_settings": {"api_key": "<<API_KEY>>","target": "<<TARGET_URL>>","provider": "cohere","endpoint_type": "token"}
}

让我们进行一些推理

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

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

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

{"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."}]
}

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

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

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

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

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

无限可能

通过在 Elasticsearch 推理管道中利用 Azure AI Studio 部署模型的强大功能,你可以增强搜索体验的自然语言处理和预测分析功能。

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

这些功能可通过 Elastic Cloud 上serverless 产品中的开放 inference API 获得。它还将在即将发布的 Elasticsearch 版本中向所有人提供。

Elasticsearch 与行业领先的 Gen AI 工具和提供商进行了原生集成。查看我们的网络研讨会,了解如何超越 RAG 基础知识,或构建可用于生产的应用程序 Elastic Vector Database。

要为你的用例构建最佳搜索解决方案,请立即开始免费云试用或在你的本地机器上试用 Elastic。

原文:Elasticsearch open inference API adds Azure AI Studio support - Elasticsearch Labs


http://www.ppmy.cn/devtools/157799.html

相关文章

【深度学习】基于MXNet的多层感知机的实现

多层感知机 结构组成 大致由三层组成&#xff1a;输入层-隐藏层-输出层&#xff0c;其中隐藏层大于等于一层 其中&#xff0c;隐藏层和输出层都是全连接 隐藏层的层数和神经元个数也是超参数 多层隐藏层&#xff0c;在本质上仍等价于单层神经网络&#xff08;可从输出方程…

java-异常家族梳理(流程图)

前言: 使用流程图梳理异常,便于理解 梳理: Throwable ├── Error(严重错误,无需捕获) │ ├── OutOfMemoryError │ ├── StackOverflowError │ └── ... ├── Exception(可捕获处理) │ ├── RuntimeException(非检查异常/Unchecked) │ …

SpringMVC常用的注解

Spring MVC 提供了丰富的注解&#xff0c;这些注解可以简化开发过程&#xff0c;提高开发效率&#xff0c;使代码结构更加清晰。以下是 Spring MVC 中一些常用注解的详细介绍&#xff1a; 1. 控制器相关注解 1.1 Controller 作用&#xff1a;用于标记一个类为控制器类&#…

26~31.ppt

目录 26.北京主要的景点 题目 解析 27.创新产品展示及说明会 题目​ 解析 28.《小企业会计准则》 题目​ 解析 29.学习型社会的学习理念 题目​ 解析 30.小王-产品展示信息 题目​ 解析 31.小王-办公理念-信息工作者的每一天 题目​ 解析 26.北京主要的景点…

C++ labmbd表达式

文章目录 C++ Lambda 表达式详解1. Lambda 表达式的组成部分:2. Lambda 语法示例(1) 最简单的 Lambda(2) 带参数的 Lambda(3) 指定返回类型的 Lambda3. 捕获外部变量(1) 值捕获(复制)(2) 引用捕获(3) 捕获所有变量4. Lambda 在 STL 中的应用5. Lambda 作为 `std::function`6…

DeepSeek R1技术报告关键解析(8/10):DeepSeek-R1 的“aha 时刻”,AI 自主学习的新突破

1. 什么是 AI 的“aha 时刻”&#xff1f; 在强化学习过程中&#xff0c;AI 的推理能力并不是线性增长的&#xff0c;而是会经历一些关键的“顿悟”时刻&#xff0c;研究人员将其称为“aha 时刻”。 这是 AI 在训练过程中突然学会了一种新的推理方式&#xff0c;或者能够主动…

20240206 adb 连不上手机解决办法

Step 1: lsusb 确认电脑 usb 端口能识别设备 lsusb不知道设备有没有连上&#xff0c;就插拔一下&#xff0c;对比观察多了/少了哪个设备。 Step 2: 重启 adb server sudo adb kill-serversudo adb start-serveradb devices基本上就可以了&#xff5e; Reference https://b…

SQL自学,mysql从入门到精通 --- 第 14天,主键、外键的使用

1.主键 PRIMARY KEY 主键的使用 字段值不允许重复,且不允许赋NULL值 创建主键 root@mysqldb 10:11: [d1]> CREATE TABLE t3(-> name varchar(10) PRIMARY KEY,-> age int,-> class varchar(8)-> ); Query OK, 0 rows affected (0.01 sec)root@mysqldb 10:…