Elastic
Jina AI
Modèles
API
keyboard_arrow_down
Lecteur
Lisez les URL et effectuez des recherches sur le Web pour de meilleurs LLM de base.
Intégrations
Intégrations multimodales et multilingues.
Reclasseur
Outil de reclassement pour optimiser la pertinence des résultats de recherche.
Elastic Inference Service
Exécutez les modèles Jina nativement au sein d'Elasticsearch.
MCP
terminal
CLI
article
llms.txt
smart_toy
Agents
data_object
Schéma
menu_book
Documents
Se connecter
login
Conçu pour la Confidentialité et la Performance
Intégration Transparente et Haute Évolutivité
Démarrer avec Azure
Tutoriel : Rechercher des Chansons
Jina Embeddings et Rerankers : L'IA prête pour l'entreprise sur Azure
Blog technique
avril 29, 2024

Jina Embeddings et Reranker sur Azure : Solutions d'IA évolutives et prêtes pour l'entreprise

Les Embeddings et Rerankers de Jina sont désormais disponibles sur Azure Marketplace. Les entreprises qui privilégient la confidentialité et la sécurité peuvent maintenant facilement intégrer les modèles de pointe de Jina AI directement dans leur écosystème Azure existant.
Futuristic black background with a purple 3D grid, featuring the "Embeddings" and "Reranker" logos with a stylized "A".
Susana Guzmán • 7 minutes lues

Les Embeddings et Rerankers Jina sont maintenant disponibles sur Azure Marketplace. Cette intégration est importante pour les entreprises où la sécurité des données et l'efficacité opérationnelle sont des priorités absolues.

Jina AI Launches World's First Open-Source 8K Text Embedding, Rivaling OpenAI
Jina AI introduces jina-embeddings-v2, the world's first open-source model boasting an 8K context length. Matching the prowess of OpenAI's proprietary models, this innovation is now publicly accessible on Huggingface, signaling a significant milestone in the landscape of text embeddings.
Maximizing Search Relevance and RAG Accuracy with Jina Reranker
Boost your search and RAG accuracy with Jina Reranker. Our new model improves the accuracy and relevance by 20% over simple vector search. Try it now for free!

Nous proposons sept modèles :

  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

tagConçu pour la Confidentialité et la Performance

Assurer la sécurité de vos données est notre priorité absolue. Notre partenariat avec Azure nous permet d'offrir des solutions d'IA qui répondent aux exigences de confidentialité des données et d'efficacité. Les normes de confidentialité inégalées d'Azure garantissent la protection la plus stricte de vos données, faisant de cette plateforme une solution de confiance pour les secteurs de la santé, de la finance et autres domaines nécessitant une protection critique des données. Si vous êtes déjà client Azure, vous pouvez bénéficier de tous les avantages des modèles de pointe Embedding et Reranker de Jina AI avec votre abonnement existant.

tagIntégration Transparente et Haute Évolutivité

Le déploiement sur Azure garantit non seulement la confidentialité mais offre également une intégration transparente avec vos services Azure existants. Cela permet une transition en douceur et vous permet d'adapter vos déploiements d'IA pour répondre aux demandes fluctuantes sans compromettre les performances.

tagDémarrer avec Azure

Dans ce tutoriel, nous allons créer une application de recherche pour la musique. Nous voulons effectuer des recherches non pas avec le titre exact de la chanson, mais avec une requête ambiguë qui teste vraiment la qualité de nos modèles de recherche fondamentaux.

Pour cela, la première étape consiste à tout configurer sur Azure.

tagS'inscrire sur Azure

Assurez-vous d'avoir un abonnement Azure avec un mode de paiement valide. Vous pouvez vous inscrire pour un compte sur la page d'accueil Azure si vous n'en avez pas déjà un.

tagDéployer les modèles Jina sur Azure

Sur l'Azure Marketplace, vous pouvez trouver tous les modèles d'embedding et de reranker de Jina AI en recherchant "jina". Choisissez celui qui correspond le mieux à vos besoins.

Screenshot 2024-04-17 at 15.12.54

Dans l'onglet Basics de la configuration du déploiement, vous devrez fournir quelques détails sur votre déploiement. Par défaut, la configuration est définie pour utiliser quatre cœurs CPU et 8 Go de mémoire. Selon vos besoins spécifiques, vous pouvez ajuster ces paramètres pour mieux correspondre aux exigences de votre application.

Screenshot 2024-04-23 at 16.41.29

Cela lancera le déploiement. Cela peut prendre plusieurs minutes. Après cela, vous devriez voir l'écran suivant :

Screenshot 2024-04-17 at 15.16.21

Vos modèles sont maintenant déployés et prêts à être utilisés.

tagTutoriel : Rechercher des Chansons

Dans ce tutoriel, vous utiliserez vos déploiements Azure pour construire un moteur de recherche de base pour une collection de fichiers de données sur la musique populaire.

