Elasticsearch 开放 inference API 增加了对 Cohere Embeddings 的支持

这篇具有很好参考价值的文章主要介绍了Elasticsearch 开放 inference API 增加了对 Cohere Embeddings 的支持。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:来自 Elastic Serena Chou, Jonathan Buttner, Dave Kyle

我们很高兴地宣布 Elasticsearch 现在支持 Cohere 嵌入! 发布此功能是与 Cohere 团队合作的一次伟大旅程,未来还会有更多合作。 Cohere 是生成式 AI 领域令人兴奋的创新者,我们很自豪能够让开发人员使用 Cohere 令人难以置信。

Elastic 的交付方法:频繁、生产就绪的迭代

在我们深入探讨之前,如果你是 Elastic 的新手(欢迎!),我们始终相信投资我们选择的技术 (Apache Lucene) 并确保贡献可以用作生产级功能,以我们最快的发布模式可以提供。

让我们深入了解一下我们迄今为止所构建的内容以及我们很快将能够提供的内容:

  • 2023 年 8 月,我们讨论了我们对 Lucene 的贡献,以实现最大内积并使 Cohere 嵌入成为 Elastic Stack 的一等公民。
  • 它首先被贡献到 Lucene 中,并在 Elasticsearch 8.11 版本中发布。
  • 在同一版本中,我们还推出了 /_inference API 端点的技术预览,该端点支持 Elasticsearch 中管理的模型的嵌入,但很快在接下来的版本中,我们建立了与 Hugging Face 和 OpenAI 等第三方模型提供商的集成模式。

Cohere 嵌入支持已经向参与我们在 Elastic Cloud 上的 stateless 产品预览的客户提供,并且很快将在即将发布的 Elasticsearch 版本中向所有人提供。

你需要一个 Cohere 帐户,以及一些 Cohere Embed 端点的使用知识。 你可以选择可用的模型,但如果你只是第一次尝试,我们建议你使用模型 embed-english-v3.0,或者如果你正在寻找多语言变体,请尝试 embed-multilingual-v3.0,维度大小为 1024。

在 Kibana 中,即使没有设置 IDE,你也可以访问控制台,以便在 Elasticsearch 中输入这些后续步骤。

PUT _inference/text_embedding/cohere_embeddings 
{
    "service": "cohere",
    "service_settings": {
        "api_key": <api-key>, 
        "model_id": "embed-english-v3.0", 
        "embedding_type": "byte"
    }
}

当你选择在控制台中运行此命令时,你应该会看到相应的 200,用于创建你的命名 Cohere 推理服务。 在此配置中,我们指定 embedding_type 为 byte,这相当于要求 Cohere 返回带符号的 int8 嵌入。 仅当你选择使用 v3 模型时,这才是有效的配置。

Elasticsearch 开放 inference API 增加了对 Cohere Embeddings 的支持,Elasticsearch,AI,Elastic,elasticsearch,大数据,搜索引擎,langchain,全文检索,人工智能,ai

你需要在索引中设置映射,以便为存储即将从 Cohere 检索的嵌入做好准备。

Cohere 嵌入的 Elasticsearch 向量数据库

PUT cohere-embeddings
{
  "mappings": {
    "properties": {
      "name_embedding": { 
        "type": "dense_vector", 
        "dims": 1024, 
        "element_type": "byte"
      },
      "name": { 
        "type": "text" 
      }
    }
  }
}

在映射的定义中,你会发现 Elastic 团队对 Lucene 做出的另一个贡献的一个很好的例子,即使用标量量化的能力。

只是为了好玩,我们粘贴了你将在入门体验中看到的命令,该命令摄取简单的图书目录。

