È importante stare al passo con le nuove tecnologie di recupero delle informazioni, ma è altrettanto importante non compromettere componenti collaudati che hanno già dimostrato il loro valore aziendale.
Nonostante la crescita della ricerca vettoriale basata su AI, la realtà è che la maggior parte delle aziende si affida ancora a tecnologie di ricerca tradizionali, spesso utilizzando varianti dell'algoritmo BM25. È una tecnologia affidabile e collaudata nel tempo. Passare a un sistema completamente nuovo non è solo un grande passo, ma spesso si rivela impraticabile, richiedendo risorse sostanziali e una revisione completa delle operazioni. Inoltre, BM25 è un pilastro dei motori di ricerca lessicale, comunemente impiegato in piattaforme di ricerca diffuse come Elasticsearch e Solr. Offre già risultati efficaci per molti casi d'uso.
Molte aziende esitano quindi a passare completamente alla ricerca neurale, nonostante le prove convincenti che la ricerca basata su AI migliori significativamente la soddisfazione degli utenti e la qualità dei risultati.
tagRiordinamento Neurale Indipendente dal Recupero
Reranker è un'aggiunta rivoluzionaria nel panorama dei sistemi di ricerca. Progettato per migliorare il valore dei motori di ricerca esistenti come Elasticsearch, funge da strato aggiuntivo, operando come un add-on per raffinare la qualità della ricerca. Non ha bisogno di sapere a quale tecnologia di ricerca è collegato, prende semplicemente una lista di corrispondenze e le riordina per migliorarle.
Jina Reranker aggiunge un livello più profondo di comprensione alle tecnologie di ricerca tradizionali. Algoritmi come BM25 fanno un buon lavoro nel recuperare documenti basati sulla frequenza dei termini ma faticano a valutare il significato dei testi che recuperano alla luce dell'intento dell'utente. Qui è dove eccelle l'AI: Reranker aiuta a produrre risultati meglio allineati con ciò che gli utenti stanno cercando.
Pertanto, per le aziende che vogliono portare i potenti vantaggi dei modelli AI nei loro framework di ricerca, aggiungere Jina Reranker può essere una decisione saggia e non comporta l'onere di sostituire un'infrastruttura di ricerca esistente. Si tratta di raffinare i risultati di ricerca per renderli non solo accettabili, ma eccezionali: più rilevanti e più accurati.
tagPerché Jina Reranker?
Tra i modelli di reranking, i modelli Jina Reranker si distinguono come leader con punteggi all'avanguardia nei benchmark di performance.

In questo articolo, mostreremo come implementare un sistema di raccomandazione per piattaforme e-commerce. Prima analizzeremo le prestazioni di un retriever BM25 da solo. Poi aggiungeremo Jina Reranker alla pipeline di recupero e vedremo come i risultati diventano più rilevanti ed efficaci.
tagAggiungi Jina Reranker al Tuo Workflow Esistente:

Ecco una panoramica del workflow aggiornato che integra Jina Reranker:
- Recupero Iniziale: Quando viene inserita una query, il motore di ricerca BM25 recupera i documenti rilevanti basandosi principalmente sulla corrispondenza dei termini della query con i documenti.
- Riordinamento: jina-reranker-v1-base-en prende questi risultati iniziali e utilizza l'AI all'avanguardia per valutare la rilevanza di ciascun documento recuperato alla luce della query dell'utente.
- Restituzione dei Risultati: Jina Reranker quindi riordina i risultati della ricerca, assicurando che i documenti più rilevanti siano presentati in cima.
La nostra API facile da usare e la documentazione completa ti guideranno attraverso l'intero processo, richiedendo solo modifiche minime al tuo sistema.

tagVedi in Azione: Migliorare la Ricerca E-commerce con Jina Reranker