💡
Vous pouvez également suivre ce tutoriel sur Colab ou le télécharger et l'exécuter dans votre propre notebook.

tagCharger le Dataset

from datasets import load_dataset

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

Cela charge le dataset WikiMusicText (WikiMT).

tagDémarrer les points de terminaison Jina Embeddings v2 et Reranker

Tout d'abord, déployez les points de terminaison embedding et reranker dans le portail Azure. Vous devrez décider quelle région utiliser et attribuer un préfixe DNS au service d'embedding et un autre au service de reranker. Ensuite, stockez ces informations dans les variables embeddings_url et reranker_url dans le code ci-dessous.

Les fonctions jina_embed et jina_rerank génèrent des embeddings de texte et effectuent des reclassements en faisant des requêtes à une API hébergée sur Azure.

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"]

tagCharger le jeu de données

Ces données ont été collectées pour l'entraînement de modèles d'IA et sont donc divisées en jeux de données d'entraînement et de test. Pour plus de simplicité, nous n'utiliserons que les données d'entraînement dans ce tutoriel. Le code ci-dessous convertit les données d'entraînement en DataFrame pandas :

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

tagGénérer les embeddings et créer un index dans FAISS

Cette fonction traite les données textuelles et extrait les caractéristiques sous forme d'embeddings. Cela prendra un certain temps.

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)

Ce code parcourt chaque entrée dans la colonne text du DataFrame et appelle jina_embed() pour obtenir un embedding. Nous stockons les embeddings sous forme de tableaux NumPy dans la liste all_embeddings. Ils sont ensuite ajoutés dans une nouvelle colonne du DataFrame appelée embeddings.

Nous pouvons visualiser ce que nous venons de faire en affichant la valeur de enhanced_dataframe :

Screenshot 2024-04-22 at 12.39.07

La dernière colonne contient les embeddings sous une forme lisible.

Maintenant, nous devons créer un index FAISS (Facebook AI Similarity Search) pour stocker et rechercher dans les embeddings :

import faiss

dim = 768  # dimension des embeddings Jina v2
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)

Ce code normalise également les vecteurs d'embedding pour simplifier et accélérer la recherche.

tagRécupérer les correspondances pour une requête

La fonction find_similar_texts recherche dans l'index que vous venez de créer les correspondances les plus proches :

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

tagReclasser pour obtenir les correspondances les plus pertinentes

Après avoir récupéré les résultats de l'index FAISS, nous enverrons l'ensemble des résultats à la fonction jina_rerank pour attribuer un score de pertinence à toutes les réponses, et retourner une liste triée des résultats par pertinence.

Utilisons une requête qui nécessite beaucoup de compréhension sémantique pour tester notre solution :

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)

Voici les résultats les plus pertinents :

[{'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}}]

Et voilà. Essayez vous-même avec différentes requêtes et voyez quels résultats vous obtenez.

tagJina Embeddings et Rerankers : L'IA prête pour l'entreprise sur Azure

Jina AI se concentre sur l'apport de l'IA de pointe aux entreprises pour des applications réelles dont les entreprises ont besoin. Placer nos modèles sur Azure Marketplace supprime les obstacles à l'ajout d'IA à vos processus métier, rendant l'intégration simple et la facturation dans le cadre de votre plan Azure existant.

Nous apprécions les retours de tous ceux qui utilisent ou envisagent d'utiliser Jina Embeddings et Jina Reranker. Contactez-nous via notre site web ou rejoignez notre canal Discord pour partager vos retours et rester informé des offres en rapide évolution de Jina AI. Nous croyons en un écosystème d'IA inclusif et aimerions discuter de vos cas d'utilisation.

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
Catégories:
Blog technique
rss_feed

En savoir plus
mars 11, 2026 • 7 minutes lues
Bootstrapping Audio Embeddings from Multimodal LLMs
Han Xiao
Abstract illustration of a sound wave or heartbeat, formed by blue, orange, and gray dots on a white background.
mars 06, 2026 • 6 minutes lues
Identifying Embedding Models from Raw Numerical Values
Han Xiao
Fingerprint illustration made from numbers, showcasing digital and high-tech design on a light background.
septembre 09, 2025 • 11 minutes lues
Multimodal Embeddings in Llama.cpp and 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
Langue / thème actuel
Search Foundation
Lecteur
Intégrations
Reclasseur
Obtenir la clé API Jina
Limite de taux
À propos de nous
Nouvelles
Télécharger le logo Jina
open_in_new
Télécharger le logo Elastic
open_in_new
Statut de l'API
Elastic © 2026.Sécuritétermes et conditionsConfidentialitéGérer les cookiesNe vendez ni ne partagez mes informations personnelles
Ce site web et l'ensemble de son contenu, logiciels, produits et services sont destinés exclusivement à un usage professionnel. Leur utilisation par les consommateurs n'est ni prévue ni autorisée.