POST _bulk?pretty
{ "index" : { "_index" : "books" } }
{"name": "Snow Crash", "author": "Neal Stephenson", "release_date": "1992-06-01", "page_count": 470}
{ "index" : { "_index" : "books" } }
{"name": "Revelation Space", "author": "Alastair Reynolds", "release_date": "2000-03-15", "page_count": 585}
{ "index" : { "_index" : "books" } }
{"name": "1984", "author": "George Orwell", "release_date": "1985-06-01", "page_count": 328}
{ "index" : { "_index" : "books" } }
{"name": "Fahrenheit 451", "author": "Ray Bradbury", "release_date": "1953-10-15", "page_count": 227}
{ "index" : { "_index" : "books" } }
{"name": "Brave New World", "author": "Aldous Huxley", "release_date": "1932-06-01", "page_count": 268}
{ "index" : { "_index" : "books" } }
{"name": "The Handmaid's Tale", "author": "Margaret Atwood", "release_date": "1985-06-01", "page_count": 311}

此时,你的 books 内容已位于 Elasticsearch 索引中,现在你需要启用 Cohere 在文档上生成嵌入!

为了完成此步骤,你将设置一个 ingest pipeline,该管道使用我们的 inference processor 来调用你在第一个 PUT 请求中定义的推理服务。

PUT _ingest/pipeline/cohere_embeddings
{
  "processors": [
    {
      "inference": {
        "model_id": "cohere_embeddings", 
        "input_output": { 
          "input_field": "name",
          "output_field": "name_embedding"
        }
      }
    }
  ]
}

如果你没有摄取像本书目录这样简单的内容,你可能想知道如何处理所选模型的 token 限制。

如果需要,你可以快速修改创建的 ingest pipeline 以对大型文档进行分块,或者在首次摄取之前使用其他转换工具来处理分块。

如果你正在寻找其他工具来帮助确定分块策略,那么搜索实验室中的这些 notebooks 就是你的最佳选择。

有趣的是,在不久的将来,Elasticsearch 开发人员将完全可以选择此步骤。 正如本博客开头所提到的,我们今天向你展示的这种集成为未来的更多变化奠定了坚实的基础。 其中之一将是此步骤的大幅简化,你根本不必担心分块,也不必担心摄取管道的构建和设计。 Elastic 将以出色的默认设置为你处理这些步骤!

你已经设置了目标索引和摄取管道,现在是时候重新索引以强制文档完成该步骤了。

POST _reindex
{
  "source": {
    "index": "books",
    "size": 50 
  },
  "dest": {
    "index": "cohere-embeddings",
    "pipeline": "cohere_embeddings"
  }
}

用于 Cohere 向量嵌入的 Elastic kNN 搜索

现在你已准备好使用 Cohere 嵌入进行第一个向量搜索。

GET cohere-embeddings/_search
{
  "knn": {
    "field": "content_embedding",
    "query_vector_builder": {
      "text_embedding": {
        "model_id": "cohere_embeddings",
        "model_text": "Snow"
      }
    },
    "k": 10,
    "num_candidates": 100
  },
  "_source": [
    "name",
    "author"
  ]
}

就这么简单。

如果你已经对向量搜索有了很好的理解,我们强烈建议你阅读这篇关于将 kNN 作为查询运行的博客 - 这将解锁专家模式!

与 Cohere 的集成以 stateless 方式提供,很快就可以在 Elastic Cloud、笔记本电脑或自我管理环境中的版本化 Elasticsearch 版本中进行尝试。

祝你搜索愉快,再次感谢 Cohere 团队在此项目上的合作!

准备好将 RAG 构建到你的应用程序中了吗? 想要尝试使用向量数据库的不同 LLMs?
在 Github 上查看我们的 LangChain、Cohere 等示例 notebooks,并参加即将开始的 Elasticsearch 工程师培训!

原文:Elasticsearch open inference API adds support for Cohere Embeddings — Elastic Search Labs文章来源地址https://www.toymoban.com/news/detail-845925.html

