SONAR

GitHub
883 100 较难 1 次阅读 4天前NOASSERTION语言模型音频其他
AI 解读 由 AI 自动生成,仅供参考

SONAR 是由 Meta 推出的新一代多语言、多模态句子嵌入模型,旨在构建一个统一的固定维度向量空间。它能够同时处理文本和语音数据,将不同语言和模态的句子映射到同一空间中,从而高效解决跨语言语义搜索、零样本机器翻译(包括语音转文本)等难题。相比 LASER3 和 LabSE 等现有方案,SONAR 在多语言相似度检索任务上表现更为出色。

该工具的核心亮点在于其“语言无关”与“模态融合”的特性。通过配套的编码器和解码器套件,用户不仅能进行高质量的文本向量化,还能直接将语音片段嵌入同一空间,实现跨模态的无缝交互。此外,它支持多种语言的零样本组合,无需针对特定语言对重新训练即可实现翻译功能。

SONAR 主要面向自然语言处理领域的研究人员、AI 开发者以及需要构建多语言应用的技术团队。虽然普通用户难以直接调用其代码接口,但可受益于基于 SONAR 开发的翻译软件或智能语音助手。使用时需注意,SONAR 依赖 Fairseq2 框架,安装时需严格匹配 PyTorch 和 CUDA 版本,适合具备一定深度学习环境配置经验的开发者上手探索。

使用场景

某跨国电商平台的客服团队需要构建一个智能工单系统,自动将全球用户提交的语音留言和文本消息归类到统一的知识库中。

没有 SONAR 时

  • 多模态处理割裂:团队必须分别部署独立的语音识别(ASR)模型和文本嵌入模型,无法直接比较语音片段与文本段落的语义相似度。
  • 小语种支持匮乏:对于东南亚或非洲的小语种,缺乏高质量的预训练模型,导致非英语工单的匹配准确率极低。
  • 开发维护成本高:需要为每种语言组合单独训练翻译或对齐模型,零样本(Zero-shot)场景下完全无法工作,系统扩展性差。
  • 检索效率低下:由于特征空间不统一,跨语言搜索需要先翻译再检索,不仅延迟高,还容易因翻译错误丢失原始语义。

使用 SONAR 后

  • 统一向量空间:SONAR 将语音和文本直接映射到同一个固定大小的向量空间,系统可直接计算语音留言与文本文档的相似度,无需中间转换。
  • 真正的语言无关:凭借强大的多语言能力,即使是训练数据稀缺的小语种,也能获得高精度的语义表示,显著提升全球工单处理质量。
  • 零样本灵活泛化:利用 SONAR 的解码器能力,系统能直接处理未见过的“语言 - 模态”组合(如斯瓦希里语语音搜英语文档),无需额外训练。
  • 架构极简高效:只需一套编码器即可替代原本复杂的流水线,大幅降低推理延迟和服务器资源消耗,让实时跨模态检索成为可能。

SONAR 通过打破语言与模态的壁垒,让企业能够以极低的成本构建真正全球化、多模态统一的智能语义检索系统。

运行环境要求

操作系统
  • 未说明
GPU
  • 非必需(默认 CPU,但推荐 GPU 以加速)
  • 需匹配 Fairseq2 变体的 CUDA 版本(如 cu124),具体显存需求未说明
内存

未说明

依赖
notes1. 安装前必须确保已安装与本地 PyTorch 及 CUDA 版本精确匹配的 fairseq2 变体,否则需源码编译。2. 默认模型加载至 CPU 速度较慢,建议在初始化时指定 device='cuda' 和 dtype=torch.float16 以启用 GPU 加速。3. 首次运行会自动下载模型至 $TORCH_HOME/hub 目录。4. 语音处理要求音频采样率为 16kHz。5. 注意区分 pip 上的 'sonar' 包,本项目包名为 'sonar-space'。
python未说明
sonar-space>=0.5.0
fairseq2>=0.5.2
torch (版本需与 fairseq2 严格匹配)
torchaudio
SONAR hero image

快速开始

SONAR

[论文] [演示]

我们推出了 SONAR,这是一个全新的多语言、多模态的固定尺寸句子嵌入空间,配备了一整套语音和文本编码器与解码器。在 xsim 和 xsim++ 多语言相似度搜索任务上,SONAR 的表现显著优于现有的句子嵌入方法,如 LASER3 和 LabSE。

通过在语音转录数据上以师生学习的方式训练的语言特定语音编码器,可以将语音片段嵌入到同一个 SONAR 嵌入空间中。我们还提供了一个通用的文本解码器,使得我们可以进行文本到文本以及语音到文本的机器翻译,甚至支持零样本的语言和模态组合。

SONAR 代表 Sentence-level multimOdal and laNguage-Agnostic Representations(句子级多模态且语言无关的表示)。

支持的语言列表(以及下载链接)请见下方 此处

SONAR 架构:


文本结果


语音结果


安装

您可以使用 pip install sonar-space 来安装 SONAR。请注意,PyPI 上还有一个名为 sonar 的包,但它并非本项目,请务必在依赖项中使用 sonar-space

需要注意的是,SONAR 依赖于 Fairseq2,其版本必须与 pytorchCUDA 的版本精确匹配(可选版本请参见 这里)。您可以通过运行 pip show torch 来查看已安装的 PyTorch 版本。例如,如果显示为 2.6.0+cu124, 则应从以下源安装 Fairseq2:

pip install fairseq2 --extra-index-url https://fair.pkg.atmeta.com/fairseq2/whl/pt2.6.0/cu124

