新聞
模型
API
keyboard_arrow_down
讀取器
讀取URL或搜索為大模型提供更好的依據。
向量模型
世界一流的多模態多語言向量模型。
重排器
世界一流的重排器,最大限度地提高搜索相關性。
MCP terminal命令行articlellms.txtsmart_toy代理人data_object模式menu_book文檔



登錄
login
為隱私和效能而生
無縫整合和高擴展性
開始使用 Azure
教學:搜尋歌曲
Jina Embeddings 和 Rerankers:Azure 上的企業級 AI
技術博客
四月 29, 2024

Jina Embeddings 和 Reranker 在 Azure 上的應用:可擴展的企業級 AI 解決方案

Jina Embeddings 和 Rerankers 現已在 Azure Marketplace 上架。重視隱私和安全的企業現在可以輕鬆地將 Jina AI 的最先進模型整合到其現有的 Azure 生態系統中。
Futuristic black background with a purple 3D grid, featuring the "Embeddings" and "Reranker" logos with a stylized "A".
Susana Guzmán
Susana Guzmán • 7 分鐘的讀取量

Jina Embeddings 和 Rerankers 現已在 Azure Marketplace 上架。對於將資料安全性和營運效率視為首要任務的公司而言,這項整合尤為重要。

Jina AI 推出全球首個開源 8K 文本嵌入模型,與 OpenAI 匹敵
Jina AI 推出 jina-embeddings-v2,這是全球首個具有 8K 上下文長度的開源模型。該創新與 OpenAI 的專有模型實力相當,現已在 Huggingface 上公開發布,標誌著文本嵌入領域的重要里程碑。
使用 Jina Reranker 最大化搜尋相關性和 RAG 準確度
使用 Jina Reranker 提升您的搜尋和 RAG 準確度。我們的新模型相比簡單向量搜尋,將準確度和相關性提高了 20%。立即免費試用!

我們有七個可用的模型:

  1. Jina Embeddings v2 Base - code
  2. Jina Embeddings v2 Base - de
  3. Jina Embeddings v2 Base - zh
  4. Jina Embeddings v2 Base - es
  5. Jina Embeddings v2 Base - en
  6. Jina Reranker v1 Base - en
  7. Jina Reranker v1 Turbo - en
  8. Jina Reranker v1 Tiny - en
  9. Jina ColBERT v1 - en

tag為隱私和效能而生

確保您的資料安全是我們的首要任務。我們與 Azure 的合作讓我們能夠提供滿足資料隱私和效率需求的 AI 解決方案。Azure 無與倫比的隱私標準確保您的資料獲得最嚴格的保護,使其成為醫療保健、金融和其他需要關鍵資料保護行業的可信賴平台。如果您是 Azure 的現有客戶,那麼您可以利用現有的訂閱獲得 Jina AI 最先進的嵌入和重排序模型的所有優勢。

tag無縫整合和高擴展性

在 Azure 上部署不僅確保隱私,還能與您現有的 Azure 服務無縫整合。這提供了順暢的過渡,並讓您能夠擴展 AI 部署以應對不斷變化的需求,同時不會影響性能。

tag開始使用 Azure

在本教學中,我們將建立一個音樂搜尋應用程式。我們想要使用的不是歌曲的精確標題,而是一個模糊的查詢,真正測試我們的搜尋基礎模型的品質。

為此,第一步是在 Azure 上設置所有內容。

tag註冊 Azure

確保您擁有具有有效付款方式的 Azure 帳戶訂閱。如果您還沒有帳戶,可以在 Azure 首頁註冊一個。

tag在 Azure 上部署 Jina 模型

在 Azure Marketplace 上,您可以透過搜尋 "jina" 找到所有 Jina AI 的嵌入和重排序模型。從中選擇最適合您需求的模型。

Screenshot 2024-04-17 at 15.12.54

在部署設置的基本標籤中,您需要提供有關部署的一些詳細信息。預設配置設定為使用四個 CPU 核心和 8 GB 的記憶體。根據您的具體要求,您可以調整這些設置以更好地滿足您的應用程式需求。

Screenshot 2024-04-23 at 16.41.29

這將開始部署。可能需要幾分鐘時間。完成後,您應該會看到以下畫面:

Screenshot 2024-04-17 at 15.16.21

您的模型現在已部署完成並可以使用。

tag教學:搜尋歌曲

在本教學中,您將使用您的 Azure 部署來為流行音樂的數據文件集合建立一個基本搜尋引擎。

💡
您也可以在 Colab 上跟隨這個教學,或者下載它在您自己的筆記本中運行。