到了这里,关于Elasticsearch 开放 inference API 增加了对 Cohere Embeddings 的支持的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 盘点那些有趣的开放API

    在日常开发测试过程中,肯定少不了测试数据的支撑。 模拟测试数据的工具有很多,例如:Mockaroo、DataGenerator、还有之前介绍过的Faker都可以帮助我们快速生成随机的数据,比如:姓名、地址、邮箱、手机号、日期、时间、数字、布尔值等。 但是,这些工具只能帮助我们生成

    2024年02月09日
    浏览(67)
  • 关于淘宝API的详细说明(淘宝开放平台API揭秘)

    自淘宝开放平台Beta公测开始,陆续开放了上百次个API,这些API涵盖了淘宝基本业务,截止发日志当天开放平台API每天的调用量可是说是天文数字。 作为TOP开发者的您对 于淘宝平台-API可以信手拿来,运用自如。想要全面掌握某一项事物,大家肯定想了解what、why、how和plan,本文

    2024年02月01日
    浏览(31)
  • 百度文心一言:官方开放API开发基础

    目录 一、模型介绍 1.1主要预置模型介绍 1.2 计费单价 二、前置条件 2.1 创建应用获取 Access Key 与 Secret Key 2.2 设置Access Key 与 Secret Key 三、基于千帆SDK开发 3.1 Maven引入SDK 3.2 代码实现 3.3 运行代码        文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型,其

    2024年04月23日
    浏览(27)
  • ElasticSearch - 索引增加字段并查询增加字段前的历史数据

    1. 问题引入 我们项目中有一个需求:ElasticSearch存在很多历史数据,然后需求中索引新增了一个字段,我们需要根据条件查询出历史数据,但历史数据中这个新增的字段并不存在,如何查询到历史数据呢? 1. 索引2个文档 2. 给索引增加新的字段 3. 再次索引1个文档 这个文档新

    2024年02月10日
    浏览(47)
  • 获取网易云音乐开放接口api的推荐歌单

    网易云音乐开放api接口 网址:https://binaryify.github.io/NeteaseCloudMusicApi/#/?id=neteasecloudmusicapi 项目地址:https://github.com/Binaryify/NeteaseCloudMusicApi 下载下来之后,安装依赖:npm install 启动服务: node app.js 启动成功之后,根据api接口文档就可以获取请求的url了。 本文需求是,获取推荐

    2024年02月04日
    浏览(37)
  • 开放式基金净值估算数据 API 数据接口

    开放式基金净值估算数据 API 数据接口 全量基金数据,实时数据,所有基金数据。 返回实时开放式基金净值估值 可定义所有基金估值数据; 多个基金属性值返回; 多维指标,一次查询毫秒级返回; 数据持续更新与维护; 全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 / v1.3); 全面兼

    2024年02月14日
    浏览(27)
  • ChatGPT正式开放API,企微接入平台上线

    这几天,OpenAI正式开放ChatGPT API的消息又再次火爆AI界的朋友圈了吧,并且开放的是已经应用到 ChatGPT 产品中的gpt-3.5 - turbo模型。不仅如此,让开发者更兴奋的是ChatGPT因为成本的降低,以前每处理1000个tokens(相当于750个单词)的费用为0.02美元,现在下调至0.002美元,,直接打

    2023年04月20日
    浏览(33)
  • 小白开发微信小程序23--开放接口API

    wx.login 登录 wx.getUserInfo 获取用户信息 wx.chooseAddress 获取用户收货地址 wx.requestPayment 发起微信支付 wx.addCard 添加卡券 wx.openCard 打开卡券 ....................................................... 获取用户信息。页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用,每次请求都会弹

    2024年02月15日
    浏览(31)
  • 修改 Stable Diffusion 使 api 接口增加模型参数

     参考:https://zhuanlan.zhihu.com/p/644545784 1、修改 modules/api/models.py 中的 StableDiffusionTxt2ImgProcessingAPI 增加模型名称  2、修改 modules/api/api.py 中 text2imgapi 代码:  3、修改 modules/processing.py 中的 StableDiffusionProcessingTxt2Img ,增加模型名称接收

    2024年02月06日
    浏览(28)
  • 拼多多开放平台的API接口可以获取拼多多电商数据。以下是API接口流程

     使用拼多多开放平台的API接口可以获取拼多多电商数据。以下是一般的API接口流程: 1. 注册开发者账号:首先,您需要在拼多多开放平台注册一个开发者账号。通过开发者账号,您可以获得API密钥和其他必要的信息。 2. 鉴权与认证:在使用API之前,您需要获取访问令牌(

    2024年02月11日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包