如果 Fairseq2 没有提供适用于您机器的构建版本,请参考该项目的 README 文件,在本地自行构建。

我们建议在正确安装了 fairseq2 后再安装 SONAR。目前,SONAR 依赖于 fairseq2>=0.5.2 的稳定版本(可能存在细微差异)。

如果您希望手动安装 SONAR,可以按如下步骤进行本地安装:

pip install --upgrade pip
pip install -e .

版本说明

遗憾的是,SONAR 的代码与 Fairseq2 的代码紧密耦合,因此只有特定版本之间才能相互兼容:

  • sonar-space~=0.5.0(当前版本)需要 fairseq2>=0.5.2
  • sonar-space~=0.4.0 需要 fairseq2~=0.4.0
  • sonar-space~=0.2.0 需要 fairseq2~=0.2.0

未来,随着 Fairseq2 接口的进一步稳定,我们希望能够降低版本依赖的紧耦合程度。

使用方法

首次使用以下命令时,Fairseq2 会自动将模型下载到您的 $TORCH_HOME/hub 目录下。

使用 SONAR 计算文本句子嵌入:

from sonar.inference_pipelines.text import TextToEmbeddingModelPipeline
t2vec_model = TextToEmbeddingModelPipeline(encoder="text_sonar_basic_encoder",
                                           tokenizer="text_sonar_basic_encoder")
sentences = ['我的名字是 SONAR。', '我可以把句子嵌入到向量空间中。']
embeddings = t2vec_model.predict(sentences, source_lang="eng_Latn")
print(embeddings.shape)
# torch.Size([2, 1024])

请注意,默认情况下,所有 SONAR 模型都会加载到 CPU 设备上,速度相对较慢。如果您希望使用 GPU,则应在初始化模型时指定 device 参数(这适用于所有模型)。同样地,您也可以传递 dtype 参数。例如:

import torch
from sonar.inference_pipelines.text import TextToEmbeddingModelPipeline

embedder = TextToEmbeddingModelPipeline(
  encoder="text_sonar_basic_encoder", 
  tokenizer="text_sonar_basic_encoder", 
  device=torch.device("cuda"),
  dtype=torch.float16,
)

从 SONAR 嵌入重建文本

from sonar.inference_pipelines.text import EmbeddingToTextModelPipeline
vec2text_model = EmbeddingToTextModelPipeline(decoder="text_sonar_basic_decoder",
                                              tokenizer="text_sonar_basic_encoder")
reconstructed = vec2text_model.predict(embeddings, target_lang="eng_Latn", max_seq_len=512)
# max_seq_len 是传递给 Fairseq2 BeamSearchSeq2SeqGenerator 的关键字参数。
print(reconstructed)
# ['我的名字是 SONAR。', '我可以把句子嵌入到向量空间中。']

默认情况下,SONAR 中的文本生成基于束搜索(BeamSearchSeq2SeqGenerator),束大小设置为 beam_size=5。如果传入 sampler 参数,则会改用 SamplingSeq2SeqGenerator。所有其他参数都会传递给生成器构造函数。例如:

from fairseq2.generation import TopPSampler, TopKSampler
embeddings = t2vec_model.predict(["Bonjour le monde!"] * 10, source_lang="fra_Latn")
vec2text_model.predict(embeddings, target_lang="eng_Latn", sampler=TopPSampler(0.99), max_seq_len=128)
# ['你好,世界!',
#  '嘿,大家好!',
#  '祝你一天愉快,世界!',
#  '你好,世界!',
#  '你好,人们。',
#  '世界各地的朋友们,大家好!',
#  '你好,世界。你好吗?',
#  '嘿,最近怎么样?',
#  '下午好,各位。',
#  '向世界问好!']
# 由于采用了随机采样,每次输出都会不同。

请注意,sampler 参数指示使用 SamplingSeq2SeqGenerator 而不是 BeamSearchSeq2SeqGenerator,而 max_seq_len 参数则传递给了 SamplingSeq2SeqGenerator 的构造函数。

使用 SONAR 进行文本翻译

from sonar.inference_pipelines.text import TextToTextModelPipeline
t2t_model = TextToTextModelPipeline(encoder="text_sonar_basic_encoder",
                                    decoder="text_sonar_basic_decoder",
                                    tokenizer="text_sonar_basic_encoder")  # 分词器同时关联编码器和解码器

sentences = ['我的名字是 SONAR。', '我可以把句子嵌入到向量空间中。']
t2t_model.predict(sentences, source_lang="eng_Latn", target_lang="fra_Latn")
# ['Mon nom est SONAR.', "Je peux intégrer les phrases dans l'espace vectoriel."]

使用 SONAR 计算语音句子嵌入

from sonar.inference_pipelines.speech import SpeechToEmbeddingModelPipeline
s2vec_model = SpeechToEmbeddingModelPipeline(encoder="sonar_speech_encoder_eng")

s2vec_model.predict(["./tests/integration_tests/data/audio_files/audio_1.wav",
                     "./tests/integration_tests/data/audio_files/audio_2.wav"]).shape
# torch.Size([2, 1024])
import torchaudio
inp, sr = torchaudio.load("./tests/integration_tests/data/audio_files/audio_1.wav")
assert sr == 16000, "采样率应为16kHz"

s2vec_model.predict([inp]).shape
# torch.Size([1, 1024])

使用 SONAR 进行语音转文本翻译

from sonar.inference_pipelines.speech import SpeechToTextModelPipeline