tag載入數據集

from datasets import load_dataset

dataset = load_dataset("sander-wood/wikimusictext")

這將載入 WikiMusicText (WikiMT) 數據集。

tag啟動 Jina Embeddings v2 和 Reranker 端點

首先,在 Azure 入口網站中部署嵌入和重排序端點。您需要決定使用哪個區域,並為嵌入服務和重排序服務分別指派一個 DNS 前綴。然後,將該資訊存儲在下面代碼中的 embeddings_url 和 reranker_url 變數中。

函數 jina_embed 和 jina_rerank 通過向託管在 Azure 上的 API 發出請求來生成文本嵌入和執行重排序。

import json

import requests

embeddings_url = "http://<Your DNS prefix>.<Your region>.azurecontainer.io:8080/invocations"
reranker_url = "http://<Your DNS prefix>.<Your region>.azurecontainer.io:8080/invocations"

def jina_embed(text):
    headers = {"Content-Type": "application/json"}
    json_data = {"data": [{"text": text}]}

    response = requests.post(embeddings_url, headers=headers, data=json.dumps(json_data))
    return response.json()["data"][0]["embedding"]

def jina_rerank(query, search_results):
    headers = {"Content-Type": "application/json"}

    json_data = {
        "data": {
            "documents": [
                {"text": search_result[0]} for search_result in search_results
            ],
            "query": query,
            "top_n": 3,
        }
    }

    response = requests.post(reranker_url, headers=headers, data=json.dumps(json_data))
    return response.json()["data"][0]["results"]

tag載入資料集

此資料是為 AI 模型訓練所收集,因此將資料分為訓練集和測試集。為了簡單起見,在本教學中我們只使用訓練資料。以下程式碼將訓練資料轉換為 pandas DataFrame:

ds = dataset['train']
input_df = ds.dataset.to_pandas()

tag生成 Embeddings 並在 FAISS 中建立索引

此函數處理文字資料並以 embeddings 的形式提取特徵。這將需要一些時間。

import numpy as np
from tqdm import tqdm

tqdm.pandas()


def generate_embeddings(input_df):
    all_embeddings = []

    for t in input_df.text:
        review_embeddings = []
        all_embeddings.append(np.array(jina_embed(t)))

    input_df["embeddings"] = all_embeddings

    return input_df


enhanced_dataframe = generate_embeddings(input_df)

此程式碼對 DataFrame 中 text 欄位的每個項目進行迭代,並呼叫 jina_embed() 來獲取 embedding。我們將 embeddings 以 NumPy 陣列的形式存儲在 all_embeddings 列表中。然後將其添加到 DataFrame 的新欄位 embeddings 中。

我們可以透過印出 enhanced_dataframe 的值來視覺化我們剛剛做的事:

Screenshot 2024-04-22 at 12.39.07

最後一欄以可讀形式包含了 embeddings。

現在我們需要建立一個 FAISS(Facebook AI Similarity Search)索引來儲存和搜尋 embeddings:

import faiss

dim = 768  # dimension of Jina v2 embeddings
index_with_ids = faiss.IndexIDMap(faiss.IndexFlatIP(dim))

for idx, row in enhanced_dataframe.iterrows():
    embeddings = row["embeddings"]
    normalized_embedding = np.ascontiguousarray(
        np.array(embeddings, dtype="float32").reshape(1, -1)
    )
    faiss.normalize_L2(normalized_embedding)
    index_with_ids.add_with_ids(normalized_embedding, idx)

此程式碼還對 embedding 向量進行標準化以簡化並加速搜尋。

tag查詢匹配項

函數 find_similar_texts 在你剛剛建立的索引中搜尋最相近的匹配項:

def find_similar_texts(query, n=20):
    query_embedding = jina_embed(query)
    query_embedding = np.ascontiguousarray(
        np.array(query_embedding, dtype="float32").reshape(1, -1)
    )
    faiss.normalize_L2(query_embedding)

    similarities, indices = index_with_ids.search(query_embedding, n)

    results = []
    for i in range(n):
        similarity = similarities[0][i]
        index_id = indices[0][i]
        results.append((enhanced_dataframe.loc[index_id, "text"], similarity))

    return results

tag重新排序以獲取最相關的匹配項

從 FAISS 索引檢索結果後,我們將把結果集發送到 jina_rerank 函數,為所有回答分配相關性分數,並按相關性返回排序後的結果列表。

讓我們使用一個需要大量語義理解的查詢來測試我們的解決方案:

