Cohere 发布最先进的多模态人工智能搜索模型,为图像数据释放真正的商业价值。
Embed 3 是我们业界领先的人工智能搜索模型,现在已实现多模态化。 这一进步使企业能够从存储在图像中的大量数据中挖掘出真正的价值。 企业现在可以建立系统,准确、快速地搜索重要的多模态资产,如复杂的报告、产品目录和设计文件,从而提高员工的工作效率。 Embed 3 是目前市场上功能最全面的多模式嵌入模型。
更快地找到见解
嵌入模型是现代企业人工智能工具包中的重要工具。 可以将这些模型视为智能搜索应用的引擎,帮助员工和客户在海量数据中快速定位特定信息。
“Embed 3 is an essential part of our search and retrieval stack, ensuring we’re able to find relevant information and provide accurate answers in our end-user HR application. The fact that it works across 100+ languages helps us serve our global customer base.” - Willson Cross, Founder & CEO at Borderless AI
Embed 3 是我们搜索和检索堆栈的重要组成部分,确保我们能够在最终用户人力资源应用程序中找到相关信息并提供准确答案。 事实上,Embed 3 适用于 100 多种语言,这有助于我们为全球客户群提供服务。
在幕后,Embed 3 通过将输入数据转换为代表数据含义的长数字串来实现这一目标。 然后将这些数字表示相互比较,以确定异同。 Embed 3 将文本和图像嵌入放在同一个矢量空间中,以获得综合体验。
为了便于说明,我们对这一视觉效果进行了简化。 实际上,数据的数字表示(在输出列中可以看到)要长得多,存储它们的向量空间的维数也更高。
这种相似性比较使应用程序能够检索与最终用户查询相关的企业数据。 Embed 3 不仅是语义搜索系统的基本组成部分,而且在检索增强生成(RAG)系统中也非常有用,因为它可以确保生成模型(如我们的 Command R 系列)具有相关的业务背景,为其响应提供信息。
所有行业和规模的企业都能从多模态人工智能搜索中受益。 我们发现客户对现实世界中的使用案例特别感兴趣,其中包括:
- 图形和图表: 可视化表示是理解复杂数据的关键。 现在,用户可以毫不费力地找到合适的图表,为业务决策提供依据。 只需描述具体的见解,Embed 3 就会检索相关的图表,使各团队员工的数据驱动决策更加高效。
- 电子商务产品目录: 传统的搜索方法往往限制客户通过基于文本的产品描述来查找产品。 Embed 3 改变了这种搜索体验。 零售商可以构建除文字描述外还能搜索产品图片的应用程序,为购物者创造与众不同的体验,提高转换率。
- 设计文件和模板: 设计人员经常使用庞大的资产库,依靠记忆或严格的命名约定来组织视觉效果。 Embed 3 可以根据文字描述轻松找到特定的用户界面模型、可视化模板和演示幻灯片。 这简化了创意流程。
在越来越多的企业希望利用数据来推动成果的时候,Embed 3 提供了一种竞争优势,可以加快生产效率并改善客户体验。
行业领先的精度和性能
Embed 3 是目前最通用的多模态嵌入模型,在面向企业和开发人员的各种检索任务中具有一流的准确性。
所有文本到图像基准都使用 Recall@10 进行评估;文本到文本基准则使用 NDCG@10 进行评估。 文本到文本基准准确率基于 BEIR,这是一个侧重于域外检索的数据集(14 个数据集)。 通用文本到图片的基准准确率基于 Flickr 和 CoCo。电子商务基准准确率基于产品目录和时尚目录数据集的组合。 设计文件基准准确度基于内部构建的产品设计检索数据集。 图表基准准确度基于内部构建的业务报告和演示文稿。
Embed 3 中的文本和图像编码器共享一个统一的潜在空间。 这样,用户就可以将图像和文本数据包含在一个数据库中,大大降低了维护两个独立数据库的复杂性。 我们的模型在混合模式搜索方面也具有独特的性能。 其他模型倾向于将文本和图像数据分门别类,从而导致搜索结果偏向于纯文本数据。 而嵌入式 3 则优先考虑数据背后的意义,不偏向于特定的模式,以确保获得最相关的结果。
检索准确率通过 NDCG@10 进行评估。 在这项评估中,我们将 Flickr 图像语料库与 500 个无关文本块一起嵌入。 然后,我们使用 Flickr 查询及其对应的图片计算 NDCG@10。 CLIP 得分较低的原因是,CLIP 将无关文本排在了相关图片之上。
除了领先的准确性和易用性,Embed 3 还一如既往地提供有用的企业搜索功能。 例如,该模型在嘈杂的真实世界数据中保持了强劲的性能,并提供了领先的多语言性能,涵盖 100 多种语言。
使用 NDCG@10 对检索准确性进行了评估。 在这次评估中,我们嵌入了包含文本和视觉组件的信息图表图像。 这些信息图表中的文字包括德语、西班牙语、葡萄牙语、越南语、意大利语、俄语、匈牙利语、法语、中文、韩语和日语。 查询使用的语言与目标多模态特征相同。
pip install -U cohere
# This snippet shows and example how to use the Cohere Embed V3 models for semantic search.
# Make sure to have the Cohere SDK in at least v4.30 install: pip install -U cohere
# Get your API key from: www.cohere.com
import cohere
import numpy as npcohere_key = "{YOUR_COHERE_API_KEY}" #Get your API key from www.cohere.com
co = cohere.Client(cohere_key)docs = ["The capital of France is Paris","PyTorch is a machine learning framework based on the Torch library.","The average cat lifespan is between 13-17 years"]#Encode your documents with input type 'search_document'
doc_emb = co.embed(docs, input_type="search_document", model="embed-multilingual-v3.0").embeddings
doc_emb = np.asarray(doc_emb)#Encode your query with input type 'search_query'
query = "What is Pytorch"
query_emb = co.embed([query], input_type="search_query", model="embed-multilingual-v3.0").embeddings
query_emb = np.asarray(query_emb)
query_emb.shape#Compute the dot product between query embedding and document embedding
scores = np.dot(query_emb, doc_emb.T)[0]#Find the highest scores
max_idx = np.argsort(-scores)print(f"Query: {query}")
for idx in max_idx:print(f"Score: {scores[idx]:.2f}")print(docs[idx])print("--------")
以上是https://huggingface.co/Cohere/Cohere-embed-multilingual-v3.0中的演示
# This snippet shows and example how to use the Cohere Embed V3 models for semantic search.
# Make sure to have the Cohere SDK in at least v4.30 install: pip install -U cohere
# Get your API key from: www.cohere.com
import cohere
import numpy as npcohere_key = "{YOUR_COHERE_API_KEY}" #Get your API key from www.cohere.com
co = cohere.Client(cohere_key)docs = ["The capital of France is Paris","PyTorch is a machine learning framework based on the Torch library.","The average cat lifespan is between 13-17 years"]#Encode your documents with input type 'search_document'
doc_emb = co.embed(docs, input_type="search_document", model="embed-english-v3.0").embeddings
doc_emb = np.asarray(doc_emb)#Encode your query with input type 'search_query'
query = "What is Pytorch"
query_emb = co.embed([query], input_type="search_query", model="embed-english-v3.0").embeddings
query_emb = np.asarray(query_emb)
query_emb.shape#Compute the dot product between query embedding and document embedding
scores = np.dot(query_emb, doc_emb.T)[0]#Find the highest scores
max_idx = np.argsort(-scores)print(f"Query: {query}")
for idx in max_idx:print(f"Score: {scores[idx]:.2f}")print(docs[idx])print("--------")
以上是https://huggingface.co/Cohere/Cohere-embed-english-v3.0中的演示
注意:建议使用官方的 Free API