s2t_model = SpeechToTextModelPipeline(encoder="sonar_speech_encoder_eng",
                                      decoder="text_sonar_basic_decoder",
                                      tokenizer="text_sonar_basic_decoder")

import torchaudio
inp, sr = torchaudio.load("./tests/integration_tests/data/audio_files/audio_1.wav")
assert sr == 16000, "采样率应为16kHz"

# 传入已加载的音频文件
s2t_model.predict([inp], target_lang="eng_Latn")
# ['电视报道显示工厂冒出白烟。']

# 传入多个wav文件
s2t_model.predict(["./tests/integration_tests/data/audio_files/audio_1.wav",
                   "./tests/integration_tests/data/audio_files/audio_2.wav"], target_lang="eng_Latn")
# ['电视报道显示工厂冒出白烟。',
# '这些夫妇可以选择为他们的孩子制定领养计划。']

使用 BLASER 2.0 模型预测句子相似度

BLASER 2.0 是一个基于 SONAR 嵌入的机器翻译质量自动评估模型系列。 它们可以预测翻译与源句之间的跨语言语义相似度, (可选地,还可以使用参考译文)。

from sonar.inference_pipelines.text import TextToEmbeddingModelPipeline
from sonar.models.blaser.loader import load_blaser_model

blaser_ref = load_blaser_model("blaser_2_0_ref").eval()
blaser_qe = load_blaser_model("blaser_2_0_qe").eval()
text_embedder = TextToEmbeddingModelPipeline(encoder="text_sonar_basic_encoder", tokenizer="text_sonar_basic_encoder")

src_embs = text_embedder.predict(["Le chat s'assit sur le tapis."], source_lang="fra_Latn")
ref_embs = text_embedder.predict(["The cat sat on the mat."], source_lang="eng_Latn")
mt_embs = text_embedder.predict(["The cat sat down on the carpet."], source_lang="eng_Latn")

with torch.inference_mode():
    print(blaser_ref(src=src_embs, ref=ref_embs, mt=mt_embs).item())  # 4.688
    print(blaser_qe(src=src_embs, mt=mt_embs).item())  # 4.708

更多示例和详细模型卡片:facebook/blaser-2.0-reffacebook/blaser-2.0-qe

使用 MuTox 对句子毒性进行分类

MuTox 是首个高度多语言的基于音频的二分类器及包含毒性标签的数据集。该数据集包含 2 万条英语和西班牙语的音频语句,以及另外 19 种语言的 4 千条语句,并使用了 SONAR 中的多模态和多语言编码器。MuTox 分类器的输出是根据相应数据集中采用的定义,对被评估内容是否为“有毒”的 logits 值。

from sonar.models.mutox.loader import load_mutox_model
from sonar.inference_pipelines.text import TextToEmbeddingModelPipeline
import torch

if torch.cuda.is_available():
    device = torch.device("cuda:0")
    dtype = torch.float16
else:
    device = torch.device("cpu")
    dtype = torch.float32

t2vec_model = TextToEmbeddingModelPipeline(
    encoder="text_sonar_basic_encoder",
    tokenizer="text_sonar_basic_encoder",
    device=device,
)
text_column='lang_txt'
classifier = load_mutox_model(
    "sonar_mutox",
    device=device,
    dtype=dtype,
).eval()

with torch.inference_mode():
    emb = t2vec_model.predict(["De peur que le pays ne se prostitue et ne se remplisse de crimes."], source_lang='fra_Latn')
    x = classifier(emb.to(device).to(dtype)) 
    print(x) # tensor([[-19.7812]], device='cuda:0', dtype=torch.float16)