query = "What are some jazz songs that reached the top of the music charts in 1960s?"
search_results = find_similar_texts(query)

most_relevant_results = jina_rerank(query, search_results)
pprint.pprint(most_relevant_results)

以下是最相關的結果:

[{'id': 'c26a67d979cb73474e9f80221b14b5c9',
  'index': 0,
  'document': {'id': 'd2183fd857661fbf9ca60a22e91888a0',
   'text': 'An instrumental version by Heywood and Hugo Winterhalter reached No. 2 on the Billboard Hot 100 chart and No. 7 on the R&B chart in 1956. A version sung by Andy Williams was also popular that year. The tune has been covered by a number of jazz performers beginning in the 1960s.'},
  'relevance_score': 0.7132052183151245,
  'usage': {'id': '037b9d22a5f13b68258ab51cbab1a7ad', 'total_tokens': 64}},
 {'id': 'a9205e69a4e76ca49717b8497a2798bf',
  'index': 4,
  'document': {'id': '25e78e92da17f01df111a7ed2716b057',
   'text': '"Take Five" is a jazz standard composed by Paul Desmond and originally recorded by the Dave Brubeck Quartet for their album Time Out on July 1, 1959. Two years later it became a surprise hit and the biggest-selling jazz single ever. The single was inducted into the Grammy Hall of Fame in 1996. It became the first jazz single to surpass a million in sales.'},
  'relevance_score': 0.204337015748024,
  'usage': {'id': '6d55f32b339b83350ffb9489fbf31f5d', 'total_tokens': 80}},
 {'id': '50a610653b307f6f1ae6ec796b72ca83',
  'index': 9,
  'document': {'id': '70278633234c32775b1a28b364f6783a',
   'text': 'Oh, You Crazy Moon is a jazz standard by Jimmy Van Heusen, with lyrics by Johnny Burke. It was recorded by Mel Torme in 1960 and Frank Sinatra in 1965.'},
  'relevance_score': 0.16270869970321655,
  'usage': {'id': '79eabc46bf3c659d3ad3e4d4d7e7a8f2', 'total_tokens': 40}}]

就這樣了。你可以用不同的查詢自己試試看,看看會得到什麼結果。

tagJina Embeddings 和 Rerankers:Azure 上的企業級 AI

Jina AI 致力於為企業帶來最先進的 AI,用於企業所需的實際應用。將我們的模型放在 Azure Marketplace 上消除了將 AI 添加到業務流程中的障礙,使整合變得簡單,並作為現有 Azure 計劃的一部分向你收費。

我們重視每一位正在使用或考慮使用 Jina Embeddings 和 Jina Reranker 的人的意見。透過我們的網站聯繫我們或加入我們的 Discord 頻道分享反饋,並隨時了解 Jina AI 快速發展的產品。我們相信包容性的 AI 生態系統,很樂意與你討論你的使用案例。

Jina AI - Your Search Foundation, Supercharged.
Jina AI offers best-in-class embeddings, reranker and prompt optimizer, enabling advanced multimodal AI.
Your Search Foundation, Supercharged.
Join the Jina AI Discord Server!
Check out the Jina AI community on Discord - hang out with 4981 other members and enjoy free voice and text chat.
Discord
類別:
技術博客
rss_feed

更多新聞
三月 11, 2026 • 7 分鐘的讀取量
從多模態大模型引導音訊向量模型
Han Xiao
Abstract illustration of a sound wave or heartbeat, formed by blue, orange, and gray dots on a white background.
三月 06, 2026 • 6 分鐘的讀取量
從原始數值辨識向量模型
Han Xiao
Fingerprint illustration made from numbers, showcasing digital and high-tech design on a light background.
九月 09, 2025 • 11 分鐘的讀取量
Llama.cpp 與 GGUF 中的多模態向量模型
Andrei Ungureanu
Alex C-G
Cartoon llama in the center of a white background, emitting laser-like beams from its eyes. The illustration creates a playfu
辦公室
location_on
加利福尼亞州桑尼維爾
710 Lakeway Dr, Ste 200, 桑尼維爾, 加州 94085, 美國
location_on
德國柏林
Prinzessinnenstraße 19-20,10969 柏林,德國
搜索底座
讀取器
向量模型
重排器
獲取 Jina API 密鑰
速率限制
API 狀態
公司
關於我們
聯繫銷售
新聞
實習生項目
下載 Jina 標誌
open_in_new
下載 Elastic 徽標
open_in_new
條款
安全
條款及條件
隱私
管理 Cookie
email
Elastic Jina AI © 2020-2026.