colbertv2-camembert-L4-mmarcoFR

antoinelouis
Similitud de oraciones

Este es un modelo ligero de ColBERTv2 para francés que puede ser utilizado para búsqueda semántica. Codifica consultas y pasajes en matrices de representaciones a nivel de tokens y encuentra eficientemente pasajes que coinciden contextualmente con la consulta utilizando operadores de similaridad de vectores escalables (MaxSim). El modelo está optimizado para búsqueda de pasajes y evaluación en el conjunto de datos mMARCO-fr, logrando altos niveles de precisión en varias métricas de recuperación.

Como usar

Aquí hay algunos ejemplos para usar el modelo con RAGatouille o ColBERT-AI.

Usando RAGatouille

pip install -U ragatouille
from ragatouille import RAGPretrainedModel

index_name: str = "my_index" # El nombre de tu índice, es decir, el nombre de tu base de datos de vectores
documents: list = ["Ceci est un premier document.", "Voici un second document.", "etc."] # Corpus

# Paso 1: Indexación.
RAG = RAGPretrainedModel.from_pretrained("antoinelouis/colbertv2-camembert-L4-mmarcoFR")
RAG.index(name=index_name, collection=documents)

# Paso 2: Búsqueda.
RAG = RAGPretrainedModel.from_index(index_name) # si no está cargado ya
RAG.search(query="Comment effectuer une recherche avec ColBERT ?", k=10)

Usando ColBERT-AI

pip install git+https://github.com/stanford-futuredata/ColBERT.git torch faiss-gpu==1.7.2
from colbert import Indexer, Searcher
from colbert.infra import Run, RunConfig

n_gpu: int = 1 # Configura el número de GPUs disponibles
experiment: str = "colbert" # Nombre de la carpeta donde se guardarán los registros e índices creados
index_name: str = "my_index" # El nombre de tu índice, es decir, el nombre de tu base de datos de vectores
documents: list = ["Ceci est un premier document.", "Voici un second document.", "etc."] # Corpus

# Paso 1: Indexación. Este paso codifica todos los pasajes en matrices, los almacena en disco y construye estructuras de datos para búsquedas eficientes.
with Run().context(RunConfig(nranks=n_gpu, experiment=experiment)):
    indexer = Indexer(checkpoint="antoinelouis/colbertv2-camembert-L4-mmarcoFR")
    indexer.index(name=index_name, collection=documents)

# Paso 2: Búsqueda. Dado el modelo y el índice, puedes emitir consultas sobre la colección para recuperar los mejores k pasajes para cada consulta.
with Run().context(RunConfig(nranks=n_gpu, experiment=experiment)):
    searcher = Searcher(index=index_name) # No necesitas especificar el checkpoint de nuevo, el nombre del modelo se almacena en el índice.
    results = searcher.search(query="Comment effectuer une recherche avec ColBERT ?", k=10)
# results: tupla de tuplas de longitud k que contiene ((passage_id, passage_rank, passage_score), ...)

Funcionalidades

Búsqueda de pasajes semántica
Operadores de similaridad de vectores escalables (MaxSim)
Optimizado para consultas y pasajes en francés
Codificación de consultas y pasajes en matrices de representaciones a nivel de tokens
Entrenado y evaluado en el conjunto de datos mMARCO-fr

Casos de uso

Búsqueda semántica en grandes colecciones de documentos en francés
Recuperación de pasajes relevantes para consultas específicas
Mejora en sistemas de recuperación de información en francés
Optimización de búsquedas contextuales en aplicaciones multilingües