NeuML/txtai-wikipedia

NeuML
Similitud de oraciones

Este es un índice de embeddings de txtai para la edición en inglés de Wikipedia. Este índice se construye a partir del conjunto de datos de Wikipedia de enero de 2024. Solo se incluye el primer párrafo de la sección principal de cada artículo en el índice. Esto es similar a un resumen del artículo. También utiliza datos de Vistas de Página de Wikipedia para agregar un campo de percentil. El campo de percentil se puede usar para coincidir solo con las páginas visitadas comúnmente. txtai debe estar instalado para usar este modelo.

Como usar

La versión 5.4 agregó soporte para cargar índices de embeddings desde el Hugging Face Hub. Vea el siguiente ejemplo:

from txtai.embeddings import Embeddings

# Cargar el índice desde el HF Hub
embeddings = Embeddings()
embeddings.load(provider="huggingface-hub", container="neuml/txtai-wikipedia")

# Ejecutar una búsqueda
embeddings.search("Imperio Romano")

# Ejecutar una búsqueda que coincida solo con el 1% superior de los artículos
embeddings.search("
SELECT id, text, score, percentile FROM txtai WHERE similar('Boston') AND
percentile >= 0.99
")

Construir el índice:

Los siguientes pasos muestran cómo construir este índice. Estos scripts utilizan los datos más recientes disponibles a partir del 2024-01-01, actualice según corresponda.

Instalar dependencias necesarias para la construcción:

pip install txtchat mwparserfromhell datasets

Descargar y construir la base de datos de vistas de página:

mkdir -p pageviews/data
wget -P pageviews/data https://dumps.wikimedia.org/other/pageview_complete/monthly/2023/2023-12/pageviews-202312-user.bz2
python -m txtchat.data.wikipedia.views -p en.wikipedia -v pageviews

Construir el conjunto de datos de Wikipedia:

from datasets import load_dataset

# Fecha del volcado de datos de https://dumps.wikimedia.org/enwiki/
date = "20240101"

# Construir y guardar el conjunto de datos
ds = load_dataset("neuml/wikipedia", language="en", date=date)
ds.save_to_disk(f"wikipedia-{date}")

Construir el índice txtai-wikipedia:

python -m txtchat.data.wikipedia.index \
-d wikipedia-20240101 \
-o txtai-wikipedia \
-v pageviews/pageviews.sqlite

Funcionalidades

Índice de embeddings de txtai
Incluye solo el primer párrafo de cada artículo
Usa datos de Vistas de Página de Wikipedia para agregar un campo de percentil
Apoyo para cargar índices de embeddings desde el Hugging Face Hub

Casos de uso

Fuente de contexto basada en hechos para la generación aumentada por recuperación (RAG)
Pasar los resultados de búsqueda a prompts de LLM para responder preguntas