数据集:
Cohere/wikipedia-22-12-en-embeddings
我们使用多语言22-12嵌入模型将 Wikipedia (en) 进行了编码。
要了解如何创建和预处理此数据集,请查看 Cohere/wikipedia-22-12 。
我们使用我们的多语言22-12嵌入模型计算标题+文本的嵌入,该模型是一种适用于100种语言中的语义搜索的先进模型。如果您想了解更多关于该模型的信息,请查看 cohere.ai multilingual embedding model 。
我们提供维基百科在许多不同语言中的嵌入: ar , de , en , es , fr , hi , it , ja , ko , simple english , zh ,
您可以在 Cohere/wikipedia-22-12 找到不带嵌入的维基百科数据集。
您可以像这样加载数据集:
from datasets import load_dataset docs = load_dataset(f"Cohere/wikipedia-22-12-en-embeddings", split="train")
或者您也可以在下载之前进行流式传输:
from datasets import load_dataset
docs = load_dataset(f"Cohere/wikipedia-22-12-en-embeddings", split="train", streaming=True)
for doc in docs:
docid = doc['id']
title = doc['title']
text = doc['text']
emb = doc['emb']
完整的搜索示例:
#Run: pip install cohere datasets
from datasets import load_dataset
import torch
import cohere
co = cohere.Client(f"<<COHERE_API_KEY>>") # Add your cohere API key from www.cohere.com
#Load at max 1000 documents + embeddings
max_docs = 1000
docs_stream = load_dataset(f"Cohere/wikipedia-22-12-en-embeddings", split="train", streaming=True)
docs = []
doc_embeddings = []
for doc in docs_stream:
docs.append(doc)
doc_embeddings.append(doc['emb'])
if len(docs) >= max_docs:
break
doc_embeddings = torch.tensor(doc_embeddings)
query = 'Who founded Youtube'
response = co.embed(texts=[query], model='multilingual-22-12')
query_embedding = response.embeddings
query_embedding = torch.tensor(query_embedding)
# Compute dot score between query embedding and document embeddings
dot_scores = torch.mm(query_embedding, doc_embeddings.transpose(0, 1))
top_k = torch.topk(dot_scores, k=3)
# Print results
print("Query:", query)
for doc_id in top_k.indices[0].tolist():
print(docs[doc_id]['title'])
print(docs[doc_id]['text'], "\n")
您可以在MIRACL数据集(语义搜索评估数据集)中找到性能信息: miracl-en-queries-22-12#performance