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