Esaminiamo un esempio pratico di e-commerce per dimostrare l'impatto di Jina Reranker nelle applicazioni del mondo reale. L'obiettivo qui è cercare listini prodotti basati sulla query di un utente.
Per illustrare questo, configureremo due pipeline di ricerca utilizzando il popolare framework di ricerca e orchestrazione AI Haystack by deepset. La prima pipeline usa BM25 da solo. La seconda integra jina-reranker-v1-base-en nel sistema BM25. Puoi facilmente sostituire il componente InMemoryDocumentStore di Haystack con ElasticsearchDocumentStore per fare lo stesso esperimento se hai un cluster Elasticsearch esistente.
Useremo un dataset di esempio da Kaggle. Puoi scaricare direttamente il CSV qui. Questo confronto fianco a fianco mostra i miglioramenti apportati dall'incorporazione di Jina Reranker nel workflow di ricerca.
Per iniziare, installa tutti i componenti necessari:
pip install --q haystack-ai jina-haystack
Imposta la Jina API Key come variabile d'ambiente. Puoi generarne una qui.
import os
import getpass
os.environ["JINA_API_KEY"] = getpass.getpass()
Query per un prodotto basata sui nomi dei prodotti. Per esempio:
short_query = "Nightwear for Women"
Trasforma ogni riga CSV in un Document:
import csv
from haystack import Document
documents = []
with open("fashion_data.csv") as f:
data = csv.reader(f, delimiter=";")
for row in data:
row_text = ''.join(row)
row_doc = Document(content=row_text, meta={"prod_id": row[0], "prod_image": row[1]})
documents.append(row_doc)
tagPipeline #1: Solo BM25
from haystack import Pipeline
from haystack.document_stores.types import DuplicatePolicy
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack.components.retrievers.in_memory import InMemoryBM25Retriever
document_store=InMemoryDocumentStore()
document_store.write_documents(documents=documents, policy=DuplicatePolicy.OVERWRITE)
retriever = InMemoryBM25Retriever(document_store=document_store)
rag_pipeline = Pipeline()
rag_pipeline.add_component("retriever", retriever)
result = rag_pipeline.run(
{
"retriever": {"query": query, "top_k": 50},
}
)
for doc in result["retriever"]["documents"]:
print("Product ID:", doc.meta["prod_id"])
print("Product Image:", doc.meta["prod_image"])
print("Score:", doc.score)
print("-"*100)
Ecco le miniature dei 50 risultati restituiti da BM25:

Possiamo vedere che i risultati sono relativi all'abbigliamento da notte, corrispondendo parzialmente alla query, ma le corrispondenze più rilevanti (immagini in grassetto nella griglia sopra) sembrano perdersi tra i numerosi prodotti recuperati da BM25. In pratica, utilizzare solo BM25 significa che un utente riceverebbe principalmente risultati non correlati in cima alla pagina.
tagPipeline #2: BM25 + Jina Reranker
Lo script seguente illustra come costruire questa pipeline passo dopo passo:
from haystack_integrations.components.rankers.jina import JinaRanker
ranker_retriever = InMemoryBM25Retriever(document_store=document_store)
ranker = JinaRanker()
ranker_pipeline = Pipeline()
ranker_pipeline.add_component("ranker_retriever", ranker_retriever)
ranker_pipeline.add_component("ranker", ranker)
ranker_pipeline.connect("ranker_retriever.documents", "ranker.documents")
result = ranker_pipeline.run(
{
"ranker_retriever": {"query": query, "top_k": 50},
"ranker": {"query": query, "top_k": 10},
}
)
for doc in result["ranker"]["documents"]:
print("Product ID:", doc.meta["prod_id"])
print("Product Image:", doc.meta["prod_image"])
print("Score:", doc.score)
print("-"*100)
Ecco i primi 10 risultati restituiti da Jina Reranker:

Rispetto a BM25, Jina Reranker restituisce una raccolta di risposte molto più pertinente. Nel nostro contesto e-commerce, questo si traduce in una migliore esperienza utente e in una maggiore probabilità di acquisti.
tagImpatto dell'Integrazione di Jina Reranker con BM25
Seguendo il nostro caso studio nel dominio e-commerce, è chiaro che l'integrazione di Jina Reranker con i motori di ricerca tradizionali come Elasticsearch segna un salto significativo nella tecnologia di ricerca. Ecco una panoramica di come questa integrazione migliora l'esperienza di ricerca:
- Tasso di Successo Aumentato: La fusione di Jina Reranker e la ricerca tradizionale ha notevolmente aumentato la frequenza di risultati rilevanti. Questo rende il processo di ricerca più accurato, allineandosi strettamente alle query degli utenti.
- Esperienza Utente Migliorata: C'è un miglioramento tangibile nella qualità dei risultati di ricerca. Questo indica che le capacità combinate di Jina Reranker e BM25 sono meglio allineate con le esigenze specifiche degli utenti, migliorando la loro esperienza di ricerca complessiva.
- Alta Precisione per Query Complesse: Quando si tratta di ricerche difficili, questa sinergia assicura una comprensione più dettagliata sia della query che dei contenuti correlati. Questo si traduce in risultati più precisi e accurati.
tagPronti a Migliorare la Vostra Esperienza di Ricerca?
Jina Reranker è la soluzione ideale per aumentare la rilevanza dei vostri risultati di ricerca. Si integra perfettamente con il vostro sistema di ricerca esistente e può essere implementato rapidamente con una programmazione minima.
Se siete incuriositi da quanto avete letto finora e desiderosi di vedere la differenza che Jina Reranker può fare, perché non provarlo? Iniziate il vostro percorso e testimoniate il potere trasformativo dei modelli Search Foundation di Jina AI nel vostro ambiente.







