利用 Elastic 的推理 API 簡(jiǎn)化矢量搜索

Elastic 的推理 API 可讓開(kāi)發(fā)人員在 Elastic 環(huán)境中輕松訪問(wèn)人工智能模型并對(duì)其執(zhí)行推理。 該 API 無(wú)需自托管模型或通過(guò)外部 API 進(jìn)行單獨(dú)的推理調(diào)用,從而簡(jiǎn)化了在 Elastic 中創(chuàng)建和查詢矢量索引的過(guò)程。 值得注意的是,無(wú)需手動(dòng)遍歷現(xiàn)有詞法搜索索引中的每個(gè)文檔來(lái)添加向量嵌入,只需調(diào)用一次 API,即可創(chuàng)建推理攝取管道并重新為數(shù)據(jù)建立索引。

Cohere 的整個(gè) Embed v3 模型系列–包括我們最先進(jìn)的英語(yǔ)嵌入模型(embed-english-v3.0)和多語(yǔ)言嵌入模型(embed-multilingual-v3.0)–現(xiàn)在可通過(guò) Elastic 的推理 API 在 Elastic Cloud 和 Elastic 自管理環(huán)境中使用。

我們還很高興地宣布,推理 API 原生支持浮點(diǎn)和 int8(或字節(jié))嵌入。 Int8 壓縮允許用戶利用 Elastic 對(duì)字節(jié)矢量的支持,將嵌入的大小減少 4倍,而對(duì)搜索質(zhì)量的影響卻很小。 由于矢量數(shù)據(jù)庫(kù)的成本在一定程度上與存儲(chǔ)矢量的大小相關(guān),因此開(kāi)發(fā)人員可以在不影響準(zhǔn)確性的情況下降低存儲(chǔ)成本。 Cohere 的嵌入模型在使用 int8(字節(jié))壓縮時(shí),其性能可與 OpenAI 的嵌入模型相媲美,而存儲(chǔ)成本僅為后者的一小部分。 下圖顯示了各種嵌入模型的 MTEB 精度與約 2.5 億嵌入數(shù)據(jù)集的存儲(chǔ)成本的比較。

我們很高興 Elastic 行業(yè)領(lǐng)先的平臺(tái)能讓開(kāi)發(fā)人員更輕松地訪問(wèn)我們的嵌入式產(chǎn)品。

如何將 Cohere 與彈性推理 API 結(jié)合使用

使用推理應(yīng)用程序接口(Inference API)實(shí)現(xiàn) Cohere 的嵌入只需調(diào)用幾個(gè)應(yīng)用程序接口。

首先,創(chuàng)建一個(gè)推理模型,指定一個(gè) Cohere 的嵌入模型。 在本例中,我們將使用 Cohere 的基準(zhǔn)英語(yǔ)模型 “embed-english-v3.0″,并使用 int8 壓縮。 要在 Elastic 中使用 int8 壓縮,我們將指定embedding_typebyte

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

接下來(lái),為包含嵌入內(nèi)容的新索引創(chuàng)建索引映射。 在此,您將指定由您選擇的向量和壓縮技術(shù)決定的某些參數(shù)。

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

接下來(lái),創(chuàng)建一個(gè)帶有推理處理器的攝取管道,以便在將內(nèi)容攝取到索引時(shí)自動(dòng)計(jì)算嵌入。

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

要完成新索引的設(shè)置,請(qǐng)使用您剛剛創(chuàng)建的攝取管道重新索引現(xiàn)有來(lái)源的數(shù)據(jù)。 新索引將包含管道中指定的輸入字段中所有文本數(shù)據(jù)的嵌入,供您在語(yǔ)義搜索中使用。

POST _reindex?wait_for_completion=false
{
  "source": {
    "index": "test-data",
    "size": 50 
  },
  "dest": {
    "index": "cohere-embeddings",
    "pipeline": "cohere_embeddings"
  }
}

現(xiàn)在您的索引已經(jīng)創(chuàng)建,您可以使用 KNN 向量搜索和 Cohere 的嵌入來(lái)輕松查詢。

GET cohere-embeddings/_search
{
  "knn": {
    "field": "content_embedding",
    "query_vector_builder": {
      "text_embedding": {
        "model_id": "cohere_embeddings",
        "model_text": "Elasticsearch and Cohere"
      }
    },
    "k": 10,
    "num_candidates": 100
  },
  "_source": [
    "id",
    "content"
  ]
}

就是這樣! 利用 Cohere 嵌入在您的 Elastic 索引中進(jìn)行語(yǔ)義搜索。 要開(kāi)始使用,請(qǐng)為 Cohere 創(chuàng)建一個(gè)試用 API 密鑰,并嘗試使用 Elastic 的推理 API 和 Cohere 的嵌入。

如何發(fā)現(xiàn)更多AI搜索API

冪簡(jiǎn)集成是國(guó)內(nèi)領(lǐng)先的API集成管理平臺(tái),專注于為開(kāi)發(fā)者提供全面、高效、易用的API集成解決方案。冪簡(jiǎn)API平臺(tái)提供了多種維度發(fā)現(xiàn)API的功能:通過(guò)關(guān)鍵詞搜索API、從API Hub分類瀏覽API、從開(kāi)放平臺(tái)分類瀏覽企業(yè)間接尋找API等。

此外,冪簡(jiǎn)集成開(kāi)發(fā)者社區(qū)會(huì)編寫(xiě)API入門(mén)指南、多語(yǔ)言API對(duì)接指南、API測(cè)評(píng)等維度的文章,讓開(kāi)發(fā)者選擇符合自己需求的API。

本文翻譯源自:https://cohere.com/blog/elastic-inference-api

上一篇:

Python網(wǎng)頁(yè)抓取API:獲取Google搜索結(jié)果的實(shí)用指南

下一篇:

如何在Python、PHP、Java程序中使用PDF合并API接口
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門(mén)場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)