with torch.inference_mode():
    emb = t2vec_model.predict(["她努力工作,为团队做出了重大贡献。”], source_lang='eng_Latn')
    x = classifier(emb.to(device).to(dtype))
    print(x) # tensor([[-53.5938]], device='cuda:0', dtype=torch.float16)

with torch.inference_mode():
    emb = t2vec_model.predict(["他毫无天赋,所取得的一切成就都归功于贿赂和操纵。”], source_lang='spa_Latn')
    x = classifier(emb.to(device).to(dtype))
    print(x) # tensor([[-21.4062]], device='cuda:0', dtype=torch.float16)

如需以命令行方式运行 MuTox 流程,请访问 Seamless Communication/.../MuTox

示例笔记本

查看更多完整的示例笔记本:

故障排除

  • 如果遇到类似 fairseq2.assets.card.AssetCardError: Model checkpoint of the blaser_2_0_qe asset card cannot be loaded 的错误,请尝试清除 fairseq2 的资产缓存(位于 ~/.cache/fairseq2);可能是某些下载的模型检查点无效。

支持的语言及下载链接

SONAR 文本编码器和解码器支持 200 种语言。SONAR 语音编码器支持 37 种语言。

可用的文本编码器/解码器
模型 链接
编码器 下载
解码器 下载
微调解码器 下载
分词器 下载

SONAR 文本编码器/解码器支持的语言是 NLLB-200 模型中的全部 202 种语言。 它们包含了 FLORES-200 语言集 中的所有 204 种语言, 但不包括 arb_Latnmin_Arab。(需要注意的是,sat_Olck 被以 sat_Beng 的名称支持,尽管正确的书写系统是 Olck。)

有关语言列表的更多详细信息,请参阅 No Language Left Behind 论文。 (下表基于该论文中的表 1):

flores语言代码 sonar语言代码 语言名称 文字系统 语系 子分类 资源级别 方言
ace_Arab ace_Arab 亚齐语 阿拉伯文字 南岛语系 马来-波利尼西亚语族 北部亚齐语
ace_Latn ace_Latn 亚齐语 拉丁字母 南岛语系 马来-波利尼西亚语族 北部亚齐语
acm_Arab acm_Arab 美索不达米亚阿拉伯语 阿拉伯文字 亚非语系 闪米特语族 巴格达方言
acq_Arab acq_Arab 泰伊兹-阿登阿拉伯语 阿拉伯文字 亚非语系 闪米特语族
aeb_Arab aeb_Arab 突尼斯阿拉伯语 阿拉伯文字 亚非语系 闪米特语族 德尔贾方言
afr_Latn afr_Latn 南非语 拉丁字母 印欧语系 日耳曼语族
ajp_Arab ajp_Arab 南黎凡特阿拉伯语 阿拉伯文字 亚非语系 闪米特语族 安曼方言
aka_Latn aka_Latn 阿坎语 拉丁字母 大西洋-刚果语系 克瓦-伏塔-刚果语族 阿散蒂方言
amh_Ethi amh_Ethi 阿姆哈拉语 吉兹文字 亚非语系 闪米特语族 亚的斯亚贝巴方言
apc_Arab apc_Arab 北黎凡特阿拉伯语 阿拉伯文字 亚非语系 闪米特语族
arb_Arab arb_Arab 现代标准阿拉伯语 阿拉伯文字 亚非语系 闪米特语族
arb_Latn - 现代标准阿拉伯语 拉丁字母 亚非语系 闪米特语族
ars_Arab ars_Arab 纳季德阿拉伯语 阿拉伯文字 亚非语系 闪米特语族
ary_Arab ary_Arab 摩洛哥阿拉伯语 阿拉伯文字 亚非语系 闪米特语族
arz_Arab arz_Arab 埃及阿拉伯语 阿拉伯文字 亚非语系 闪米特语族
asm_Beng asm_Beng 阿萨姆语 孟加拉文字 印欧语系 印度-雅利安语族 东部方言
ast_Latn ast_Latn 阿斯图里亚斯语 拉丁字母 印欧语系 意大利语族 中部方言
awa_Deva awa_Deva 阿瓦迪语 天城文 印欧语系 印度-雅利安语族 阿约提亚方言
ayr_Latn ayr_Latn 中央艾马拉语 拉丁字母 艾马拉语系 中南艾马拉语族 拉巴斯艾马拉方言
azb_Arab azb_Arab 南阿塞拜疆语 阿拉伯文字 突厥语系 共同突厥语族 塔布里兹方言
azj_Latn azj_Latn 北阿塞拜疆语 拉丁字母 突厥语系 共同突厥语族 希尔万方言
bak_Cyrl bak_Cyrl 巴什基尔语 西里尔文字 突厥语系 共同突厥语族 文学标准
bam_Latn bam_Latn 班巴拉语 拉丁字母 曼德语系 西部曼德语族
ban_Latn ban_Latn 巴厘语 拉丁字母 南岛语系 马来-波利尼西亚语族
bel_Cyrl bel_Cyrl 白俄罗斯语 西里尔文字 印欧语系 波罗的-斯拉夫语族 中部方言
bem_Latn bem_Latn 奔巴语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族 中部方言
ben_Beng ben_Beng 孟加拉语 孟加拉文字 印欧语系 印度-雅利安语族 拉尔希方言
bho_Deva bho_Deva 博杰普里语 天城文 印欧语系 印度-雅利安语族
bjn_Arab bjn_Arab 班贾尔语 阿拉伯文字 南岛语系 马来-波利尼西亚语族 班贾尔瓜拉方言
bjn_Latn bjn_Latn 班贾尔语 拉丁字母 南岛语系 马来-波利尼西亚语族 班贾尔瓜拉方言
bod_Tibt bod_Tibt 标准藏语 藏文字 汉藏语系 藏语族 拉萨方言
bos_Latn bos_Latn 波斯尼亚语 拉丁字母 印欧语系 波罗的-斯拉夫语族
bug_Latn bug_Latn 布吉语 拉丁字母 南岛语系 马来-波利尼西亚语族 邦内方言
bul_Cyrl bul_Cyrl 保加利亚语 西里尔文字 印欧语系 波罗的-斯拉夫语族
cat_Latn cat_Latn 加泰罗尼亚语 拉丁字母 印欧语系 意大利语族
ceb_Latn ceb_Latn 宿务语 拉丁字母 南岛语系 马来-波利尼西亚语族
ces_Latn ces_Latn 捷克语 拉丁字母 印欧语系 波罗的-斯拉夫语族
cjk_Latn cjk_Latn 乔克韦语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
ckb_Arab ckb_Arab 中央库尔德语 阿拉伯文字 印欧语系 伊朗语族
crh_Latn crh_Latn 克里米亚鞑靼语 拉丁字母 突厥语系 共同突厥语族
cym_Latn cym_Latn 威尔士语 拉丁字母 印欧语系 凯尔特语族 威恩多德方言
dan_Latn dan_Latn 丹麦语 拉丁字母 印欧语系 日耳曼语族
deu_Latn deu_Latn 德语 拉丁字母 印欧语系 日耳曼语族
dik_Latn dik_Latn 西南丁卡语 拉丁字母 尼罗语系 西部尼罗语族 雷克方言
dyu_Latn dyu_Latn 迪乌拉语 拉丁字母 曼德语系 西部曼德语族
dzo_Tibt dzo_Tibt 宗喀语 藏文字 汉藏语系 藏语族
ell_Grek ell_Grek 希腊语 希腊文字 印欧语系 希腊-弗里吉亚语族
eng_Latn eng_Latn 英语 拉丁字母 印欧语系 日耳曼语族
epo_Latn epo_Latn 世界语 拉丁字母 人工语言 世界语族
est_Latn est_Latn 爱沙尼亚语 拉丁字母 乌拉尔语系 芬诺语族
eus_Latn eus_Latn 巴斯克语 拉丁字母 巴斯克语系
ewe_Latn ewe_Latn 埃维语 拉丁字母 大西洋-刚果语系 克瓦-伏塔-刚果语族 安格洛方言
fao_Latn fao_Latn 法罗语 拉丁字母 印欧语系 日耳曼语族
fij_Latn fij_Latn 斐济语 拉丁字母 南岛语系 马来-波利尼西亚语族 包乌方言
fin_Latn fin_Latn 芬兰语 拉丁字母 乌拉尔语系 芬诺语族
fon_Latn fon_Latn 丰语 拉丁字母 大西洋-刚果语系 克瓦-伏塔-刚果语族
fra_Latn fra_Latn 法语 拉丁字母 印欧语系 意大利语族
fur_Latn fur_Latn 弗留利语 拉丁字母 印欧语系 意大利语族 中部方言
fuv_Latn fuv_Latn 尼日利亚富拉尼语 拉丁字母 大西洋-刚果语系 北中部大西洋语族 索科托方言
gla_Latn gla_Latn 苏格兰盖尔语 拉丁字母 印欧语系 凯尔特语族 北部赫布里底方言
gle_Latn gle_Latn 爱尔兰语 拉丁字母 印欧语系 凯尔特语族
glg_Latn glg_Latn 加利西亚语 拉丁字母 印欧语系 意大利语族
grn_Latn grn_Latn 瓜拉尼语 拉丁字母 图皮语系 马韦蒂-瓜拉尼语族
guj_Gujr guj_Gujr 古吉拉特语 古吉拉特文字 印欧语系 印度-雅利安语族 阿姆达瓦迪/苏尔蒂方言
hat_Latn hat_Latn 海地克里奥尔语 拉丁字母 印欧语系 意大利语族
hau_Latn hau_Latn 豪萨语 拉丁字母 亚非语系 查得语族
heb_Hebr heb_Hebr 希伯来语 希伯来文字 亚非语系 闪米特语族
hin_Deva hin_Deva 印地语 天城文 印欧语系 印度-雅利安语族
hne_Deva hne_Deva 恰蒂斯加尔语 天城文 印欧语系 印度-雅利安语族
hrv_Latn hrv_Latn 克罗地亚语 拉丁字母 印欧语系 波罗的-斯拉夫语族
hun_Latn hun_Latn 匈牙利语 拉丁字母 乌拉尔语系
hye_Armn hye_Armn 亚美尼亚语 亚美尼亚文字 印欧语系 亚美尼亚语族 埃里温方言
ibo_Latn ibo_Latn 伊博语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族 中部方言
ilo_Latn ilo_Latn 伊洛卡诺语 拉丁字母 南岛语系 马来-波利尼西亚语族
ind_Latn ind_Latn 印度尼西亚语 拉丁字母 南岛语系 马来-波利尼西亚语族
isl_Latn isl_Latn 冰岛语 拉丁字母 印欧语系 日耳曼语族
ita_Latn ita_Latn 意大利语 拉丁字母 印欧语系 意大利语族
jav_Latn jav_Latn 爪哇语 拉丁字母 南岛语系 马来-波利尼西亚语族
jpn_Jpan jpn_Jpan 日语 日本文字 日本语系 日本语族
kab_Latn kab_Latn 卡比勒语 拉丁字母 亚非语系 柏柏尔语族 北东部方言
kac_Latn kac_Latn 京泊语 拉丁字母 汉藏语系 布拉马普特拉语族
kam_Latn kam_Latn 坎巴语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族 马查科斯方言
kan_Knda kan_Knda 卡纳达语 卡纳达文字 达罗毗荼语系 南部达罗毗荼语族 中部方言
kas_Arab kas_Arab 克什米尔语 阿拉伯文字 印欧语系 印度-雅利安语族 基什特瓦里方言
kas_Deva kas_Deva 克什米尔语 天城文 印欧语系 印度-雅利安语族 基什特瓦里方言
kat_Geor kat_Geor 格鲁吉亚语 格鲁吉亚文字 卡尔特维尔语系 格鲁吉亚-赞语族 卡尔特利方言
knc_Arab knc_Arab 中央卡努里语 阿拉伯文字 撒哈拉语系 西撒哈拉语族 叶尔瓦方言
knc_Latn knc_Latn 中央卡努里语 拉丁字母 撒哈拉语系 西撒哈拉语族 叶尔瓦方言
kaz_Cyrl kaz_Cyrl 哈萨克语 西里尔文字 突厥语系 共同突厥语族
kbp_Latn kbp_Latn 卡比耶语 拉丁字母 大西洋-刚果语系 北伏塔-刚果语族 克韦方言
kea_Latn kea_Latn 卡布维德语 拉丁字母 印欧语系 意大利语族 索塔文托方言
khm_Khmr khm_Khmr 高棉语 高棉文字 奥斯特罗亚洲语系 高棉语族 中部方言
kik_Latn kik_Latn 基库尤语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族 南部方言
kin_Latn kin_Latn 基尼亚卢旺达语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
kir_Cyrl kir_Cyrl 吉尔吉斯语 西里尔文字 突厥语系 共同突厥语族 北部方言
kmb_Latn kmb_Latn 金本杜语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
kmr_Latn kmr_Latn 北部库尔德语 拉丁字母 印欧语系 伊朗语族
kon_Latn kon_Latn 基孔戈语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
kor_Hang kor_Hang 韩语 韩文字 韩语系 韩语族
lao_Laoo lao_Laoo 老挝语 老挝文字 泰-卡岱语系 卡姆-泰语族 万象方言
lij_Latn lij_Latn 利古里亚语 拉丁字母 印欧语系 意大利语族 热那亚方言
lim_Latn lim_Latn 林堡语 拉丁字母 印欧语系 日耳曼语族 马斯特里赫特方言
lin_Latn lin_Latn 林加拉语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
lit_Latn lit_Latn 立陶宛语 拉丁字母 印欧语系 波罗的-斯拉夫语族
lmo_Latn lmo_Latn 伦巴第语 拉丁字母 印欧语系 意大利语族 西部方言
ltg_Latn ltg_Latn 拉特加莱语 拉丁字母 印欧语系 波罗的-斯拉夫语族 中部方言
ltz_Latn ltz_Latn 卢森堡语 拉丁字母 印欧语系 日耳曼语族
lua_Latn lua_Latn 卢巴-卡赛语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
lug_Latn lug_Latn 干达语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
luo_Latn luo_Latn 洛语 拉丁字母 尼罗语系 西部尼罗语族
lus_Latn lus_Latn 米佐语 拉丁字母 汉藏语系 库基-钦-纳加语族 艾佐尔方言
lvs_Latn lvs_Latn 标准拉脱维亚语 拉丁字母 印欧语系 波罗的-斯拉夫语族
mag_Deva mag_Deva 马伽语 天城文 印欧语系 印度-雅利安语族 盖亚方言
mai_Deva mai_Deva 迈蒂利语 天城文 印欧语系 印度-雅利安语族
mal_Mlym mal_Mlym 马拉雅拉姆语 马拉雅拉姆文字 达罗毗荼语系 南部达罗毗荼语族
mar_Deva mar_Deva 马拉地语 天城文 印欧语系 印度-雅利安语族 瓦尔哈迪方言
min_Arab - 米南卡巴乌语 阿拉伯文字 南岛语系 马来-波利尼西亚语族 阿甘-塔纳达塔尔方言
min_Latn min_Latn 米南卡巴乌语 拉丁字母 南岛语系 马来-波利尼西亚语族 阿甘-塔纳达塔尔方言
mkd_Cyrl mkd_Cyrl 马其顿语 西里尔文字 印欧语系 波罗的-斯拉夫语族
plt_Latn plt_Latn 高原马达加斯加语 拉丁字母 南岛语系 马来-波利尼西亚语族 梅里纳方言
mlt_Latn mlt_Latn 马耳他语 拉丁字母 亚非语系 闪米特语族
mni_Beng mni_Beng 缅泰语 孟加拉文字 汉藏语系 库基-钦-纳加语族
khk_Cyrl khk_Cyrl 哈尔蒙古语 西里尔文字 蒙古-契丹语系 蒙古语族
mos_Latn mos_Latn 莫西语 拉丁字母 大西洋-刚果语系 北伏塔-刚果语族 瓦加杜古方言
mri_Latn mri_Latn 毛利语 拉丁字母 南岛语系 马来-波利尼西亚语族 怀卡托-恩加普希方言
mya_Mymr mya_Mymr 缅甸语 缅甸文字 汉藏语系 缅-羌语族 曼德勒-仰光方言
nld_Latn nld_Latn 荷兰语 拉丁字母 印欧语系 日耳曼语族
nno_Latn nno_Latn 新挪威语 拉丁字母 印欧语系 日耳曼语族
nob_Latn nob_Latn 书面挪威语 拉丁字母 印欧语系 日耳曼语族
npi_Deva npi_Deva 尼泊尔语 天城文 印欧语系 印度-雅利安语族 东部方言
nso_Latn nso_Latn 北索托语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
nus_Latn nus_Latn 努尔语 拉丁字母 尼罗语系 西部尼罗语族
nya_Latn nya_Latn 尼扬贾语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
oci_Latn oci_Latn 奥克语 拉丁字母 印欧语系 意大利语族
gaz_Latn gaz_Latn 西中奥罗莫语 拉丁字母 亚非语系 库希语族
ory_Orya ory_Orya 奥里亚语 奥里亚文字 印欧语系 印度-雅利安语族 巴莱斯瓦里(北部)方言
pag_Latn pag_Latn 潘加西南语 拉丁字母 南岛语系 马来-波利尼西亚语族
pan_Guru pan_Guru 东旁遮普语 古鲁穆基文字 印欧语系 印度-雅利安语族 马吉方言
pap_Latn pap_Latn 帕皮亚门托语 拉丁字母 印欧语系 意大利语族 罗默-马杜罗-乔尼斯方言
pes_Arab pes_Arab 西方波斯语 阿拉伯文字 印欧语系 伊朗语族
pol_Latn pol_Latn 波兰语 拉丁字母 印欧语系 波罗的-斯拉夫语族
por_Latn por_Latn 葡萄牙语 拉丁字母 印欧语系 意大利语族 巴西方言
prs_Arab prs_Arab 达里语 阿拉伯文字 印欧语系 伊朗语族 卡布尔方言
pbt_Arab pbt_Arab 南部普什图语 阿拉伯文字 印欧语系 伊朗语族 文学标准
quy_Latn quy_Latn 阿亚库乔克丘亚语 拉丁字母 克丘亚语系 金恰伊语族 南部克丘亚方言
ron_Latn ron_Latn 罗马尼亚语 拉丁字母 印欧语系 意大利语族
run_Latn run_Latn 伦迪语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
rus_Cyrl rus_Cyrl 俄语 西里尔文字 印欧语系 波罗的-斯拉夫语族
sag_Latn sag_Latn 桑戈语 拉丁字母 大西洋-刚果语系 北伏塔-刚果语族
san_Deva san_Deva 梵语 天城文 印欧语系 印度-雅利安语族
sat_Olck sat_Beng 桑塔利语 奥尔奇基文字 奥斯特罗亚洲语系 曼达语族
scn_Latn scn_Latn 西西里语 拉丁字母 印欧语系 意大利语族 文学西西里方言
shn_Mymr shn_Mymr 景颇语 缅甸文字 泰-卡岱语系 卡姆-泰语族
sin_Sinh sin_Sinh 僧伽罗语 僧伽罗文字 印欧语系 印度-雅利安语族
slk_Latn slk_Latn 斯洛伐克语 拉丁字母 印欧语系 波罗的-斯拉夫语族
slv_Latn slv_Latn 斯洛文尼亚语 拉丁字母 印欧语系 波罗的-斯拉夫语族
smo_Latn smo_Latn 萨摩亚语 拉丁字母 南岛语系 马来-波利尼西亚语族
sna_Latn sna_Latn 绍纳语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
snd_Arab snd_Arab 信德语 阿拉伯文字 印欧语系 印度-雅利安语族 维乔利方言
som_Latn som_Latn 索马里语 拉丁字母 亚非语系 库希语族 恩索姆方言
sot_Latn sot_Latn 南索托语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族 所有人都能理解的语言
spa_Latn spa_Latn 西班牙语 拉丁字母 印欧语系 意大利语族 拉丁美洲方言
als_Latn als_Latn 托斯克阿尔巴尼亚语 拉丁字母 印欧语系 阿尔巴尼亚语族
srd_Latn srd_Latn 撒丁语 拉丁字母 印欧语系 意大利语族 洛古多雷塞和坎皮达内塞方言
srp_Cyrl srp_Cyrl 塞尔维亚语 西里尔文字 印欧语系 波罗的-斯拉夫语族
ssw_Latn ssw_Latn 斯瓦蒂语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
sun_Latn sun_Latn 巽他语 拉丁字母 南岛语系 马来-波利尼西亚语族
swe_Latn swe_Latn 瑞典语 拉丁字母 印欧语系 日耳曼语族
swh_Latn swh_Latn 斯瓦希里语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族 基翁古贾方言
szl_Latn szl_Latn 西里西亚语 拉丁字母 印欧语系 波罗的-斯拉夫语族
tam_Taml tam_Taml 泰米尔语 泰米尔文字 达罗毗荼语系 南部达罗毗荼语族 钦奈方言
tat_Cyrl tat_Cyrl 鞑靼语 西里尔文字 突厥语系 共同突厥语族 中央和中部方言
tel_Telu tel_Telu 泰卢固语 泰卢固文字 达罗毗荼语系 南部达罗毗荼语族 沿海方言
tgk_Cyrl tgk_Cyrl 塔吉克语 西里尔文字 印欧语系 伊朗语族
tgl_Latn tgl_Latn 他加禄语 拉丁字母 南岛语系 马来-波利尼西亚语族
tha_Thai tha_Thai 泰语 泰文字 泰-卡岱语系 卡姆-泰语族
tir_Ethi tir_Ethi 提格里尼亚语 吉兹文字 亚非语系 闪米特语族
taq_Latn taq_Latn 塔马谢克语 拉丁字母 亚非语系 柏柏尔语族 卡尔安萨尔方言
taq_Tfng taq_Tfng 塔马谢克语 提非纳文字 亚非语系 柏柏尔语族 卡尔安萨尔方言
tpi_Latn tpi_Latn 托克皮辛语 拉丁字母 印欧语系 日耳曼语族
tsn_Latn tsn_Latn 茨瓦纳语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族 塞胡鲁茨语
tso_Latn tso_Latn 松加语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
tuk_Latn tuk_Latn 土库曼语 拉丁字母 突厥语系 共同突厥语族 特克方言
tum_Latn tum_Latn 图姆布卡语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族 伦菲方言
tur_Latn tur_Latn 土耳其语 拉丁字母 突厥语系 共同突厥语族
twi_Latn twi_Latn 特威语 拉丁字母 大西洋-刚果语系 克瓦-伏塔-刚果语族 阿夸佩姆方言
tzm_Tfng tzm_Tfng 中央阿特拉斯塔马齐特语 提非纳文字 亚非语系 柏柏尔语族
uig_Arab uig_Arab 维吾尔语 阿拉伯文字 突厥语系 共同突厥语族
ukr_Cyrl ukr_Cyrl 乌克兰语 西里尔文字 印欧语系 波罗的-斯拉夫语族
umb_Latn umb_Latn 翁邦杜语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族
urd_Arab urd_Arab 乌尔都语 阿拉伯文字 印欧语系 印度-雅利安语族 拉什卡里方言
uzn_Latn uzn_Latn 北乌兹别克语 拉丁字母 突厥语系 共同突厥语族 负责人
vec_Latn vec_Latn 威尼斯语 拉丁字母 印欧语系 意大利语族 威尼斯方言
vie_Latn vie_Latn 越南语 拉丁字母 奥斯特罗亚洲语系 越语族
war_Latn war_Latn 瓦拉伊语 拉丁字母 南岛语系 马来-波利尼西亚语族 塔克洛班方言
wol_Latn wol_Latn 沃洛夫语 拉丁字母 大西洋-刚果语系 北中部大西洋语族 达喀尔方言
xho_Latn xho_Latn 科萨语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族 恩吉卡方言
ydd_Hebr ydd_Hebr 东部意第绪语 希伯来文字 印欧语系 日耳曼语族 哈西德派方言
yor_Latn yor_Latn 约鲁巴语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族 奥约和伊巴丹方言
yue_Hant yue_Hant 粤语 汉字(繁体) 汉藏语系 汉语族
zho_Hans zho_Hans 汉语 汉字(简体) 汉藏语系 汉语族
zho_Hant zho_Hant 汉语 汉字(繁体) 汉藏语系 汉语族
zsm_Latn zsm_Latn 标准马来语 拉丁字母 南岛语系 马来-波利尼西亚语族 负责人
zul_Latn zul_Latn 祖鲁语 拉丁字母 大西洋-刚果语系 贝努埃-刚果语族 负责人
可用的语音编码器
语言代码 语言 链接
arb 阿拉伯语 下载
asm 阿萨姆语 下载
bel 白俄罗斯语 下载
ben 孟加拉语 下载
bos 波斯尼亚语 下载
bul 保加利亚语 下载
cat 加泰罗尼亚语 下载
ces 捷克语 下载
cmn 普通话汉语 下载
cym 威尔士语 下载
dan 丹麦语 下载
deu 德语 下载
est 爱沙尼亚语 下载
fin 芬兰语 下载
fra 法语 下载
guj 古吉拉特语 下载
heb 希伯来语 下载
hin 印地语 下载
hrv 克罗地亚语 下载
ind 印度尼西亚语 下载
ita 意大利语 下载
jpn 日语 下载
kan 卡纳达语 下载
kor 韩语 下载
lao 老挝语 下载
lit 立陶宛语 下载
lvs 标准拉脱维亚语 下载
mal 马拉雅拉姆语 下载
mar 马拉地语 下载
mkd 马其顿语 下载
mlt 马耳他语 下载
npi 尼泊尔语 下载
nld 荷兰语 下载
ory 奥里亚语 下载
pan 旁遮普语 下载
pes 西部波斯语 下载
pol 波兰语 下载
por 葡萄牙语 下载
ron 罗马尼亚语 下载
rus 俄语 下载
slk 斯洛伐克语 下载
slv 斯洛文尼亚语 下载
snd 信德语 下载
srp 塞尔维亚语 下载
spa 西班牙语 下载
swe 瑞典语 下载
swh 斯瓦希里语 下载
tam 泰米尔语 下载
tel 泰卢固语 下载
tgl 他加禄语 下载
tha 泰语 下载
tur 土耳其语 下载
ukr 乌克兰语 下载
urd 乌尔都语 下载
uzn 北部乌兹别克语 下载
vie 越南语 下载
yue 粤语 下载

引用信息

在引用 SONAR 嵌入空间、编码器和解码器时,请引用以下论文:

@misc{Duquenne:2023:sonar_arxiv,
  author = {Paul-Ambroise Duquenne and Holger Schwenk and Benoit Sagot},
  title = {{SONAR:} Sentence-Level Multimodal and Language-Agnostic Representations},
  publisher = {arXiv},
  year = {2023},
  url = {https://arxiv.org/abs/2308.11466},
}

贡献

有关如何参与贡献,请参阅 CONTRIBUTING 文件。

许可证

SONAR 代码采用 MIT 许可证发布(参见 CODE_LICENSE)。

部分 SONAR 模型也采用相同的 MIT 许可证发布,但请注意, 其中一些模型采用非商业许可发布(参见 NC_MODEL_LICENSE)。 详细信息请参阅 LICENSE

版本历史

v0.5.02025/10/10
v0.4.02025/03/17

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

160.8k|★★☆☆☆|今天
开发框架Agent语言模型

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|1周前
语言模型图像Agent

spec-kit

Spec Kit 是一款专为提升软件开发效率而设计的开源工具包,旨在帮助团队快速落地“规格驱动开发”(Spec-Driven Development)模式。传统开发中,需求文档往往与代码实现脱节,导致沟通成本高且结果不可控;而 Spec Kit 通过将规格说明书转化为可执行的指令,让 AI 直接依据明确的业务场景生成高质量代码,从而减少从零开始的随意编码,确保产出结果的可预测性。 该工具特别适合希望利用 AI 辅助编程的开发者、技术负责人及初创团队。无论是启动全新项目还是在现有工程中引入规范化流程,用户只需通过简单的命令行操作,即可初始化项目并集成主流的 AI 编程助手。其核心技术亮点在于“规格即代码”的理念,支持社区扩展与预设模板,允许用户根据特定技术栈定制开发流程。此外,Spec Kit 强调官方维护的安全性,提供稳定的版本管理,帮助开发者在享受 AI 红利的同时,依然牢牢掌握架构设计的主动权,真正实现从“凭感觉写代码”到“按规格建系统”的转变。

88.7k|★★☆☆☆|2天前
语言模型图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|2周前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.3k|★★☆☆☆|昨天
图像数据工具视频

funNLP

funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。

79.9k|★☆☆☆☆|1周前
语言模型数据工具其他