[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-facebookresearch--SONAR":3,"tool-facebookresearch--SONAR":65},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},8553,"spec-kit","github\u002Fspec-kit","Spec Kit 是一款专为提升软件开发效率而设计的开源工具包，旨在帮助团队快速落地“规格驱动开发”（Spec-Driven Development）模式。传统开发中，需求文档往往与代码实现脱节，导致沟通成本高且结果不可控；而 Spec Kit 通过将规格说明书转化为可执行的指令，让 AI 直接依据明确的业务场景生成高质量代码，从而减少从零开始的随意编码，确保产出结果的可预测性。\n\n该工具特别适合希望利用 AI 辅助编程的开发者、技术负责人及初创团队。无论是启动全新项目还是在现有工程中引入规范化流程，用户只需通过简单的命令行操作，即可初始化项目并集成主流的 AI 编程助手。其核心技术亮点在于“规格即代码”的理念，支持社区扩展与预设模板，允许用户根据特定技术栈定制开发流程。此外，Spec Kit 强调官方维护的安全性，提供稳定的版本管理，帮助开发者在享受 AI 红利的同时，依然牢牢掌握架构设计的主动权，真正实现从“凭感觉写代码”到“按规格建系统”的转变。",88749,"2026-04-17T09:48:14",[15,26,14,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":10,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85267,"2026-04-18T11:00:28",[26,51,52,53,14,54,15,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":62,"last_commit_at":63,"category_tags":64,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,51,54],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":80,"owner_twitter":80,"owner_website":81,"owner_url":82,"languages":83,"stars":88,"forks":87,"last_commit_at":89,"license":90,"difficulty_score":91,"env_os":92,"env_gpu":93,"env_ram":92,"env_deps":94,"category_tags":101,"github_topics":80,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":102,"updated_at":103,"faqs":104,"releases":133},9757,"facebookresearch\u002FSONAR","SONAR","SONAR, a new multilingual and multimodal fixed-size sentence embedding space, with a full suite of speech and text encoders and decoders.","SONAR 是由 Meta 推出的新一代多语言、多模态句子嵌入模型，旨在构建一个统一的固定维度向量空间。它能够同时处理文本和语音数据，将不同语言和模态的句子映射到同一空间中，从而高效解决跨语言语义搜索、零样本机器翻译（包括语音转文本）等难题。相比 LASER3 和 LabSE 等现有方案，SONAR 在多语言相似度检索任务上表现更为出色。\n\n该工具的核心亮点在于其“语言无关”与“模态融合”的特性。通过配套的编码器和解码器套件，用户不仅能进行高质量的文本向量化，还能直接将语音片段嵌入同一空间，实现跨模态的无缝交互。此外，它支持多种语言的零样本组合，无需针对特定语言对重新训练即可实现翻译功能。\n\nSONAR 主要面向自然语言处理领域的研究人员、AI 开发者以及需要构建多语言应用的技术团队。虽然普通用户难以直接调用其代码接口，但可受益于基于 SONAR 开发的翻译软件或智能语音助手。使用时需注意，SONAR 依赖 Fairseq2 框架，安装时需严格匹配 PyTorch 和 CUDA 版本，适合具备一定深度学习环境配置经验的开发者上手探索。","# SONAR\n[[Paper]](https:\u002F\u002Fai.meta.com\u002Fresearch\u002Fpublications\u002Fsonar-sentence-level-multimodal-and-language-agnostic-representations\u002F)\n[[Demo]](#usage)\n\nWe introduce SONAR, a new multilingual and multimodal fixed-size sentence embedding space, with a full suite of speech and text encoders and decoders. It substantially outperforms existing sentence embeddings such as LASER3 and LabSE on the xsim and xsim++ multilingual similarity search tasks.\n\nSpeech segments can be embedded in the same SONAR embedding space using language-specific speech encoders trained in a teacher-student setting on speech transcription data. We also provide a single text decoder, which allows us to perform text-to-text and speech-to-text machine translation, including for zero-shot language and modality combinations.\n\n*SONAR* stands for **S**entence-level multim**O**dal and la**N**guage-**A**gnostic **R**epresentations\n\nThe full list of supported languages (along with download links) can be found here [below](#supported-languages-and-download-links).\n\n## SONAR Architecture:\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_SONAR_readme_1e5f81b69d46.png\" width=\"800\">\u003Cbr \u002F>\n\u003C\u002Fp>\n\n\n## Text results\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_SONAR_readme_35bc1c280d12.png\" width=\"800\">\u003Cbr \u002F>\n\u003C\u002Fp>\n\n## Speech results\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_SONAR_readme_fbbd0128eb2d.png\" width=\"400\">\u003Cbr \u002F>\n\u003C\u002Fp>\n\n\n## Installing\n\nYou can install SONAR with `pip install sonar-space`. Note that there is another `sonar` package on pip that IS NOT this project, make sure to use `sonar-space` in your dependencies.\n\nNote that SONAR depends on [Fairseq2](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2), which should precisely match the versions of `pytorch` and `CUDA` (here are the [possible variants](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2?tab=readme-ov-file#variants)). You can check with `pip show torch` which version of pytorch you gave. For example, if it equals `2.6.0+cu124`, you should install `fairseq2` with from the following source:\n```bash\npip install fairseq2 --extra-index-url https:\u002F\u002Ffair.pkg.atmeta.com\u002Ffairseq2\u002Fwhl\u002Fpt2.6.0\u002Fcu124\n```\nIf [fairseq2](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2) does not provide a build for your machine, check the readme of that project to build it locally.\n\nWe recommend installing SONAR only after you have a correct version of `fairseq2` installed.  Note that SONAR currently relies on the stable version of `fairseq2>=0.5.2` (with minor variations possible).\n\nIf you want to install SONAR manually, you can install it localy:\n\n```bash\npip install --upgrade pip\npip install -e .\n```\n\n### Versions\nUnfortunately, SONAR code is very much tied to fairseq2 code, and thus only specific version are compatible with each other:\n- `sonar-space~=0.5.0` (the current version) requires `fairseq2>=0.5.2`\n- `sonar-space~=0.4.0` required `fairseq2~=0.4.0`\n- `sonar-space~=0.2.0` required `fairseq2~=0.2.0`\n\nIn the future, when the `fairseq2` interface stabilizes, we hope to keep the version dependencies less loosely coupled. \n\n\n## Usage\nfairseq2 will automatically download models into your `$TORCH_HOME\u002Fhub` directory upon using the commands below.\n\n### Compute text sentence embeddings with SONAR:\n```python\nfrom sonar.inference_pipelines.text import TextToEmbeddingModelPipeline\nt2vec_model = TextToEmbeddingModelPipeline(encoder=\"text_sonar_basic_encoder\",\n                                           tokenizer=\"text_sonar_basic_encoder\")\nsentences = ['My name is SONAR.', 'I can embed the sentences into vectorial space.']\nembeddings = t2vec_model.predict(sentences, source_lang=\"eng_Latn\")\nprint(embeddings.shape)\n# torch.Size([2, 1024])\n```\n\nNote that by default, all SONAR models are loaded to a CPU device, which is relatively slow. If you want to use a GPU instead, you should provide the `device` argument when initializing the model (this applies to every model). Similarly, you can pass a `dtype` argument. For example:\n```python\nimport torch\nfrom sonar.inference_pipelines.text import TextToEmbeddingModelPipeline\n\nembedder = TextToEmbeddingModelPipeline(\n  encoder=\"text_sonar_basic_encoder\", \n  tokenizer=\"text_sonar_basic_encoder\", \n  device=torch.device(\"cuda\"),\n  dtype=torch.float16,\n)\n```\n\n\n### Reconstruct text from SONAR embeddings\n```python\nfrom sonar.inference_pipelines.text import EmbeddingToTextModelPipeline\nvec2text_model = EmbeddingToTextModelPipeline(decoder=\"text_sonar_basic_decoder\",\n                                              tokenizer=\"text_sonar_basic_encoder\")\nreconstructed = vec2text_model.predict(embeddings, target_lang=\"eng_Latn\", max_seq_len=512)\n# max_seq_len is a keyword argument passed to the fairseq2 BeamSearchSeq2SeqGenerator.\nprint(reconstructed)\n# ['My name is SONAR.', 'I can embed the sentences into vector space.']\n```\nBy default, text generation in SONAR is based on beam search ([BeamSearchSeq2SeqGenerator](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2\u002Fblob\u002Fv0.4.5\u002Fsrc\u002Ffairseq2\u002Fgeneration\u002F_beam_search\u002F_generator.py#L45) from fairseq2) with the default setting of  `beam_size=5`. If one passes a `sampler` argument, we will use a [SamplingSeq2SeqGenerator](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2\u002Fblob\u002Fv0.4.5\u002Fsrc\u002Ffairseq2\u002Fgeneration\u002F_sampling\u002F_generator.py#L200) instead. All additional arguments are passed to the generator constructor. For example:\n\n```python\nfrom fairseq2.generation import TopPSampler, TopKSampler\nembeddings = t2vec_model.predict([\"Bonjour le monde!\"] * 10, source_lang=\"fra_Latn\")\nvec2text_model.predict(embeddings, target_lang=\"eng_Latn\", sampler=TopPSampler(0.99), max_seq_len=128)\n# ['Hello, the world!',\n#  'Hey, everybody!',\n#  'Good day to you, world!',\n#  'Hello, the world!',\n#  'Hello, people.',\n#  'Hello, everybody, around the world.',\n#  'Hello, world. How are you?',\n#  \"Hey, what's up?\",\n#  'Good afternoon, everyone.',\n#  'Hello to the world!']\n# the outputs are now random, so they will be different every time\n```\nNote that the `sampler` argument was a singal to use a `SamplingSeq2SeqGenerator` instead of a `BeamSearchSeq2SeqGenerator`, and the `max_seq_len` argument was passed to the `SamplingSeq2SeqGenerator` constructor.\n\n\n### Translate text with SONAR\n```python\nfrom sonar.inference_pipelines.text import TextToTextModelPipeline\nt2t_model = TextToTextModelPipeline(encoder=\"text_sonar_basic_encoder\",\n                                    decoder=\"text_sonar_basic_decoder\",\n                                    tokenizer=\"text_sonar_basic_encoder\")  # tokenizer is attached to both encoder and decoder cards\n\nsentences = ['My name is SONAR.', 'I can embed the sentences into vectorial space.']\nt2t_model.predict(sentences, source_lang=\"eng_Latn\", target_lang=\"fra_Latn\")\n# ['Mon nom est SONAR.', \"Je peux intégrer les phrases dans l'espace vectoriel.\"]\n```\n\n### Compute speech sentence embeddings with SONAR\n```python\nfrom sonar.inference_pipelines.speech import SpeechToEmbeddingModelPipeline\ns2vec_model = SpeechToEmbeddingModelPipeline(encoder=\"sonar_speech_encoder_eng\")\n\ns2vec_model.predict([\".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_1.wav\",\n                     \".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_2.wav\"]).shape\n# torch.Size([2, 1024])\nimport torchaudio\ninp, sr = torchaudio.load(\".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_1.wav\")\nassert sr == 16000, \"Sample rate should be 16kHz\"\n\ns2vec_model.predict([inp]).shape\n# torch.Size([1, 1024])\n```\n\n### Speech-to-text translation with SONAR\n```python\nfrom sonar.inference_pipelines.speech import SpeechToTextModelPipeline\n\ns2t_model = SpeechToTextModelPipeline(encoder=\"sonar_speech_encoder_eng\",\n                                      decoder=\"text_sonar_basic_decoder\",\n                                      tokenizer=\"text_sonar_basic_decoder\")\n\nimport torchaudio\ninp, sr = torchaudio.load(\".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_1.wav\")\nassert sr == 16000, \"Sample rate should be 16kHz\"\n\n# passing loaded audio files\ns2t_model.predict([inp], target_lang=\"eng_Latn\")\n# ['Television reports show white smoke coming from the plant.']\n\n# passing multiple wav files\ns2t_model.predict([\".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_1.wav\",\n                   \".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_2.wav\"], target_lang=\"eng_Latn\")\n# ['Television reports show white smoke coming from the plant.',\n# 'These couples may choose to make an adoption plan for their baby.']\n```\n\n\n### Predicting sentence similarity with BLASER 2.0 models\n\nBLASER 2.0 is a family of models for automatic evaluation of machine translation quality based on SONAR embeddings.\nThey predict [cross-lingual semantic similarity](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq\u002Ftree\u002Fnllb\u002Fexamples\u002Fnllb\u002Fhuman_XSTS_eval)\nbetween the translation and the source (optionally, also using a reference translation).\n\n```Python\nfrom sonar.inference_pipelines.text import TextToEmbeddingModelPipeline\nfrom sonar.models.blaser.loader import load_blaser_model\n\nblaser_ref = load_blaser_model(\"blaser_2_0_ref\").eval()\nblaser_qe = load_blaser_model(\"blaser_2_0_qe\").eval()\ntext_embedder = TextToEmbeddingModelPipeline(encoder=\"text_sonar_basic_encoder\", tokenizer=\"text_sonar_basic_encoder\")\n\nsrc_embs = text_embedder.predict([\"Le chat s'assit sur le tapis.\"], source_lang=\"fra_Latn\")\nref_embs = text_embedder.predict([\"The cat sat on the mat.\"], source_lang=\"eng_Latn\")\nmt_embs = text_embedder.predict([\"The cat sat down on the carpet.\"], source_lang=\"eng_Latn\")\n\nwith torch.inference_mode():\n    print(blaser_ref(src=src_embs, ref=ref_embs, mt=mt_embs).item())  # 4.688\n    print(blaser_qe(src=src_embs, mt=mt_embs).item())  # 4.708\n```\n\nDetailed model cards with more examples: [facebook\u002Fblaser-2.0-ref](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fblaser-2.0-ref), \n[facebook\u002Fblaser-2.0-qe](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fblaser-2.0-qe).\n\n### Classifying the toxicity of sentences with MuTox\n\n[MuTox](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fseamless_communication\u002Ftree\u002Fmain\u002Fsrc\u002Fseamless_communication\u002Fcli\u002Ftoxicity\u002Fmutox), the first highly multilingual audio-based classifier (binary) and dataset with toxicity labels. The dataset consists of 20k audio utterances for English and Spanish, and 4k for the other 19 languages, and uses the multi-model and multilingual encoders from SONAR. The output of the MuTox classifier is a logit of the evaluated being _\"toxic\"_, according to the definition adopted in the corresponding dataset.\n\n```Python\nfrom sonar.models.mutox.loader import load_mutox_model\nfrom sonar.inference_pipelines.text import TextToEmbeddingModelPipeline\nimport torch\n\nif torch.cuda.is_available():\n    device = torch.device(\"cuda:0\")\n    dtype = torch.float16\nelse:\n    device = torch.device(\"cpu\")\n    dtype = torch.float32\n\nt2vec_model = TextToEmbeddingModelPipeline(\n    encoder=\"text_sonar_basic_encoder\",\n    tokenizer=\"text_sonar_basic_encoder\",\n    device=device,\n)\ntext_column='lang_txt'\nclassifier = load_mutox_model(\n    \"sonar_mutox\",\n    device=device,\n    dtype=dtype,\n).eval()\n\nwith torch.inference_mode():\n    emb = t2vec_model.predict([\"De peur que le pays ne se prostitue et ne se remplisse de crimes.\"], source_lang='fra_Latn')\n    x = classifier(emb.to(device).to(dtype)) \n    print(x) # tensor([[-19.7812]], device='cuda:0', dtype=torch.float16)\n\nwith torch.inference_mode():\n    emb = t2vec_model.predict([\"She worked hard and made a significant contribution to the team.\"], source_lang='eng_Latn')\n    x = classifier(emb.to(device).to(dtype))\n    print(x) # tensor([[-53.5938]], device='cuda:0', dtype=torch.float16)\n\nwith torch.inference_mode():\n    emb = t2vec_model.predict([\"El no tiene ni el más mínimo talento, todo lo que ha logrado ha sido gracias a sobornos y manipulaciones.\"], source_lang='spa_Latn')\n    x = classifier(emb.to(device).to(dtype))\n    print(x) # tensor([[-21.4062]], device='cuda:0', dtype=torch.float16)\n```\n\nFor a CLI way of running the MuTox pipeline, go to [Seamless Communication\u002F...\u002FMuTox](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fseamless_communication\u002Ftree\u002Fmain\u002Fsrc\u002Fseamless_communication\u002Fcli\u002Ftoxicity\u002Fmutox).\n\n### Demo notebooks\nSee more complete demo notebooks :\n\n* [sonar text2text similarity and translation](examples\u002Fsonar_text_demo.ipynb)\n* [sonar speech2text and other data pipeline examples](examples\u002Finference_pipelines.ipynb)\n* [sonar bilingual document alignment with sonar text similarity](examples\u002Fbilingual_document.ipynb)\n\n### Troubleshooting\n\n- In case of errors like `fairseq2.assets.card.AssetCardError: Model checkpoint of the blaser_2_0_qe asset card cannot be loaded`, try removing the fairseq2 assets cache (located in `~\u002F.cache\u002Ffairseq2`); it might be that some of the downloaded model checkpoints are invalid.\n\n\n## Supported languages and download links\nThe SONAR text encoder & decoder supports 200 languages. SONAR speech encoders support 37 languages.\n\n\u003Cdetails>\n\u003Csummary>Available text encoders\u002Fdecoders\u003C\u002Fsummary>\n\n| model             | link                                                                               |\n| ----------------- | ---------------------------------------------------------------------------------- |\n| encoder           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fsonar_text_encoder.pt)             |\n| decoder           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fsonar_text_decoder.pt)             |\n| finetuned decoder | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Ffinetuned_decoder.pt)              |\n| tokenizer         | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fsentencepiece.source.256000.model) |\n\nThe languages supported by SONAR text encoders\u002Fdecoders are all the 202 languages from the NLLB-200 models.\nThey comprise all 204 [FLORES-200 languages](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fflores\u002Ftree\u002Fmain\u002Fflores200), \nexcept `arb_Latn` and `min_Arab` (note that `sat_Olck` is supported under the name `sat_Beng`, alghough `Olck` is the right scripts).\n\nSee more details on the languages list in the [No Language Left Behind paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2207.04672) \n(the table below is based on Table 1 in this paper):\n\n| flores_lang_code   | sonar_lang_code   | lang_name               | script            | family          | subgrouping             | resource_level   | variety                    |\n|:-------------------|:------------------|:------------------------|:------------------|:----------------|:------------------------|:-----------------|:---------------------------|\n| ace_Arab           | ace_Arab          | Acehnese                | Arabic            | Austronesian    | Malayo-Polynesian       | Low              | North Acehnese             |\n| ace_Latn           | ace_Latn          | Acehnese                | Latin             | Austronesian    | Malayo-Polynesian       | Low              | North Acehnese             |\n| acm_Arab           | acm_Arab          | Mesopotamian Arabic     | Arabic            | Afro-Asiatic    | Semitic                 | Low              | Baghdadi                   |\n| acq_Arab           | acq_Arab          | Taʽizzi-Adeni Arabic    | Arabic            | Afro-Asiatic    | Semitic                 | Low              |                            |\n| aeb_Arab           | aeb_Arab          | Tunisian Arabic         | Arabic            | Afro-Asiatic    | Semitic                 | Low              | Derja                      |\n| afr_Latn           | afr_Latn          | Afrikaans               | Latin             | Indo-European   | Germanic                | High             |                            |\n| ajp_Arab           | ajp_Arab          | South Levantine Arabic  | Arabic            | Afro-Asiatic    | Semitic                 | Low              | Ammani                     |\n| aka_Latn           | aka_Latn          | Akan                    | Latin             | Atlantic-Congo  | Kwa Volta-Congo         | Low              | Asante                     |\n| amh_Ethi           | amh_Ethi          | Amharic                 | Geʽez             | Afro-Asiatic    | Semitic                 | Low              | Addis Ababa                |\n| apc_Arab           | apc_Arab          | North Levantine Arabic  | Arabic            | Afro-Asiatic    | Semitic                 | Low              |                            |\n| arb_Arab           | arb_Arab          | Modern Standard Arabic  | Arabic            | Afro-Asiatic    | Semitic                 | High             |                            |\n| arb_Latn           | -                 | Modern Standard Arabic  | Latin             | Afro-Asiatic    | Semitic                 | Low              |                            |\n| ars_Arab           | ars_Arab          | Najdi Arabic            | Arabic            | Afro-Asiatic    | Semitic                 | Low              |                            |\n| ary_Arab           | ary_Arab          | Moroccan Arabic         | Arabic            | Afro-Asiatic    | Semitic                 | Low              |                            |\n| arz_Arab           | arz_Arab          | Egyptian Arabic         | Arabic            | Afro-Asiatic    | Semitic                 | Low              |                            |\n| asm_Beng           | asm_Beng          | Assamese                | Bengali           | Indo-European   | Indo-Aryan              | Low              | Eastern                    |\n| ast_Latn           | ast_Latn          | Asturian                | Latin             | Indo-European   | Italic                  | Low              | Central                    |\n| awa_Deva           | awa_Deva          | Awadhi                  | Devanagari        | Indo-European   | Indo-Aryan              | Low              | Ayodhya                    |\n| ayr_Latn           | ayr_Latn          | Central Aymara          | Latin             | Aymaran         | Central Southern Aymara | Low              | Aymara La Paz jilata       |\n| azb_Arab           | azb_Arab          | South Azerbaijani       | Arabic            | Turkic          | Common Turkic           | Low              | Tabrizi                    |\n| azj_Latn           | azj_Latn          | North Azerbaijani       | Latin             | Turkic          | Common Turkic           | Low              | Shirvan                    |\n| bak_Cyrl           | bak_Cyrl          | Bashkir                 | Cyrillic          | Turkic          | Common Turkic           | Low              | Literary                   |\n| bam_Latn           | bam_Latn          | Bambara                 | Latin             | Mande           | Western Mande           | Low              |                            |\n| ban_Latn           | ban_Latn          | Balinese                | Latin             | Austronesian    | Malayo-Polynesian       | Low              |                            |\n| bel_Cyrl           | bel_Cyrl          | Belarusian              | Cyrillic          | Indo-European   | Balto-Slavic            | Low              | Central                    |\n| bem_Latn           | bem_Latn          | Bemba                   | Latin             | Atlantic-Congo  | Benue-Congo             | Low              | Central                    |\n| ben_Beng           | ben_Beng          | Bengali                 | Bengali           | Indo-European   | Indo-Aryan              | High             | Rarhi                      |\n| bho_Deva           | bho_Deva          | Bhojpuri                | Devanagari        | Indo-European   | Indo-Aryan              | Low              |                            |\n| bjn_Arab           | bjn_Arab          | Banjar                  | Arabic            | Austronesian    | Malayo-Polynesian       | Low              | Banjar Kuala               |\n| bjn_Latn           | bjn_Latn          | Banjar                  | Latin             | Austronesian    | Malayo-Polynesian       | Low              | Banjar Kuala               |\n| bod_Tibt           | bod_Tibt          | Standard Tibetan        | Tibetan           | Sino-Tibetan    | Bodic                   | Low              | Lhasa                      |\n| bos_Latn           | bos_Latn          | Bosnian                 | Latin             | Indo-European   | Balto-Slavic            | High             |                            |\n| bug_Latn           | bug_Latn          | Buginese                | Latin             | Austronesian    | Malayo-Polynesian       | Low              | Bone                       |\n| bul_Cyrl           | bul_Cyrl          | Bulgarian               | Cyrillic          | Indo-European   | Balto-Slavic            | High             |                            |\n| cat_Latn           | cat_Latn          | Catalan                 | Latin             | Indo-European   | Italic                  | High             |                            |\n| ceb_Latn           | ceb_Latn          | Cebuano                 | Latin             | Austronesian    | Malayo-Polynesian       | Low              |                            |\n| ces_Latn           | ces_Latn          | Czech                   | Latin             | Indo-European   | Balto-Slavic            | High             |                            |\n| cjk_Latn           | cjk_Latn          | Chokwe                  | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| ckb_Arab           | ckb_Arab          | Central Kurdish         | Arabic            | Indo-European   | Iranian                 | Low              |                            |\n| crh_Latn           | crh_Latn          | Crimean Tatar           | Latin             | Turkic          | Common Turkic           | Low              |                            |\n| cym_Latn           | cym_Latn          | Welsh                   | Latin             | Indo-European   | Celtic                  | Low              | Y Wyndodeg                 |\n| dan_Latn           | dan_Latn          | Danish                  | Latin             | Indo-European   | Germanic                | High             |                            |\n| deu_Latn           | deu_Latn          | German                  | Latin             | Indo-European   | Germanic                | High             |                            |\n| dik_Latn           | dik_Latn          | Southwestern Dinka      | Latin             | Nilotic         | Western Nilotic         | Low              | Rek                        |\n| dyu_Latn           | dyu_Latn          | Dyula                   | Latin             | Mande           | Western Mande           | Low              |                            |\n| dzo_Tibt           | dzo_Tibt          | Dzongkha                | Tibetan           | Sino-Tibetan    | Bodic                   | Low              |                            |\n| ell_Grek           | ell_Grek          | Greek                   | Greek             | Indo-European   | Graeco-Phrygian         | High             |                            |\n| eng_Latn           | eng_Latn          | English                 | Latin             | Indo-European   | Germanic                | High             |                            |\n| epo_Latn           | epo_Latn          | Esperanto               | Latin             | Constructed     | Esperantic              | Low              |                            |\n| est_Latn           | est_Latn          | Estonian                | Latin             | Uralic          | Finnic                  | High             |                            |\n| eus_Latn           | eus_Latn          | Basque                  | Latin             | Basque          | –                       | High             |                            |\n| ewe_Latn           | ewe_Latn          | Ewe                     | Latin             | Atlantic-Congo  | Kwa Volta-Congo         | Low              | Aŋlo                       |\n| fao_Latn           | fao_Latn          | Faroese                 | Latin             | Indo-European   | Germanic                | Low              |                            |\n| fij_Latn           | fij_Latn          | Fijian                  | Latin             | Austronesian    | Malayo-Polynesian       | Low              | Bau                        |\n| fin_Latn           | fin_Latn          | Finnish                 | Latin             | Uralic          | Finnic                  | High             |                            |\n| fon_Latn           | fon_Latn          | Fon                     | Latin             | Atlantic-Congo  | Kwa Volta-Congo         | Low              |                            |\n| fra_Latn           | fra_Latn          | French                  | Latin             | Indo-European   | Italic                  | High             |                            |\n| fur_Latn           | fur_Latn          | Friulian                | Latin             | Indo-European   | Italic                  | Low              | Central                    |\n| fuv_Latn           | fuv_Latn          | Nigerian Fulfulde       | Latin             | Atlantic-Congo  | North-Central Atlantic  | Low              | Sokoto                     |\n| gla_Latn           | gla_Latn          | Scottish Gaelic         | Latin             | Indo-European   | Celtic                  | Low              | Northern Hebrides          |\n| gle_Latn           | gle_Latn          | Irish                   | Latin             | Indo-European   | Celtic                  | Low              |                            |\n| glg_Latn           | glg_Latn          | Galician                | Latin             | Indo-European   | Italic                  | Low              |                            |\n| grn_Latn           | grn_Latn          | Guarani                 | Latin             | Tupian          | Maweti-Guarani          | Low              |                            |\n| guj_Gujr           | guj_Gujr          | Gujarati                | Gujarati          | Indo-European   | Indo-Aryan              | Low              | Amdavadi\u002FSurti             |\n| hat_Latn           | hat_Latn          | Haitian Creole          | Latin             | Indo-European   | Italic                  | Low              |                            |\n| hau_Latn           | hau_Latn          | Hausa                   | Latin             | Afro-Asiatic    | Chadic                  | Low              |                            |\n| heb_Hebr           | heb_Hebr          | Hebrew                  | Hebrew            | Afro-Asiatic    | Semitic                 | High             |                            |\n| hin_Deva           | hin_Deva          | Hindi                   | Devanagari        | Indo-European   | Indo-Aryan              | High             |                            |\n| hne_Deva           | hne_Deva          | Chhattisgarhi           | Devanagari        | Indo-European   | Indo-Aryan              | Low              |                            |\n| hrv_Latn           | hrv_Latn          | Croatian                | Latin             | Indo-European   | Balto-Slavic            | High             |                            |\n| hun_Latn           | hun_Latn          | Hungarian               | Latin             | Uralic          | –                       | High             |                            |\n| hye_Armn           | hye_Armn          | Armenian                | Armenian          | Indo-European   | Armenic                 | Low              | Yerevan                    |\n| ibo_Latn           | ibo_Latn          | Igbo                    | Latin             | Atlantic-Congo  | Benue-Congo             | Low              | Central                    |\n| ilo_Latn           | ilo_Latn          | Ilocano                 | Latin             | Austronesian    | Malayo-Polynesian       | Low              |                            |\n| ind_Latn           | ind_Latn          | Indonesian              | Latin             | Austronesian    | Malayo-Polynesian       | High             |                            |\n| isl_Latn           | isl_Latn          | Icelandic               | Latin             | Indo-European   | Germanic                | High             |                            |\n| ita_Latn           | ita_Latn          | Italian                 | Latin             | Indo-European   | Italic                  | High             |                            |\n| jav_Latn           | jav_Latn          | Javanese                | Latin             | Austronesian    | Malayo-Polynesian       | Low              |                            |\n| jpn_Jpan           | jpn_Jpan          | Japanese                | Japanese          | Japonic         | Japanesic               | High             |                            |\n| kab_Latn           | kab_Latn          | Kabyle                  | Latin             | Afro-Asiatic    | Berber                  | Low              | North Eastern              |\n| kac_Latn           | kac_Latn          | Jingpho                 | Latin             | Sino-Tibetan    | Brahmaputran            | Low              |                            |\n| kam_Latn           | kam_Latn          | Kamba                   | Latin             | Atlantic-Congo  | Benue-Congo             | Low              | Machakos                   |\n| kan_Knda           | kan_Knda          | Kannada                 | Kannada           | Dravidian       | South Dravidian         | Low              | Central                    |\n| kas_Arab           | kas_Arab          | Kashmiri                | Arabic            | Indo-European   | Indo-Aryan              | Low              | Kishtwari                  |\n| kas_Deva           | kas_Deva          | Kashmiri                | Devanagari        | Indo-European   | Indo-Aryan              | Low              | Kishtwari                  |\n| kat_Geor           | kat_Geor          | Georgian                | Georgian          | Kartvelian      | Georgian-Zan            | Low              | Kartlian                   |\n| knc_Arab           | knc_Arab          | Central Kanuri          | Arabic            | Saharan         | Western Saharan         | Low              | Yerwa                      |\n| knc_Latn           | knc_Latn          | Central Kanuri          | Latin             | Saharan         | Western Saharan         | Low              | Yerwa                      |\n| kaz_Cyrl           | kaz_Cyrl          | Kazakh                  | Cyrillic          | Turkic          | Common Turkic           | High             |                            |\n| kbp_Latn           | kbp_Latn          | Kabiyè                  | Latin             | Atlantic-Congo  | North Volta-Congo       | Low              | Kɛ̀̀wɛ                       |\n| kea_Latn           | kea_Latn          | Kabuverdianu            | Latin             | Indo-European   | Italic                  | Low              | Sotavento                  |\n| khm_Khmr           | khm_Khmr          | Khmer                   | Khmer             | Austroasiatic   | Khmeric                 | Low              | Central                    |\n| kik_Latn           | kik_Latn          | Kikuyu                  | Latin             | Atlantic-Congo  | Benue-Congo             | Low              | Southern                   |\n| kin_Latn           | kin_Latn          | Kinyarwanda             | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| kir_Cyrl           | kir_Cyrl          | Kyrgyz                  | Cyrillic          | Turkic          | Common Turkic           | Low              | Northern                   |\n| kmb_Latn           | kmb_Latn          | Kimbundu                | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| kmr_Latn           | kmr_Latn          | Northern Kurdish        | Latin             | Indo-European   | Iranian                 | Low              |                            |\n| kon_Latn           | kon_Latn          | Kikongo                 | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| kor_Hang           | kor_Hang          | Korean                  | Hangul            | Koreanic        | Korean                  | High             |                            |\n| lao_Laoo           | lao_Laoo          | Lao                     | Lao               | Tai-Kadai       | Kam-Tai                 | Low              | Vientiane                  |\n| lij_Latn           | lij_Latn          | Ligurian                | Latin             | Indo-European   | Italic                  | Low              | Zeneise                    |\n| lim_Latn           | lim_Latn          | Limburgish              | Latin             | Indo-European   | Germanic                | Low              | Maastrichtian              |\n| lin_Latn           | lin_Latn          | Lingala                 | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| lit_Latn           | lit_Latn          | Lithuanian              | Latin             | Indo-European   | Balto-Slavic            | High             |                            |\n| lmo_Latn           | lmo_Latn          | Lombard                 | Latin             | Indo-European   | Italic                  | Low              | Western                    |\n| ltg_Latn           | ltg_Latn          | Latgalian               | Latin             | Indo-European   | Balto-Slavic            | Low              | Central                    |\n| ltz_Latn           | ltz_Latn          | Luxembourgish           | Latin             | Indo-European   | Germanic                | Low              |                            |\n| lua_Latn           | lua_Latn          | Luba-Kasai              | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| lug_Latn           | lug_Latn          | Ganda                   | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| luo_Latn           | luo_Latn          | Luo                     | Latin             | Nilotic         | Western Nilotic         | Low              |                            |\n| lus_Latn           | lus_Latn          | Mizo                    | Latin             | Sino-Tibetan    | Kuki-Chin-Naga          | Low              | Aizawl                     |\n| lvs_Latn           | lvs_Latn          | Standard Latvian        | Latin             | Indo-European   | Balto-Slavic            | High             |                            |\n| mag_Deva           | mag_Deva          | Magahi                  | Devanagari        | Indo-European   | Indo-Aryan              | Low              | Gaya                       |\n| mai_Deva           | mai_Deva          | Maithili                | Devanagari        | Indo-European   | Indo-Aryan              | Low              |                            |\n| mal_Mlym           | mal_Mlym          | Malayalam               | Malayalam         | Dravidian       | South Dravidian         | Low              |                            |\n| mar_Deva           | mar_Deva          | Marathi                 | Devanagari        | Indo-European   | Indo-Aryan              | Low              | Varhadi                    |\n| min_Arab           | -                 | Minangkabau             | Arabic            | Austronesian    | Malayo-Polynesian       | Low              | Agam-Tanah Datar           |\n| min_Latn           | min_Latn          | Minangkabau             | Latin             | Austronesian    | Malayo-Polynesian       | Low              | Agam-Tanah Datar           |\n| mkd_Cyrl           | mkd_Cyrl          | Macedonian              | Cyrillic          | Indo-European   | Balto-Slavic            | High             |                            |\n| plt_Latn           | plt_Latn          | Plateau Malagasy        | Latin             | Austronesian    | Malayo-Polynesian       | Low              | Merina                     |\n| mlt_Latn           | mlt_Latn          | Maltese                 | Latin             | Afro-Asiatic    | Semitic                 | High             |                            |\n| mni_Beng           | mni_Beng          | Meitei                  | Bengali           | Sino-Tibetan    | Kuki-Chin-Naga          | Low              |                            |\n| khk_Cyrl           | khk_Cyrl          | Halh Mongolian          | Cyrillic          | Mongolic-Khitan | Mongolic                | Low              |                            |\n| mos_Latn           | mos_Latn          | Mossi                   | Latin             | Atlantic-Congo  | North Volta-Congo       | Low              | Ouagadougou                |\n| mri_Latn           | mri_Latn          | Maori                   | Latin             | Austronesian    | Malayo-Polynesian       | Low              | Waikato-Ngapuhi            |\n| mya_Mymr           | mya_Mymr          | Burmese                 | Myanmar           | Sino-Tibetan    | Burmo-Qiangic           | Low              | Mandalay-Yangon            |\n| nld_Latn           | nld_Latn          | Dutch                   | Latin             | Indo-European   | Germanic                | High             |                            |\n| nno_Latn           | nno_Latn          | Norwegian Nynorsk       | Latin             | Indo-European   | Germanic                | Low              |                            |\n| nob_Latn           | nob_Latn          | Norwegian Bokmål        | Latin             | Indo-European   | Germanic                | Low              |                            |\n| npi_Deva           | npi_Deva          | Nepali                  | Devanagari        | Indo-European   | Indo-Aryan              | Low              | Eastern                    |\n| nso_Latn           | nso_Latn          | Northern Sotho          | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| nus_Latn           | nus_Latn          | Nuer                    | Latin             | Nilotic         | Western Nilotic         | Low              |                            |\n| nya_Latn           | nya_Latn          | Nyanja                  | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| oci_Latn           | oci_Latn          | Occitan                 | Latin             | Indo-European   | Italic                  | Low              |                            |\n| gaz_Latn           | gaz_Latn          | West Central Oromo      | Latin             | Afro-Asiatic    | Cushitic                | Low              |                            |\n| ory_Orya           | ory_Orya          | Odia                    | Oriya             | Indo-European   | Indo-Aryan              | Low              | Baleswari (Northern)       |\n| pag_Latn           | pag_Latn          | Pangasinan              | Latin             | Austronesian    | Malayo-Polynesian       | Low              |                            |\n| pan_Guru           | pan_Guru          | Eastern Panjabi         | Gurmukhi          | Indo-European   | Indo-Aryan              | Low              | Majhi                      |\n| pap_Latn           | pap_Latn          | Papiamento              | Latin             | Indo-European   | Italic                  | Low              | Römer-Maduro-Jonis         |\n| pes_Arab           | pes_Arab          | Western Persian         | Arabic            | Indo-European   | Iranian                 | High             |                            |\n| pol_Latn           | pol_Latn          | Polish                  | Latin             | Indo-European   | Balto-Slavic            | High             |                            |\n| por_Latn           | por_Latn          | Portuguese              | Latin             | Indo-European   | Italic                  | High             | Brazil                     |\n| prs_Arab           | prs_Arab          | Dari                    | Arabic            | Indo-European   | Iranian                 | Low              | Kabuli                     |\n| pbt_Arab           | pbt_Arab          | Southern Pashto         | Arabic            | Indo-European   | Iranian                 | Low              | Literary                   |\n| quy_Latn           | quy_Latn          | Ayacucho Quechua        | Latin             | Quechuan        | Chinchay                | Low              | Southern Quechua           |\n| ron_Latn           | ron_Latn          | Romanian                | Latin             | Indo-European   | Italic                  | High             |                            |\n| run_Latn           | run_Latn          | Rundi                   | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| rus_Cyrl           | rus_Cyrl          | Russian                 | Cyrillic          | Indo-European   | Balto-Slavic            | High             |                            |\n| sag_Latn           | sag_Latn          | Sango                   | Latin             | Atlantic-Congo  | North Volta-Congo       | Low              |                            |\n| san_Deva           | san_Deva          | Sanskrit                | Devanagari        | Indo-European   | Indo-Aryan              | Low              |                            |\n| sat_Olck           | sat_Beng          | Santali                 | Ol Chiki          | Austroasiatic   | Mundaic                 | Low              |                            |\n| scn_Latn           | scn_Latn          | Sicilian                | Latin             | Indo-European   | Italic                  | Low              | Literary Sicilian          |\n| shn_Mymr           | shn_Mymr          | Shan                    | Myanmar           | Tai-Kadai       | Kam-Tai                 | Low              |                            |\n| sin_Sinh           | sin_Sinh          | Sinhala                 | Sinhala           | Indo-European   | Indo-Aryan              | Low              |                            |\n| slk_Latn           | slk_Latn          | Slovak                  | Latin             | Indo-European   | Balto-Slavic            | High             |                            |\n| slv_Latn           | slv_Latn          | Slovenian               | Latin             | Indo-European   | Balto-Slavic            | High             |                            |\n| smo_Latn           | smo_Latn          | Samoan                  | Latin             | Austronesian    | Malayo-Polynesian       | Low              |                            |\n| sna_Latn           | sna_Latn          | Shona                   | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| snd_Arab           | snd_Arab          | Sindhi                  | Arabic            | Indo-European   | Indo-Aryan              | Low              | Vicholi                    |\n| som_Latn           | som_Latn          | Somali                  | Latin             | Afro-Asiatic    | Cushitic                | Low              | Nsom                       |\n| sot_Latn           | sot_Latn          | Southern Sotho          | Latin             | Atlantic-Congo  | Benue-Congo             | High             |                            |\n| spa_Latn           | spa_Latn          | Spanish                 | Latin             | Indo-European   | Italic                  | High             | Latin American             |\n| als_Latn           | als_Latn          | Tosk Albanian           | Latin             | Indo-European   | Albanian                | High             |                            |\n| srd_Latn           | srd_Latn          | Sardinian               | Latin             | Indo-European   | Italic                  | Low              | Logudorese and Campidanese |\n| srp_Cyrl           | srp_Cyrl          | Serbian                 | Cyrillic          | Indo-European   | Balto-Slavic            | Low              |                            |\n| ssw_Latn           | ssw_Latn          | Swati                   | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| sun_Latn           | sun_Latn          | Sundanese               | Latin             | Austronesian    | Malayo-Polynesian       | Low              |                            |\n| swe_Latn           | swe_Latn          | Swedish                 | Latin             | Indo-European   | Germanic                | High             |                            |\n| swh_Latn           | swh_Latn          | Swahili                 | Latin             | Atlantic-Congo  | Benue-Congo             | High             | Kiunguja                   |\n| szl_Latn           | szl_Latn          | Silesian                | Latin             | Indo-European   | Balto-Slavic            | Low              |                            |\n| tam_Taml           | tam_Taml          | Tamil                   | Tamil             | Dravidian       | South Dravidian         | Low              | Chennai                    |\n| tat_Cyrl           | tat_Cyrl          | Tatar                   | Cyrillic          | Turkic          | Common Turkic           | Low              | Central and Middle         |\n| tel_Telu           | tel_Telu          | Telugu                  | Telugu            | Dravidian       | South Dravidian         | Low              | Coastal                    |\n| tgk_Cyrl           | tgk_Cyrl          | Tajik                   | Cyrillic          | Indo-European   | Iranian                 | Low              |                            |\n| tgl_Latn           | tgl_Latn          | Tagalog                 | Latin             | Austronesian    | Malayo-Polynesian       | High             |                            |\n| tha_Thai           | tha_Thai          | Thai                    | Thai              | Tai-Kadai       | Kam-Tai                 | High             |                            |\n| tir_Ethi           | tir_Ethi          | Tigrinya                | Geʽez             | Afro-Asiatic    | Semitic                 | Low              |                            |\n| taq_Latn           | taq_Latn          | Tamasheq                | Latin             | Afro-Asiatic    | Berber                  | Low              | Kal Ansar                  |\n| taq_Tfng           | taq_Tfng          | Tamasheq                | Tifinagh          | Afro-Asiatic    | Berber                  | Low              | Kal Ansar                  |\n| tpi_Latn           | tpi_Latn          | Tok Pisin               | Latin             | Indo-European   | Germanic                | Low              |                            |\n| tsn_Latn           | tsn_Latn          | Tswana                  | Latin             | Atlantic-Congo  | Benue-Congo             | High             | Sehurutshe                 |\n| tso_Latn           | tso_Latn          | Tsonga                  | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| tuk_Latn           | tuk_Latn          | Turkmen                 | Latin             | Turkic          | Common Turkic           | Low              | Teke                       |\n| tum_Latn           | tum_Latn          | Tumbuka                 | Latin             | Atlantic-Congo  | Benue-Congo             | Low              | Rumphi                     |\n| tur_Latn           | tur_Latn          | Turkish                 | Latin             | Turkic          | Common Turkic           | High             |                            |\n| twi_Latn           | twi_Latn          | Twi                     | Latin             | Atlantic-Congo  | Kwa Volta-Congo         | Low              | Akuapem                    |\n| tzm_Tfng           | tzm_Tfng          | Central Atlas Tamazight | Tifinagh          | Afro-Asiatic    | Berber                  | Low              |                            |\n| uig_Arab           | uig_Arab          | Uyghur                  | Arabic            | Turkic          | Common Turkic           | Low              |                            |\n| ukr_Cyrl           | ukr_Cyrl          | Ukrainian               | Cyrillic          | Indo-European   | Balto-Slavic            | High             |                            |\n| umb_Latn           | umb_Latn          | Umbundu                 | Latin             | Atlantic-Congo  | Benue-Congo             | Low              |                            |\n| urd_Arab           | urd_Arab          | Urdu                    | Arabic            | Indo-European   | Indo-Aryan              | Low              | Lashkari                   |\n| uzn_Latn           | uzn_Latn          | Northern Uzbek          | Latin             | Turkic          | Common Turkic           | High             |                            |\n| vec_Latn           | vec_Latn          | Venetian                | Latin             | Indo-European   | Italic                  | Low              | Venice                     |\n| vie_Latn           | vie_Latn          | Vietnamese              | Latin             | Austroasiatic   | Vietic                  | High             |                            |\n| war_Latn           | war_Latn          | Waray                   | Latin             | Austronesian    | Malayo-Polynesian       | Low              | Tacloban                   |\n| wol_Latn           | wol_Latn          | Wolof                   | Latin             | Atlantic-Congo  | North-Central Atlantic  | Low              | Dakkar                     |\n| xho_Latn           | xho_Latn          | Xhosa                   | Latin             | Atlantic-Congo  | Benue-Congo             | High             | Ngqika                     |\n| ydd_Hebr           | ydd_Hebr          | Eastern Yiddish         | Hebrew            | Indo-European   | Germanic                | Low              | Hasidic                    |\n| yor_Latn           | yor_Latn          | Yoruba                  | Latin             | Atlantic-Congo  | Benue-Congo             | Low              | Ọyọ and Ibadan             |\n| yue_Hant           | yue_Hant          | Yue Chinese             | Han (Traditional) | Sino-Tibetan    | Sinitic                 | Low              |                            |\n| zho_Hans           | zho_Hans          | Chinese                 | Han (Simplified)  | Sino-Tibetan    | Sinitic                 | High             |                            |\n| zho_Hant           | zho_Hant          | Chinese                 | Han (Traditional) | Sino-Tibetan    | Sinitic                 | High             |                            |\n| zsm_Latn           | zsm_Latn          | Standard Malay          | Latin             | Austronesian    | Malayo-Polynesian       | High             |                            |\n| zul_Latn           | zul_Latn          | Zulu                    | Latin             | Atlantic-Congo  | Benue-Congo             | High             |                            |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Available speech encoders\u003C\u002Fsummary>\n\n| lang_code | language         | link                                                               |\n| --------- | ---------------- | ------------------------------------------------------------------ |\n| arb       | ms arabic        | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.arb.pt) |\n| asm       | assamese         | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.asm.pt) |\n| bel       | belarussian      | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.bel.pt) |\n| ben       | bengali          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.ben.pt) |\n| bos       | bosnian          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.bos.pt) |\n| bul       | bulgarian        | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.bul.pt) |\n| cat       | catalan          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.cat.pt) |\n| ces       | czech            | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.ces.pt) |\n| cmn       | mandarin chinese | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.cmn.pt) |\n| cym       | welsh            | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.cym.pt) |\n| dan       | danish           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.dan.pt) |\n| deu       | german           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.deu.pt) |\n| est       | estonian         | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.est.pt) |\n| fin       | finnish          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.fin.pt) |\n| fra       | french           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.fra.pt) |\n| guj       | gujurati         | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.guj.pt) |\n| heb       | hebrew           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.heb.pt) |\n| hin       | hindi            | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.hin.pt) |\n| hrv       | croatian         | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.hrv.pt) |\n| ind       | indonesian       | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.ind.pt) |\n| ita       | italian          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.ita.pt) |\n| jpn       | japanse          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.jpn.pt) |\n| kan       | kannada          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.jan.pt) |\n| kor       | korean           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.kor.pt) |\n| lao       | lao              | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.lao.pt) |\n| lit       | lithaian         | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.lit.pt) |\n| lvs       | standard latvian | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.lvs.pt) |\n| mal       | malayalam        | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.mal.pt) |\n| mar       | marathi          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.mar.pt) |\n| mkd       | macedonian       | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.mkd.pt) |\n| mlt       | maltese          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.mlt.pt) |\n| npi       | nepali           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.npi.pt) |\n| nld       | dutch            | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.nld.pt) |\n| ory       | odia             | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.ory.pt) |\n| pan       | punjabi          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.pan.pt) |\n| pes       | western persian  | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.pes.pt) |\n| pol       | polish           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.po.pt)  |\n| por       | portuguese       | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.por.pt) |\n| ron       | romanian         | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.ron.pt) |\n| rus       | russian          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.rus.pt) |\n| slk       | slovak           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.slk.pt) |\n| slv       | slovenian        | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.slv.pt) |\n| snd       | sindhi           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.snd.pt) |\n| srp       | serbian          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.srp.pt) |\n| spa       | spanish          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.spa.pt) |\n| swe       | swedish          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.swe.pt) |\n| swh       | swahili          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.swh.pt) |\n| tam       | tamil            | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.tam.pt) |\n| tel       | telugu           | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.tel.pt) |\n| tgl       | tagalog          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.tgl.pt) |\n| tha       | thai             | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.tha.pt) |\n| tur       | turkish          | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.tur.pt) |\n| ukr       | ukrainian        | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.ukr.pt) |\n| urd       | urdu             | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.urd.pt) |\n| uzn       | northern uzbek   | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.uzn.pt) |\n| vie       | vietnamese       | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.vie.pt) |\n| yue       | yue              | [download](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.yue.pt) |\n\n\u003C\u002Fdetails>\n\n## Citation Information\n\nPlease cite the paper when referencing the SONAR embedding space, encoders and decoders as:\n\n```\n@misc{Duquenne:2023:sonar_arxiv,\n  author = {Paul-Ambroise Duquenne and Holger Schwenk and Benoit Sagot},\n  title = {{SONAR:} Sentence-Level Multimodal and Language-Agnostic Representations},\n  publisher = {arXiv},\n  year = {2023},\n  url = {https:\u002F\u002Farxiv.org\u002Fabs\u002F2308.11466},\n}\n```\n\n## Contributing\n\nSee the [CONTRIBUTING](CONTRIBUTING.md) file for how to help out.\n\n## License\n\nSONAR code is released under the MIT license (see [CODE_LICENSE](CODE_LICENSE.md)).\n\nSome of SONAR models are released with the same MIT license, BUT BEWARE,\nsome of them are released under a non commercial license (see [NC_MODEL_LICENSE](NC_MODEL_LICENSE.md)).\nPlease refer to [LICENSE](LICENSE.md) for the details.\n","# SONAR\n[[论文]](https:\u002F\u002Fai.meta.com\u002Fresearch\u002Fpublications\u002Fsonar-sentence-level-multimodal-and-language-agnostic-representations\u002F)\n[[演示]](#usage)\n\n我们推出了 SONAR，这是一个全新的多语言、多模态的固定尺寸句子嵌入空间，配备了一整套语音和文本编码器与解码器。在 xsim 和 xsim++ 多语言相似度搜索任务上，SONAR 的表现显著优于现有的句子嵌入方法，如 LASER3 和 LabSE。\n\n通过在语音转录数据上以师生学习的方式训练的语言特定语音编码器，可以将语音片段嵌入到同一个 SONAR 嵌入空间中。我们还提供了一个通用的文本解码器，使得我们可以进行文本到文本以及语音到文本的机器翻译，甚至支持零样本的语言和模态组合。\n\n*SONAR* 代表 **S**entence-level multim**O**dal and la**N**guage-**A**gnostic **R**epresentations（句子级多模态且语言无关的表示）。\n\n支持的语言列表（以及下载链接）请见下方 [此处](#supported-languages-and-download-links)。\n\n## SONAR 架构：\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_SONAR_readme_1e5f81b69d46.png\" width=\"800\">\u003Cbr \u002F>\n\u003C\u002Fp>\n\n\n## 文本结果\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_SONAR_readme_35bc1c280d12.png\" width=\"800\">\u003Cbr \u002F>\n\u003C\u002Fp>\n\n## 语音结果\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_SONAR_readme_fbbd0128eb2d.png\" width=\"400\">\u003Cbr \u002F>\n\u003C\u002Fp>\n\n\n## 安装\n\n您可以使用 `pip install sonar-space` 来安装 SONAR。请注意，PyPI 上还有一个名为 `sonar` 的包，但它并非本项目，请务必在依赖项中使用 `sonar-space`。\n\n需要注意的是，SONAR 依赖于 [Fairseq2](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2)，其版本必须与 `pytorch` 和 `CUDA` 的版本精确匹配（可选版本请参见 [这里](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2?tab=readme-ov-file#variants)）。您可以通过运行 `pip show torch` 来查看已安装的 PyTorch 版本。例如，如果显示为 `2.6.0+cu124`, 则应从以下源安装 Fairseq2：\n```bash\npip install fairseq2 --extra-index-url https:\u002F\u002Ffair.pkg.atmeta.com\u002Ffairseq2\u002Fwhl\u002Fpt2.6.0\u002Fcu124\n```\n如果 [Fairseq2](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2) 没有提供适用于您机器的构建版本，请参考该项目的 README 文件，在本地自行构建。\n\n我们建议在正确安装了 `fairseq2` 后再安装 SONAR。目前，SONAR 依赖于 `fairseq2>=0.5.2` 的稳定版本（可能存在细微差异）。\n\n如果您希望手动安装 SONAR，可以按如下步骤进行本地安装：\n\n```bash\npip install --upgrade pip\npip install -e .\n```\n\n### 版本说明\n遗憾的是，SONAR 的代码与 Fairseq2 的代码紧密耦合，因此只有特定版本之间才能相互兼容：\n- `sonar-space~=0.5.0`（当前版本）需要 `fairseq2>=0.5.2`\n- `sonar-space~=0.4.0` 需要 `fairseq2~=0.4.0`\n- `sonar-space~=0.2.0` 需要 `fairseq2~=0.2.0`\n\n未来，随着 Fairseq2 接口的进一步稳定，我们希望能够降低版本依赖的紧耦合程度。\n\n\n## 使用方法\n首次使用以下命令时，Fairseq2 会自动将模型下载到您的 `$TORCH_HOME\u002Fhub` 目录下。\n\n### 使用 SONAR 计算文本句子嵌入：\n```python\nfrom sonar.inference_pipelines.text import TextToEmbeddingModelPipeline\nt2vec_model = TextToEmbeddingModelPipeline(encoder=\"text_sonar_basic_encoder\",\n                                           tokenizer=\"text_sonar_basic_encoder\")\nsentences = ['我的名字是 SONAR。', '我可以把句子嵌入到向量空间中。']\nembeddings = t2vec_model.predict(sentences, source_lang=\"eng_Latn\")\nprint(embeddings.shape)\n# torch.Size([2, 1024])\n```\n\n请注意，默认情况下，所有 SONAR 模型都会加载到 CPU 设备上，速度相对较慢。如果您希望使用 GPU，则应在初始化模型时指定 `device` 参数（这适用于所有模型）。同样地，您也可以传递 `dtype` 参数。例如：\n```python\nimport torch\nfrom sonar.inference_pipelines.text import TextToEmbeddingModelPipeline\n\nembedder = TextToEmbeddingModelPipeline(\n  encoder=\"text_sonar_basic_encoder\", \n  tokenizer=\"text_sonar_basic_encoder\", \n  device=torch.device(\"cuda\"),\n  dtype=torch.float16,\n)\n```\n\n\n### 从 SONAR 嵌入重建文本\n```python\nfrom sonar.inference_pipelines.text import EmbeddingToTextModelPipeline\nvec2text_model = EmbeddingToTextModelPipeline(decoder=\"text_sonar_basic_decoder\",\n                                              tokenizer=\"text_sonar_basic_encoder\")\nreconstructed = vec2text_model.predict(embeddings, target_lang=\"eng_Latn\", max_seq_len=512)\n# max_seq_len 是传递给 Fairseq2 BeamSearchSeq2SeqGenerator 的关键字参数。\nprint(reconstructed)\n# ['我的名字是 SONAR。', '我可以把句子嵌入到向量空间中。']\n```\n\n默认情况下，SONAR 中的文本生成基于束搜索（[BeamSearchSeq2SeqGenerator](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2\u002Fblob\u002Fv0.4.5\u002Fsrc\u002Ffairseq2\u002Fgeneration\u002F_beam_search\u002F_generator.py#L45)），束大小设置为 `beam_size=5`。如果传入 `sampler` 参数，则会改用 [SamplingSeq2SeqGenerator](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2\u002Fblob\u002Fv0.4.5\u002Fsrc\u002Ffairseq2\u002Fgeneration\u002F_sampling\u002F_generator.py#L200)。所有其他参数都会传递给生成器构造函数。例如：\n\n```python\nfrom fairseq2.generation import TopPSampler, TopKSampler\nembeddings = t2vec_model.predict([\"Bonjour le monde!\"] * 10, source_lang=\"fra_Latn\")\nvec2text_model.predict(embeddings, target_lang=\"eng_Latn\", sampler=TopPSampler(0.99), max_seq_len=128)\n# ['你好，世界！',\n#  '嘿，大家好！',\n#  '祝你一天愉快，世界！',\n#  '你好，世界！',\n#  '你好，人们。',\n#  '世界各地的朋友们，大家好！',\n#  '你好，世界。你好吗？',\n#  '嘿，最近怎么样？',\n#  '下午好，各位。',\n#  '向世界问好！']\n# 由于采用了随机采样，每次输出都会不同。\n```\n\n请注意，`sampler` 参数指示使用 `SamplingSeq2SeqGenerator` 而不是 `BeamSearchSeq2SeqGenerator`，而 `max_seq_len` 参数则传递给了 `SamplingSeq2SeqGenerator` 的构造函数。\n\n\n### 使用 SONAR 进行文本翻译\n```python\nfrom sonar.inference_pipelines.text import TextToTextModelPipeline\nt2t_model = TextToTextModelPipeline(encoder=\"text_sonar_basic_encoder\",\n                                    decoder=\"text_sonar_basic_decoder\",\n                                    tokenizer=\"text_sonar_basic_encoder\")  # 分词器同时关联编码器和解码器\n\nsentences = ['我的名字是 SONAR。', '我可以把句子嵌入到向量空间中。']\nt2t_model.predict(sentences, source_lang=\"eng_Latn\", target_lang=\"fra_Latn\")\n# ['Mon nom est SONAR.', \"Je peux intégrer les phrases dans l'espace vectoriel.\"]\n```\n\n### 使用 SONAR 计算语音句子嵌入\n```python\nfrom sonar.inference_pipelines.speech import SpeechToEmbeddingModelPipeline\ns2vec_model = SpeechToEmbeddingModelPipeline(encoder=\"sonar_speech_encoder_eng\")\n\ns2vec_model.predict([\".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_1.wav\",\n                     \".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_2.wav\"]).shape\n# torch.Size([2, 1024])\nimport torchaudio\ninp, sr = torchaudio.load(\".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_1.wav\")\nassert sr == 16000, \"采样率应为16kHz\"\n\ns2vec_model.predict([inp]).shape\n# torch.Size([1, 1024])\n```\n\n### 使用 SONAR 进行语音转文本翻译\n```python\nfrom sonar.inference_pipelines.speech import SpeechToTextModelPipeline\n\ns2t_model = SpeechToTextModelPipeline(encoder=\"sonar_speech_encoder_eng\",\n                                      decoder=\"text_sonar_basic_decoder\",\n                                      tokenizer=\"text_sonar_basic_decoder\")\n\nimport torchaudio\ninp, sr = torchaudio.load(\".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_1.wav\")\nassert sr == 16000, \"采样率应为16kHz\"\n\n# 传入已加载的音频文件\ns2t_model.predict([inp], target_lang=\"eng_Latn\")\n# ['电视报道显示工厂冒出白烟。']\n\n# 传入多个wav文件\ns2t_model.predict([\".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_1.wav\",\n                   \".\u002Ftests\u002Fintegration_tests\u002Fdata\u002Faudio_files\u002Faudio_2.wav\"], target_lang=\"eng_Latn\")\n# ['电视报道显示工厂冒出白烟。',\n# '这些夫妇可以选择为他们的孩子制定领养计划。']\n```\n\n\n### 使用 BLASER 2.0 模型预测句子相似度\n\nBLASER 2.0 是一个基于 SONAR 嵌入的机器翻译质量自动评估模型系列。\n它们可以预测翻译与源句之间的[跨语言语义相似度](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq\u002Ftree\u002Fnllb\u002Fexamples\u002Fnllb\u002Fhuman_XSTS_eval)，\n（可选地，还可以使用参考译文）。\n\n```Python\nfrom sonar.inference_pipelines.text import TextToEmbeddingModelPipeline\nfrom sonar.models.blaser.loader import load_blaser_model\n\nblaser_ref = load_blaser_model(\"blaser_2_0_ref\").eval()\nblaser_qe = load_blaser_model(\"blaser_2_0_qe\").eval()\ntext_embedder = TextToEmbeddingModelPipeline(encoder=\"text_sonar_basic_encoder\", tokenizer=\"text_sonar_basic_encoder\")\n\nsrc_embs = text_embedder.predict([\"Le chat s'assit sur le tapis.\"], source_lang=\"fra_Latn\")\nref_embs = text_embedder.predict([\"The cat sat on the mat.\"], source_lang=\"eng_Latn\")\nmt_embs = text_embedder.predict([\"The cat sat down on the carpet.\"], source_lang=\"eng_Latn\")\n\nwith torch.inference_mode():\n    print(blaser_ref(src=src_embs, ref=ref_embs, mt=mt_embs).item())  # 4.688\n    print(blaser_qe(src=src_embs, mt=mt_embs).item())  # 4.708\n```\n\n更多示例和详细模型卡片：[facebook\u002Fblaser-2.0-ref](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fblaser-2.0-ref)，[facebook\u002Fblaser-2.0-qe](https:\u002F\u002Fhuggingface.co\u002Ffacebook\u002Fblaser-2.0-qe)。\n\n### 使用 MuTox 对句子毒性进行分类\n\n[MuTox](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fseamless_communication\u002Ftree\u002Fmain\u002Fsrc\u002Fseamless_communication\u002Fcli\u002Ftoxicity\u002Fmutox) 是首个高度多语言的基于音频的二分类器及包含毒性标签的数据集。该数据集包含 2 万条英语和西班牙语的音频语句，以及另外 19 种语言的 4 千条语句，并使用了 SONAR 中的多模态和多语言编码器。MuTox 分类器的输出是根据相应数据集中采用的定义，对被评估内容是否为“有毒”的 logits 值。\n\n```Python\nfrom sonar.models.mutox.loader import load_mutox_model\nfrom sonar.inference_pipelines.text import TextToEmbeddingModelPipeline\nimport torch\n\nif torch.cuda.is_available():\n    device = torch.device(\"cuda:0\")\n    dtype = torch.float16\nelse:\n    device = torch.device(\"cpu\")\n    dtype = torch.float32\n\nt2vec_model = TextToEmbeddingModelPipeline(\n    encoder=\"text_sonar_basic_encoder\",\n    tokenizer=\"text_sonar_basic_encoder\",\n    device=device,\n)\ntext_column='lang_txt'\nclassifier = load_mutox_model(\n    \"sonar_mutox\",\n    device=device,\n    dtype=dtype,\n).eval()\n\nwith torch.inference_mode():\n    emb = t2vec_model.predict([\"De peur que le pays ne se prostitue et ne se remplisse de crimes.\"], source_lang='fra_Latn')\n    x = classifier(emb.to(device).to(dtype)) \n    print(x) # tensor([[-19.7812]], device='cuda:0', dtype=torch.float16)\n\nwith torch.inference_mode():\n    emb = t2vec_model.predict([\"她努力工作，为团队做出了重大贡献。”], source_lang='eng_Latn')\n    x = classifier(emb.to(device).to(dtype))\n    print(x) # tensor([[-53.5938]], device='cuda:0', dtype=torch.float16)\n\nwith torch.inference_mode():\n    emb = t2vec_model.predict([\"他毫无天赋，所取得的一切成就都归功于贿赂和操纵。”], source_lang='spa_Latn')\n    x = classifier(emb.to(device).to(dtype))\n    print(x) # tensor([[-21.4062]], device='cuda:0', dtype=torch.float16)\n```\n\n如需以命令行方式运行 MuTox 流程，请访问 [Seamless Communication\u002F...\u002FMuTox](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fseamless_communication\u002Ftree\u002Fmain\u002Fsrc\u002Fseamless_communication\u002Fcli\u002Ftoxicity\u002Fmutox)。\n\n### 示例笔记本\n查看更多完整的示例笔记本：\n\n* [SONAR 文本到文本相似度与翻译](examples\u002Fsonar_text_demo.ipynb)\n* [SONAR 语音转文本及其他数据管道示例](examples\u002Finference_pipelines.ipynb)\n* [SONAR 双语文档对齐与文本相似度](examples\u002Fbilingual_document.ipynb)\n\n### 故障排除\n\n- 如果遇到类似 `fairseq2.assets.card.AssetCardError: Model checkpoint of the blaser_2_0_qe asset card cannot be loaded` 的错误，请尝试清除 fairseq2 的资产缓存（位于 `~\u002F.cache\u002Ffairseq2`）；可能是某些下载的模型检查点无效。\n\n\n## 支持的语言及下载链接\nSONAR 文本编码器和解码器支持 200 种语言。SONAR 语音编码器支持 37 种语言。\n\n\u003Cdetails>\n\u003Csummary>可用的文本编码器\u002F解码器\u003C\u002Fsummary>\n\n| 模型             | 链接                                                                               |\n| ----------------- | ---------------------------------------------------------------------------------- |\n| 编码器           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fsonar_text_encoder.pt)             |\n| 解码器           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fsonar_text_decoder.pt)             |\n| 微调解码器       | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Ffinetuned_decoder.pt)              |\n| 分词器           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fsentencepiece.source.256000.model) |\n\nSONAR 文本编码器\u002F解码器支持的语言是 NLLB-200 模型中的全部 202 种语言。\n它们包含了 [FLORES-200 语言集](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fflores\u002Ftree\u002Fmain\u002Fflores200) 中的所有 204 种语言，\n但不包括 `arb_Latn` 和 `min_Arab`。（需要注意的是，`sat_Olck` 被以 `sat_Beng` 的名称支持，尽管正确的书写系统是 `Olck`。）\n\n有关语言列表的更多详细信息，请参阅 [No Language Left Behind 论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2207.04672)。\n（下表基于该论文中的表 1）：\n\n| flores语言代码   | sonar语言代码   | 语言名称               | 文字系统            | 语系          | 子分类             | 资源级别   | 方言                    |\n|:-------------------|:------------------|:------------------------|:------------------|:----------------|:------------------------|:-----------------|:---------------------------|\n| ace_Arab           | ace_Arab          | 亚齐语                | 阿拉伯文字        | 南岛语系    | 马来-波利尼西亚语族   | 低              | 北部亚齐语             |\n| ace_Latn           | ace_Latn          | 亚齐语                | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              | 北部亚齐语             |\n| acm_Arab           | acm_Arab          | 美索不达米亚阿拉伯语     | 阿拉伯文字        | 亚非语系    | 闪米特语族           | 低              | 巴格达方言             |\n| acq_Arab           | acq_Arab          | 泰伊兹-阿登阿拉伯语      | 阿拉伯文字        | 亚非语系    | 闪米特语族           | 低              |                          |\n| aeb_Arab           | aeb_Arab          | 突尼斯阿拉伯语          | 阿拉伯文字        | 亚非语系    | 闪米特语族           | 低              | 德尔贾方言             |\n| afr_Latn           | afr_Latn          | 南非语                | 拉丁字母          | 印欧语系    | 日耳曼语族           | 高              |                          |\n| ajp_Arab           | ajp_Arab          | 南黎凡特阿拉伯语        | 阿拉伯文字        | 亚非语系    | 闪米特语族           | 低              | 安曼方言               |\n| aka_Latn           | aka_Latn          | 阿坎语                | 拉丁字母          | 大西洋-刚果语系 | 克瓦-伏塔-刚果语族     | 低              | 阿散蒂方言             |\n| amh_Ethi           | amh_Ethi          | 阿姆哈拉语             | 吉兹文字          | 亚非语系    | 闪米特语族           | 低              | 亚的斯亚贝巴方言       |\n| apc_Arab           | apc_Arab          | 北黎凡特阿拉伯语        | 阿拉伯文字        | 亚非语系    | 闪米特语族           | 低              |                          |\n| arb_Arab           | arb_Arab          | 现代标准阿拉伯语        | 阿拉伯文字        | 亚非语系    | 闪米特语族           | 高              |                          |\n| arb_Latn           | -                 | 现代标准阿拉伯语        | 拉丁字母          | 亚非语系    | 闪米特语族           | 低              |                          |\n| ars_Arab           | ars_Arab          | 纳季德阿拉伯语          | 阿拉伯文字        | 亚非语系    | 闪米特语族           | 低              |                          |\n| ary_Arab           | ary_Arab          | 摩洛哥阿拉伯语          | 阿拉伯文字        | 亚非语系    | 闪米特语族           | 低              |                          |\n| arz_Arab           | arz_Arab          | 埃及阿拉伯语            | 阿拉伯文字        | 亚非语系    | 闪米特语族           | 低              |                          |\n| asm_Beng           | asm_Beng          | 阿萨姆语                | 孟加拉文字        | 印欧语系    | 印度-雅利安语族       | 低              | 东部方言               |\n| ast_Latn           | ast_Latn          | 阿斯图里亚斯语          | 拉丁字母          | 印欧语系    | 意大利语族           | 低              | 中部方言               |\n| awa_Deva           | awa_Deva          | 阿瓦迪语                | 天城文            | 印欧语系    | 印度-雅利安语族       | 低              | 阿约提亚方言           |\n| ayr_Latn           | ayr_Latn          | 中央艾马拉语            | 拉丁字母          | 艾马拉语系  | 中南艾马拉语族         | 低              | 拉巴斯艾马拉方言       |\n| azb_Arab           | azb_Arab          | 南阿塞拜疆语            | 阿拉伯文字        | 突厥语系    | 共同突厥语族           | 低              | 塔布里兹方言           |\n| azj_Latn           | azj_Latn          | 北阿塞拜疆语            | 拉丁字母          | 突厥语系    | 共同突厥语族           | 低              | 希尔万方言             |\n| bak_Cyrl           | bak_Cyrl          | 巴什基尔语              | 西里尔文字        | 突厥语系    | 共同突厥语族           | 低              | 文学标准               |\n| bam_Latn           | bam_Latn          | 班巴拉语                | 拉丁字母          | 曼德语系    | 西部曼德语族           | 低              |                          |\n| ban_Latn           | ban_Latn          | 巴厘语                  | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              |                          |\n| bel_Cyrl           | bel_Cyrl          | 白俄罗斯语              | 西里尔文字        | 印欧语系    | 波罗的-斯拉夫语族     | 低              | 中部方言               |\n| bem_Latn           | bem_Latn          | 奔巴语                  | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              | 中部方言               |\n| ben_Beng           | ben_Beng          | 孟加拉语                | 孟加拉文字        | 印欧语系    | 印度-雅利安语族       | 高              | 拉尔希方言             |\n| bho_Deva           | bho_Deva          | 博杰普里语              | 天城文            | 印欧语系    | 印度-雅利安语族       | 低              |                          |\n| bjn_Arab           | bjn_Arab          | 班贾尔语                | 阿拉伯文字        | 南岛语系    | 马来-波利尼西亚语族   | 低              | 班贾尔瓜拉方言         |\n| bjn_Latn           | bjn_Latn          | 班贾尔语                | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              | 班贾尔瓜拉方言         |\n| bod_Tibt           | bod_Tibt          | 标准藏语                | 藏文字            | 汉藏语系    | 藏语族                 | 低              | 拉萨方言               |\n| bos_Latn           | bos_Latn          | 波斯尼亚语              | 拉丁字母          | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| bug_Latn           | bug_Latn          | 布吉语                  | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              | 邦内方言               |\n| bul_Cyrl           | bul_Cyrl          | 保加利亚语              | 西里尔文字        | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| cat_Latn           | cat_Latn          | 加泰罗尼亚语            | 拉丁字母          | 印欧语系    | 意大利语族           | 高              |                          |\n| ceb_Latn           | ceb_Latn          | 宿务语                  | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              |                          |\n| ces_Latn           | ces_Latn          | 捷克语                  | 拉丁字母          | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| cjk_Latn           | cjk_Latn          | 乔克韦语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| ckb_Arab           | ckb_Arab          | 中央库尔德语              | 阿拉伯文字        | 印欧语系    | 伊朗语族               | 低              |                          |\n| crh_Latn           | crh_Latn          | 克里米亚鞑靼语          | 拉丁字母          | 突厥语系    | 共同突厥语族           | 低              |                          |\n| cym_Latn           | cym_Latn          | 威尔士语                | 拉丁字母          | 印欧语系    | 凯尔特语族           | 低              | 威恩多德方言           |\n| dan_Latn           | dan_Latn          | 丹麦语                  | 拉丁字母          | 印欧语系    | 日耳曼语族           | 高              |                          |\n| deu_Latn           | deu_Latn          | 德语                    | 拉丁字母          | 印欧语系    | 日耳曼语族           | 高              |                          |\n| dik_Latn           | dik_Latn          | 西南丁卡语              | 拉丁字母          | 尼罗语系    | 西部尼罗语族           | 低              | 雷克方言               |\n| dyu_Latn           | dyu_Latn          | 迪乌拉语                | 拉丁字母          | 曼德语系    | 西部曼德语族           | 低              |                          |\n| dzo_Tibt           | dzo_Tibt          | 宗喀语                  | 藏文字            | 汉藏语系    | 藏语族                 | 低              |                          |\n| ell_Grek           | ell_Grek          | 希腊语                  | 希腊文字          | 印欧语系    | 希腊-弗里吉亚语族     | 高              |                          |\n| eng_Latn           | eng_Latn          | 英语                    | 拉丁字母          | 印欧语系    | 日耳曼语族           | 高              |                          |\n| epo_Latn           | epo_Latn          | 世界语                  | 拉丁字母          | 人工语言    | 世界语族               | 低              |                          |\n| est_Latn           | est_Latn          | 爱沙尼亚语              | 拉丁字母          | 乌拉尔语系  | 芬诺语族               | 高              |                          |\n| eus_Latn           | eus_Latn          | 巴斯克语                | 拉丁字母          | 巴斯克语系  | –                      | 高              |                          |\n| ewe_Latn           | ewe_Latn          | 埃维语                  | 拉丁字母          | 大西洋-刚果语系 | 克瓦-伏塔-刚果语族     | 低              | 安格洛方言             |\n| fao_Latn           | fao_Latn          | 法罗语                  | 拉丁字母          | 印欧语系    | 日耳曼语族           | 低              |                          |\n| fij_Latn           | fij_Latn          | 斐济语                  | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              | 包乌方言               |\n| fin_Latn           | fin_Latn          | 芬兰语                  | 拉丁字母          | 乌拉尔语系  | 芬诺语族               | 高              |                          |\n| fon_Latn           | fon_Latn          | 丰语                    | 拉丁字母          | 大西洋-刚果语系 | 克瓦-伏塔-刚果语族     | 低              |                          |\n| fra_Latn           | fra_Latn          | 法语                    | 拉丁字母          | 印欧语系    | 意大利语族           | 高              |                          |\n| fur_Latn           | fur_Latn          | 弗留利语                | 拉丁字母          | 印欧语系    | 意大利语族           | 低              | 中部方言               |\n| fuv_Latn           | fuv_Latn          | 尼日利亚富拉尼语        | 拉丁字母          | 大西洋-刚果语系 | 北中部大西洋语族         | 低              | 索科托方言             |\n| gla_Latn           | gla_Latn          | 苏格兰盖尔语            | 拉丁字母          | 印欧语系    | 凯尔特语族           | 低              | 北部赫布里底方言       |\n| gle_Latn           | gle_Latn          | 爱尔兰语                | 拉丁字母          | 印欧语系    | 凯尔特语族           | 低              |                          |\n| glg_Latn           | glg_Latn          | 加利西亚语              | 拉丁字母          | 印欧语系    | 意大利语族           | 低              |                          |\n| grn_Latn           | grn_Latn          | 瓜拉尼语                | 拉丁字母          | 图皮语系    | 马韦蒂-瓜拉尼语族     | 低              |                          |\n| guj_Gujr           | guj_Gujr          | 古吉拉特语              | 古吉拉特文字        | 印欧语系    | 印度-雅利安语族       | 低              | 阿姆达瓦迪\u002F苏尔蒂方言   |\n| hat_Latn           | hat_Latn          | 海地克里奥尔语          | 拉丁字母          | 印欧语系    | 意大利语族           | 低              |                          |\n| hau_Latn           | hau_Latn          | 豪萨语                  | 拉丁字母          | 亚非语系    | 查得语族               | 低              |                          |\n| heb_Hebr           | heb_Hebr          | 希伯来语                | 希伯来文字        | 亚非语系    | 闪米特语族           | 高              |                          |\n| hin_Deva           | hin_Deva          | 印地语                  | 天城文            | 印欧语系    | 印度-雅利安语族       | 高              |                          |\n| hne_Deva           | hne_Deva          | 恰蒂斯加尔语            | 天城文            | 印欧语系    | 印度-雅利安语族       | 低              |                          |\n| hrv_Latn           | hrv_Latn          | 克罗地亚语              | 拉丁字母          | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| hun_Latn           | hun_Latn          | 匈牙利语                | 拉丁字母          | 乌拉尔语系  | –                      | 高              |                          |\n| hye_Armn           | hye_Armn          | 亚美尼亚语              | 亚美尼亚文字        | 印欧语系    | 亚美尼亚语族           | 低              | 埃里温方言             |\n| ibo_Latn           | ibo_Latn          | 伊博语                  | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              | 中部方言               |\n| ilo_Latn           | ilo_Latn          | 伊洛卡诺语              | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              |                          |\n| ind_Latn           | ind_Latn          | 印度尼西亚语            | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 高              |                          |\n| isl_Latn           | isl_Latn          | 冰岛语                  | 拉丁字母          | 印欧语系    | 日耳曼语族           | 高              |                          |\n| ita_Latn           | ita_Latn          | 意大利语                | 拉丁字母          | 印欧语系    | 意大利语族           | 高              |                          |\n| jav_Latn           | jav_Latn          | 爪哇语                  | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              |                          |\n| jpn_Jpan           | jpn_Jpan          | 日语                    | 日本文字          | 日本语系    | 日本语族               | 高              |                          |\n| kab_Latn           | kab_Latn          | 卡比勒语                | 拉丁字母          | 亚非语系    | 柏柏尔语族           | 低              | 北东部方言             |\n| kac_Latn           | kac_Latn          | 京泊语                  | 拉丁字母          | 汉藏语系    | 布拉马普特拉语族       | 低              |                          |\n| kam_Latn           | kam_Latn          | 坎巴语                  | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              | 马查科斯方言           |\n| kan_Knda           | kan_Knda          | 卡纳达语                | 卡纳达文字        | 达罗毗荼语系  | 南部达罗毗荼语族       | 低              | 中部方言               |\n| kas_Arab           | kas_Arab          | 克什米尔语              | 阿拉伯文字        | 印欧语系    | 印度-雅利安语族       | 低              | 基什特瓦里方言         |\n| kas_Deva           | kas_Deva          | 克什米尔语              | 天城文            | 印欧语系    | 印度-雅利安语族       | 低              | 基什特瓦里方言         |\n| kat_Geor           | kat_Geor          | 格鲁吉亚语              | 格鲁吉亚文字        | 卡尔特维尔语系 | 格鲁吉亚-赞语族         | 低              | 卡尔特利方言           |\n| knc_Arab           | knc_Arab          | 中央卡努里语              | 阿拉伯文字        | 撒哈拉语系  | 西撒哈拉语族           | 低              | 叶尔瓦方言             |\n| knc_Latn           | knc_Latn          | 中央卡努里语              | 拉丁字母          | 撒哈拉语系  | 西撒哈拉语族           | 低              | 叶尔瓦方言             |\n| kaz_Cyrl           | kaz_Cyrl          | 哈萨克语                | 西里尔文字        | 突厥语系    | 共同突厥语族           | 高              |                          |\n| kbp_Latn           | kbp_Latn          | 卡比耶语                | 拉丁字母          | 大西洋-刚果语系 | 北伏塔-刚果语族         | 低              | 克韦方言               |\n| kea_Latn           | kea_Latn          | 卡布维德语              | 拉丁字母          | 印欧语系    | 意大利语族           | 低              | 索塔文托方言           |\n| khm_Khmr           | khm_Khmr          | 高棉语                  | 高棉文字          | 奥斯特罗亚洲语系 | 高棉语族               | 低              | 中部方言               |\n| kik_Latn           | kik_Latn          | 基库尤语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              | 南部方言               |\n| kin_Latn           | kin_Latn          | 基尼亚卢旺达语          | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| kir_Cyrl           | kir_Cyrl          | 吉尔吉斯语              | 西里尔文字        | 突厥语系    | 共同突厥语族           | 低              | 北部方言               |\n| kmb_Latn           | kmb_Latn          | 金本杜语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| kmr_Latn           | kmr_Latn          | 北部库尔德语              | 拉丁字母          | 印欧语系    | 伊朗语族               | 低              |                          |\n| kon_Latn           | kon_Latn          | 基孔戈语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| kor_Hang           | kor_Hang          | 韩语                    | 韩文字            | 韩语系    | 韩语族                 | 高              |                          |\n| lao_Laoo           | lao_Laoo          | 老挝语                  | 老挝文字          | 泰-卡岱语系  | 卡姆-泰语族           | 低              | 万象方言               |\n| lij_Latn           | lij_Latn          | 利古里亚语              | 拉丁字母          | 印欧语系    | 意大利语族           | 低              | 热那亚方言             |\n| lim_Latn           | lim_Latn          | 林堡语                  | 拉丁字母          | 印欧语系    | 日耳曼语族           | 低              | 马斯特里赫特方言       |\n| lin_Latn           | lin_Latn          | 林加拉语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| lit_Latn           | lit_Latn          | 立陶宛语                | 拉丁字母          | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| lmo_Latn           | lmo_Latn          | 伦巴第语                | 拉丁字母          | 印欧语系    | 意大利语族           | 低              | 西部方言               |\n| ltg_Latn           | ltg_Latn          | 拉特加莱语              | 拉丁字母          | 印欧语系    | 波罗的-斯拉夫语族     | 低              | 中部方言               |\n| ltz_Latn           | ltz_Latn          | 卢森堡语                | 拉丁字母          | 印欧语系    | 日耳曼语族           | 低              |                          |\n| lua_Latn           | lua_Latn          | 卢巴-卡赛语              | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| lug_Latn           | lug_Latn          | 干达语                  | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| luo_Latn           | luo_Latn          | 洛语                    | 拉丁字母          | 尼罗语系    | 西部尼罗语族           | 低              |                          |\n| lus_Latn           | lus_Latn          | 米佐语                  | 拉丁字母          | 汉藏语系    | 库基-钦-纳加语族       | 低              | 艾佐尔方言             |\n| lvs_Latn           | lvs_Latn          | 标准拉脱维亚语          | 拉丁字母          | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| mag_Deva           | mag_Deva          | 马伽语                  | 天城文            | 印欧语系    | 印度-雅利安语族       | 低              | 盖亚方言               |\n| mai_Deva           | mai_Deva          | 迈蒂利语                | 天城文            | 印欧语系    | 印度-雅利安语族       | 低              |                          |\n| mal_Mlym           | mal_Mlym          | 马拉雅拉姆语              | 马拉雅拉姆文字        | 达罗毗荼语系  | 南部达罗毗荼语族       | 低              |                          |\n| mar_Deva           | mar_Deva          | 马拉地语                | 天城文            | 印欧语系    | 印度-雅利安语族       | 低              | 瓦尔哈迪方言           |\n| min_Arab           | -                 | 米南卡巴乌语              | 阿拉伯文字        | 南岛语系    | 马来-波利尼西亚语族   | 低              | 阿甘-塔纳达塔尔方言     |\n| min_Latn           | min_Latn          | 米南卡巴乌语              | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              | 阿甘-塔纳达塔尔方言     |\n| mkd_Cyrl           | mkd_Cyrl          | 马其顿语                | 西里尔文字        | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| plt_Latn           | plt_Latn          | 高原马达加斯加语          | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              | 梅里纳方言             |\n| mlt_Latn           | mlt_Latn          | 马耳他语                | 拉丁字母          | 亚非语系    | 闪米特语族           | 高              |                          |\n| mni_Beng           | mni_Beng          | 缅泰语                  | 孟加拉文字        | 汉藏语系    | 库基-钦-纳加语族       | 低              |                          |\n| khk_Cyrl           | khk_Cyrl          | 哈尔蒙古语              | 西里尔文字        | 蒙古-契丹语系 | 蒙古语族               | 低              |                          |\n| mos_Latn           | mos_Latn          | 莫西语                  | 拉丁字母          | 大西洋-刚果语系 | 北伏塔-刚果语族         | 低              | 瓦加杜古方言           |\n| mri_Latn           | mri_Latn          | 毛利语                  | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              | 怀卡托-恩加普希方言     |\n| mya_Mymr           | mya_Mymr          | 缅甸语                  | 缅甸文字          | 汉藏语系    | 缅-羌语族             | 低              | 曼德勒-仰光方言         |\n| nld_Latn           | nld_Latn          | 荷兰语                  | 拉丁字母          | 印欧语系    | 日耳曼语族           | 高              |                          |\n| nno_Latn           | nno_Latn          | 新挪威语                | 拉丁字母          | 印欧语系    | 日耳曼语族           | 低              |                          |\n| nob_Latn           | nob_Latn          | 书面挪威语              | 拉丁字母          | 印欧语系    | 日耳曼语族           | 低              |                          |\n| npi_Deva           | npi_Deva          | 尼泊尔语                | 天城文            | 印欧语系    | 印度-雅利安语族       | 低              | 东部方言               |\n| nso_Latn           | nso_Latn          | 北索托语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| nus_Latn           | nus_Latn          | 努尔语                  | 拉丁字母          | 尼罗语系    | 西部尼罗语族           | 低              |                          |\n| nya_Latn           | nya_Latn          | 尼扬贾语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| oci_Latn           | oci_Latn          | 奥克语                  | 拉丁字母          | 印欧语系    | 意大利语族           | 低              |                          |\n| gaz_Latn           | gaz_Latn          | 西中奥罗莫语              | 拉丁字母          | 亚非语系    | 库希语族               | 低              |                          |\n| ory_Orya           | ory_Orya          | 奥里亚语                | 奥里亚文字        | 印欧语系    | 印度-雅利安语族       | 低              | 巴莱斯瓦里（北部）方言   |\n| pag_Latn           | pag_Latn          | 潘加西南语              | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              |                          |\n| pan_Guru           | pan_Guru          | 东旁遮普语                | 古鲁穆基文字        | 印欧语系    | 印度-雅利安语族       | 低              | 马吉方言               |\n| pap_Latn           | pap_Latn          | 帕皮亚门托语              | 拉丁字母          | 印欧语系    | 意大利语族           | 低              | 罗默-马杜罗-乔尼斯方言   |\n| pes_Arab           | pes_Arab          | 西方波斯语                | 阿拉伯文字        | 印欧语系    | 伊朗语族               | 高              |                          |\n| pol_Latn           | pol_Latn          | 波兰语                  | 拉丁字母          | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| por_Latn           | por_Latn          | 葡萄牙语                | 拉丁字母          | 印欧语系    | 意大利语族           | 高              | 巴西方言               |\n| prs_Arab           | prs_Arab          | 达里语                  | 阿拉伯文字        | 印欧语系    | 伊朗语族               | 低              | 卡布尔方言             |\n| pbt_Arab           | pbt_Arab          | 南部普什图语              | 阿拉伯文字        | 印欧语系    | 伊朗语族               | 低              | 文学标准               |\n| quy_Latn           | quy_Latn          | 阿亚库乔克丘亚语          | 拉丁字母          | 克丘亚语系  | 金恰伊语族           | 低              | 南部克丘亚方言         |\n| ron_Latn           | ron_Latn          | 罗马尼亚语              | 拉丁字母          | 印欧语系    | 意大利语族           | 高              |                          |\n| run_Latn           | run_Latn          | 伦迪语                  | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| rus_Cyrl           | rus_Cyrl          | 俄语                    | 西里尔文字        | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| sag_Latn           | sag_Latn          | 桑戈语                  | 拉丁字母          | 大西洋-刚果语系 | 北伏塔-刚果语族         | 低              |                          |\n| san_Deva           | san_Deva          | 梵语                    | 天城文            | 印欧语系    | 印度-雅利安语族       | 低              |                          |\n| sat_Olck           | sat_Beng          | 桑塔利语                | 奥尔奇基文字        | 奥斯特罗亚洲语系 | 曼达语族               | 低              |                          |\n| scn_Latn           | scn_Latn          | 西西里语                | 拉丁字母          | 印欧语系    | 意大利语族           | 低              | 文学西西里方言         |\n| shn_Mymr           | shn_Mymr          | 景颇语                  | 缅甸文字          | 泰-卡岱语系  | 卡姆-泰语族           | 低              |                          |\n| sin_Sinh           | sin_Sinh          | 僧伽罗语                | 僧伽罗文字        | 印欧语系    | 印度-雅利安语族       | 低              |                          |\n| slk_Latn           | slk_Latn          | 斯洛伐克语              | 拉丁字母          | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| slv_Latn           | slv_Latn          | 斯洛文尼亚语            | 拉丁字母          | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| smo_Latn           | smo_Latn          | 萨摩亚语                | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              |                          |\n| sna_Latn           | sna_Latn          | 绍纳语                  | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| snd_Arab           | snd_Arab          | 信德语                  | 阿拉伯文字        | 印欧语系    | 印度-雅利安语族       | 低              | 维乔利方言             |\n| som_Latn           | som_Latn          | 索马里语                | 拉丁字母          | 亚非语系    | 库希语族               | 低              | 恩索姆方言             |\n| sot_Latn           | sot_Latn          | 南索托语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 高              | 所有人都能理解的语言   |\n| spa_Latn           | spa_Latn          | 西班牙语                | 拉丁字母          | 印欧语系    | 意大利语族           | 高              | 拉丁美洲方言           |\n| als_Latn           | als_Latn          | 托斯克阿尔巴尼亚语      | 拉丁字母          | 印欧语系    | 阿尔巴尼亚语族         | 高              |                          |\n| srd_Latn           | srd_Latn          | 撒丁语                  | 拉丁字母          | 印欧语系    | 意大利语族           | 低              | 洛古多雷塞和坎皮达内塞方言 |\n| srp_Cyrl           | srp_Cyrl          | 塞尔维亚语              | 西里尔文字        | 印欧语系    | 波罗的-斯拉夫语族     | 低              |                          |\n| ssw_Latn           | ssw_Latn          | 斯瓦蒂语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| sun_Latn           | sun_Latn          | 巽他语                  | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              |                          |\n| swe_Latn           | swe_Latn          | 瑞典语                  | 拉丁字母          | 印欧语系    | 日耳曼语族           | 高              |                          |\n| swh_Latn           | swh_Latn          | 斯瓦希里语              | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 高              | 基翁古贾方言           |\n| szl_Latn           | szl_Latn          | 西里西亚语              | 拉丁字母          | 印欧语系    | 波罗的-斯拉夫语族     | 低              |                          |\n| tam_Taml           | tam_Taml          | 泰米尔语                | 泰米尔文字        | 达罗毗荼语系  | 南部达罗毗荼语族       | 低              | 钦奈方言               |\n| tat_Cyrl           | tat_Cyrl          | 鞑靼语                  | 西里尔文字        | 突厥语系    | 共同突厥语族           | 低              | 中央和中部方言         |\n| tel_Telu           | tel_Telu          | 泰卢固语                | 泰卢固文字        | 达罗毗荼语系  | 南部达罗毗荼语族       | 低              | 沿海方言               |\n| tgk_Cyrl           | tgk_Cyrl          | 塔吉克语                | 西里尔文字        | 印欧语系    | 伊朗语族               | 低              |                          |\n| tgl_Latn           | tgl_Latn          | 他加禄语                | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 高              |                          |\n| tha_Thai           | tha_Thai          | 泰语                    | 泰文字            | 泰-卡岱语系  | 卡姆-泰语族           | 高              |                          |\n| tir_Ethi           | tir_Ethi          | 提格里尼亚语            | 吉兹文字          | 亚非语系    | 闪米特语族           | 低              |                          |\n| taq_Latn           | taq_Latn          | 塔马谢克语              | 拉丁字母          | 亚非语系    | 柏柏尔语族           | 低              | 卡尔安萨尔方言         |\n| taq_Tfng           | taq_Tfng          | 塔马谢克语              | 提非纳文字        | 亚非语系    | 柏柏尔语族           | 低              | 卡尔安萨尔方言         |\n| tpi_Latn           | tpi_Latn          | 托克皮辛语              | 拉丁字母          | 印欧语系    | 日耳曼语族           | 低              |                          |\n| tsn_Latn           | tsn_Latn          | 茨瓦纳语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 高              | 塞胡鲁茨语             |\n| tso_Latn           | tso_Latn          | 松加语                  | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| tuk_Latn           | tuk_Latn          | 土库曼语                | 拉丁字母          | 突厥语系    | 共同突厥语族           | 低              | 特克方言               |\n| tum_Latn           | tum_Latn          | 图姆布卡语              | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              | 伦菲方言               |\n| tur_Latn           | tur_Latn          | 土耳其语                | 拉丁字母          | 突厥语系    | 共同突厥语族           | 高              |                          |\n| twi_Latn           | twi_Latn          | 特威语                  | 拉丁字母          | 大西洋-刚果语系 | 克瓦-伏塔-刚果语族     | 低              | 阿夸佩姆方言           |\n| tzm_Tfng           | tzm_Tfng          | 中央阿特拉斯塔马齐特语  | 提非纳文字        | 亚非语系    | 柏柏尔语族           | 低              |                          |\n| uig_Arab           | uig_Arab          | 维吾尔语                | 阿拉伯文字        | 突厥语系    | 共同突厥语族           | 低              |                          |\n| ukr_Cyrl           | ukr_Cyrl          | 乌克兰语                | 西里尔文字        | 印欧语系    | 波罗的-斯拉夫语族     | 高              |                          |\n| umb_Latn           | umb_Latn          | 翁邦杜语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              |                          |\n| urd_Arab           | urd_Arab          | 乌尔都语                | 阿拉伯文字        | 印欧语系    | 印度-雅利安语族       | 低              | 拉什卡里方言           |\n| uzn_Latn           | uzn_Latn          | 北乌兹别克语              | 拉丁字母          | 突厥语系    | 共同突厥语族           | 高              | 负责人                     |\n| vec_Latn           | vec_Latn          | 威尼斯语                | 拉丁字母          | 印欧语系    | 意大利语族           | 低              | 威尼斯方言               |\n| vie_Latn           | vie_Latn          | 越南语                  | 拉丁字母          | 奥斯特罗亚洲语系 | 越语族                 | 高              |                          |\n| war_Latn           | war_Latn          | 瓦拉伊语                | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 低              | 塔克洛班方言           |\n| wol_Latn           | wol_Latn          | 沃洛夫语                | 拉丁字母          | 大西洋-刚果语系 | 北中部大西洋语族         | 低              | 达喀尔方言             |\n| xho_Latn           | xho_Latn          | 科萨语                  | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 高              | 恩吉卡方言             |\n| ydd_Hebr           | ydd_Hebr          | 东部意第绪语            | 希伯来文字        | 印欧语系    | 日耳曼语族           | 低              | 哈西德派方言           |\n| yor_Latn           | yor_Latn          | 约鲁巴语                | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 低              | 奥约和伊巴丹方言       |\n| yue_Hant           | yue_Hant          | 粤语                    | 汉字（繁体）      | 汉藏语系    | 汉语族                 | 低              |                          |\n| zho_Hans           | zho_Hans          | 汉语                    | 汉字（简体）      | 汉藏语系    | 汉语族                 | 高              |                          |\n| zho_Hant           | zho_Hant          | 汉语                    | 汉字（繁体）      | 汉藏语系    | 汉语族                 | 高              |                          |\n| zsm_Latn           | zsm_Latn          | 标准马来语              | 拉丁字母          | 南岛语系    | 马来-波利尼西亚语族   | 高              | 负责人                     |\n| zul_Latn           | zul_Latn          | 祖鲁语                  | 拉丁字母          | 大西洋-刚果语系 | 贝努埃-刚果语族         | 高              | 负责人                     |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>可用的语音编码器\u003C\u002Fsummary>\n\n| 语言代码 | 语言         | 链接                                                               |\n| --------- | ---------------- | ------------------------------------------------------------------ |\n| arb       | 阿拉伯语        | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.arb.pt) |\n| asm       | 阿萨姆语         | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.asm.pt) |\n| bel       | 白俄罗斯语      | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.bel.pt) |\n| ben       | 孟加拉语          | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.ben.pt) |\n| bos       | 波斯尼亚语          | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.bos.pt) |\n| bul       | 保加利亚语        | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.bul.pt) |\n| cat       | 加泰罗尼亚语      | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.cat.pt) |\n| ces       | 捷克语            | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.ces.pt) |\n| cmn       | 普通话汉语        | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.cmn.pt) |\n| cym       | 威尔士语            | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.cym.pt) |\n| dan       | 丹麦语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.dan.pt) |\n| deu       | 德语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.deu.pt) |\n| est       | 爱沙尼亚语         | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.est.pt) |\n| fin       | 芬兰语          | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.fin.pt) |\n| fra       | 法语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.fra.pt) |\n| guj       | 古吉拉特语         | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.guj.pt) |\n| heb       | 希伯来语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.heb.pt) |\n| hin       | 印地语            | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.hin.pt) |\n| hrv       | 克罗地亚语         | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.hrv.pt) |\n| ind       | 印度尼西亚语       | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.ind.pt) |\n| ita       | 意大利语          | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.ita.pt) |\n| jpn       | 日语              | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.jpn.pt) |\n| kan       | 卡纳达语          | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.jan.pt) |\n| kor       | 韩语              | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.kor.pt) |\n| lao       | 老挝语              | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.lao.pt) |\n| lit       | 立陶宛语         | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.lit.pt) |\n| lvs       | 标准拉脱维亚语     | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.lvs.pt) |\n| mal       | 马拉雅拉姆语       | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.mal.pt) |\n| mar       | 马拉地语          | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.mar.pt) |\n| mkd       | 马其顿语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.mkd.pt) |\n| mlt       | 马耳他语          | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.mlt.pt) |\n| npi       | 尼泊尔语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.npi.pt) |\n| nld       | 荷兰语            | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.nld.pt) |\n| ory       | 奥里亚语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.ory.pt) |\n| pan       | 旁遮普语          | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.pan.pt) |\n| pes       | 西部波斯语         | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.pes.pt) |\n| pol       | 波兰语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.po.pt)  |\n| por       | 葡萄牙语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.por.pt) |\n| ron       | 罗马尼亚语         | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.ron.pt) |\n| rus       | 俄语              | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.rus.pt) |\n| slk       | 斯洛伐克语         | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.slk.pt) |\n| slv       | 斯洛文尼亚语       | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.slv.pt) |\n| snd       | 信德语             | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.snd.pt) |\n| srp       | 塞尔维亚语         | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.srp.pt) |\n| spa       | 西班牙语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.spa.pt) |\n| swe       | 瑞典语            | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.swe.pt) |\n| swh       | 斯瓦希里语         | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.swh.pt) |\n| tam       | 泰米尔语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.tam.pt) |\n| tel       | 泰卢固语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.tel.pt) |\n| tgl       | 他加禄语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.tgl.pt) |\n| tha       | 泰语              | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.tha.pt) |\n| tur       | 土耳其语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.tur.pt) |\n| ukr       | 乌克兰语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.ukr.pt) |\n| urd       | 乌尔都语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.urd.pt) |\n| uzn       | 北部乌兹别克语     | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v3ap.uzn.pt) |\n| vie       | 越南语           | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.vie.pt) |\n| yue       | 粤语              | [下载](https:\u002F\u002Fdl.fbaipublicfiles.com\u002FSONAR\u002Fspenc.v5ap.yue.pt) |\n\n\u003C\u002Fdetails>\n\n\n\n## 引用信息\n\n在引用 SONAR 嵌入空间、编码器和解码器时，请引用以下论文：\n\n```\n@misc{Duquenne:2023:sonar_arxiv,\n  author = {Paul-Ambroise Duquenne and Holger Schwenk and Benoit Sagot},\n  title = {{SONAR:} Sentence-Level Multimodal and Language-Agnostic Representations},\n  publisher = {arXiv},\n  year = {2023},\n  url = {https:\u002F\u002Farxiv.org\u002Fabs\u002F2308.11466},\n}\n```\n\n## 贡献\n\n有关如何参与贡献，请参阅 [CONTRIBUTING](CONTRIBUTING.md) 文件。\n\n## 许可证\n\nSONAR 代码采用 MIT 许可证发布（参见 [CODE_LICENSE](CODE_LICENSE.md)）。\n\n部分 SONAR 模型也采用相同的 MIT 许可证发布，但请注意，\n其中一些模型采用非商业许可发布（参见 [NC_MODEL_LICENSE](NC_MODEL_LICENSE.md)）。\n详细信息请参阅 [LICENSE](LICENSE.md)。","# SONAR 快速上手指南\n\nSONAR 是 Meta 推出的多语言、多模态句子嵌入模型，支持文本和语音的统一向量表示，适用于跨语言检索、机器翻译及语义相似度评估等任务。\n\n## 环境准备\n\n### 系统要求\n- **Python**: 3.8+\n- **PyTorch**: 需与 `fairseq2` 版本严格匹配（见下文）\n- **CUDA**: 如需 GPU 加速，请确保驱动正常且 PyTorch 版本包含对应的 CUDA 支持（如 `cu124`）\n\n### 前置依赖检查\nSONAR 强依赖 `fairseq2`，安装前请先确认当前 PyTorch 版本：\n```bash\npip show torch\n```\n假设输出显示版本为 `2.6.0+cu124`，则必须安装对应变体的 `fairseq2`。\n\n## 安装步骤\n\n**注意**：PyPI 上存在另一个名为 `sonar` 的无关包，请务必安装 `sonar-space`。\n\n### 1. 安装 fairseq2\n根据上一步查到的 PyTorch 和 CUDA 版本，从官方源安装匹配的 `fairseq2`。例如对于 `pt2.6.0\u002Fcu124`：\n```bash\npip install fairseq2 --extra-index-url https:\u002F\u002Ffair.pkg.atmeta.com\u002Ffairseq2\u002Fwhl\u002Fpt2.6.0\u002Fcu124\n```\n*注：若官方未提供您环境的预编译包，请参考 [fairseq2 GitHub](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2) 进行本地源码编译。*\n\n### 2. 安装 SONAR\n确保 `fairseq2>=0.5.2` 安装成功后，再安装 SONAR：\n```bash\npip install sonar-space\n```\n\n> **版本兼容性提示**：\n> - `sonar-space~=0.5.0` 需要 `fairseq2>=0.5.2`\n> - 旧版本需严格对应（如 0.4.0 对应 0.4.0），建议始终使用最新稳定版。\n\n## 基本使用\n\n模型首次运行时会自动下载至 `$TORCH_HOME\u002Fhub` 目录。以下示例默认使用 CPU，如需启用 GPU，请在初始化时传入 `device=torch.device(\"cuda\")` 和 `dtype=torch.float16`。\n\n### 1. 文本向量化 (Text to Embedding)\n将句子转换为 1024 维向量：\n```python\nfrom sonar.inference_pipelines.text import TextToEmbeddingModelPipeline\n\nt2vec_model = TextToEmbeddingModelPipeline(\n    encoder=\"text_sonar_basic_encoder\",\n    tokenizer=\"text_sonar_basic_encoder\"\n)\n\nsentences = ['My name is SONAR.', 'I can embed the sentences into vectorial space.']\nembeddings = t2vec_model.predict(sentences, source_lang=\"eng_Latn\")\n\nprint(embeddings.shape)\n# 输出：torch.Size([2, 1024])\n```\n\n### 2. 向量还原为文本 (Embedding to Text)\n利用解码器从向量重建文本：\n```python\nfrom sonar.inference_pipelines.text import EmbeddingToTextModelPipeline\n\nvec2text_model = EmbeddingToTextModelPipeline(\n    decoder=\"text_sonar_basic_decoder\",\n    tokenizer=\"text_sonar_basic_encoder\"\n)\n\nreconstructed = vec2text_model.predict(embeddings, target_lang=\"eng_Latn\", max_seq_len=512)\nprint(reconstructed)\n# 输出：['My name is SONAR.', 'I can embed the sentences into vector space.']\n```\n\n### 3. 跨语言文本翻译 (Text to Text)\n直接进行零样本跨语言翻译（例如英语转法语）：\n```python\nfrom sonar.inference_pipelines.text import TextToTextModelPipeline\n\nt2t_model = TextToTextModelPipeline(\n    encoder=\"text_sonar_basic_encoder\",\n    decoder=\"text_sonar_basic_decoder\",\n    tokenizer=\"text_sonar_basic_encoder\"\n)\n\nsentences = ['My name is SONAR.', 'I can embed the sentences into vectorial space.']\nresult = t2t_model.predict(sentences, source_lang=\"eng_Latn\", target_lang=\"fra_Latn\")\n\nprint(result)\n# 输出：['Mon nom est SONAR.', \"Je peux intégrer les phrases dans l'espace vectoriel.\"]\n```\n\n### 4. 语音向量化 (Speech to Embedding)\n处理音频文件（采样率需为 16kHz）生成向量：\n```python\nfrom sonar.inference_pipelines.speech import SpeechToEmbeddingModelPipeline\nimport torchaudio\n\ns2vec_model = SpeechToEmbeddingModelPipeline(encoder=\"sonar_speech_encoder_eng\")\n\n# 方式一：传入文件路径\nembeddings = s2vec_model.predict([\".\u002Faudio_1.wav\", \".\u002Faudio_2.wav\"])\n\n# 方式二：传入已加载的音频张量\ninp, sr = torchaudio.load(\".\u002Faudio_1.wav\")\nassert sr == 16000, \"Sample rate should be 16kHz\"\nembeddings = s2vec_model.predict([inp])\n\nprint(embeddings.shape)\n# 输出：torch.Size([N, 1024])\n```\n\n### 5. 语音转文本翻译 (Speech to Text)\n直接将语音翻译为目标语言文本：\n```python\nfrom sonar.inference_pipelines.speech import SpeechToTextModelPipeline\nimport torchaudio\n\ns2t_model = SpeechToTextModelPipeline(\n    encoder=\"sonar_speech_encoder_eng\",\n    decoder=\"text_sonar_basic_decoder\",\n    tokenizer=\"text_sonar_basic_decoder\"\n)\n\ninp, sr = torchaudio.load(\".\u002Faudio_1.wav\")\nassert sr == 16000\n\nresult = s2t_model.predict([inp], target_lang=\"eng_Latn\")\nprint(result)\n# 输出：['Television reports show white smoke coming from the plant.']\n```","某跨国电商平台的客服团队需要构建一个智能工单系统，自动将全球用户提交的语音留言和文本消息归类到统一的知识库中。\n\n### 没有 SONAR 时\n- **多模态处理割裂**：团队必须分别部署独立的语音识别（ASR）模型和文本嵌入模型，无法直接比较语音片段与文本段落的语义相似度。\n- **小语种支持匮乏**：对于东南亚或非洲的小语种，缺乏高质量的预训练模型，导致非英语工单的匹配准确率极低。\n- **开发维护成本高**：需要为每种语言组合单独训练翻译或对齐模型，零样本（Zero-shot）场景下完全无法工作，系统扩展性差。\n- **检索效率低下**：由于特征空间不统一，跨语言搜索需要先翻译再检索，不仅延迟高，还容易因翻译错误丢失原始语义。\n\n### 使用 SONAR 后\n- **统一向量空间**：SONAR 将语音和文本直接映射到同一个固定大小的向量空间，系统可直接计算语音留言与文本文档的相似度，无需中间转换。\n- **真正的语言无关**：凭借强大的多语言能力，即使是训练数据稀缺的小语种，也能获得高精度的语义表示，显著提升全球工单处理质量。\n- **零样本灵活泛化**：利用 SONAR 的解码器能力，系统能直接处理未见过的“语言 - 模态”组合（如斯瓦希里语语音搜英语文档），无需额外训练。\n- **架构极简高效**：只需一套编码器即可替代原本复杂的流水线，大幅降低推理延迟和服务器资源消耗，让实时跨模态检索成为可能。\n\nSONAR 通过打破语言与模态的壁垒，让企业能够以极低的成本构建真正全球化、多模态统一的智能语义检索系统。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_SONAR_5b9bbef5.png","facebookresearch","Meta Research","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffacebookresearch_449342bd.png","",null,"https:\u002F\u002Fopensource.fb.com","https:\u002F\u002Fgithub.com\u002Ffacebookresearch",[84],{"name":85,"color":86,"percentage":87},"Python","#3572A5",100,883,"2026-04-15T03:11:21","NOASSERTION",4,"未说明","非必需（默认 CPU，但推荐 GPU 以加速）。需匹配 Fairseq2 变体的 CUDA 版本（如 cu124），具体显存需求未说明。",{"notes":95,"python":92,"dependencies":96},"1. 安装前必须确保已安装与本地 PyTorch 及 CUDA 版本精确匹配的 fairseq2 变体，否则需源码编译。2. 默认模型加载至 CPU 速度较慢，建议在初始化时指定 device='cuda' 和 dtype=torch.float16 以启用 GPU 加速。3. 首次运行会自动下载模型至 $TORCH_HOME\u002Fhub 目录。4. 语音处理要求音频采样率为 16kHz。5. 注意区分 pip 上的 'sonar' 包，本项目包名为 'sonar-space'。",[97,98,99,100],"sonar-space>=0.5.0","fairseq2>=0.5.2","torch (版本需与 fairseq2 严格匹配)","torchaudio",[15,55,54],"2026-03-27T02:49:30.150509","2026-04-20T04:06:09.446382",[105,110,115,120,125,129],{"id":106,"question_zh":107,"answer_zh":108,"source_url":109},43813,"如何在 Colab 或 Kaggle 等云笔记本中正确安装 SONAR 并解决 PyTorch\u002FCUDA 版本冲突？","安装 `sonar-space` 可能会覆盖现有的 PyTorch 版本，导致与 fairseq2 不兼容。解决方案是明确指定与你的 GPU 兼容的 CUDA 变体进行安装。PyTorch 二进制文件自带 CUDA 运行时，因此只要 GPU 兼容所选变体，无需担心机器上的 nvcc 版本。\n\n对于拥有 CUDA 12.x 环境的 GPU（如 A40, P100），建议安装最新可用的 CUDA 变体。如果默认安装失败，请尝试强制安装特定版本的 torch 和 fairseq2 变体。例如，在 Kaggle 上运行成功的方法通常涉及先卸载冲突包，然后按顺序安装：\n1. 确保选择正确的 torch 版本（如 2.3.0+）。\n2. 安装对应 CUDA 版本的 fairseq2（如 `fairseq2-cu121`）。\n3. 最后安装 `sonar-space`。\n注意：即使系统显示 CUDA 12.2 或 12.6，通常也可以安装 `cu121` 或 `cu124` 的预编译包，因为它们具有向后兼容性。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002FSONAR\u002Fissues\u002F49",{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},43814,"使用 EmbeddingToTextModelPipeline 解码外部嵌入时遇到 'mat1 and mat2 shapes cannot be multiplied' 维度错误怎么办？","该错误通常是因为输入到解码器的嵌入张量形状不正确。解码器期望的输入格式必须与编码器输出的格式完全一致。\n\n关键点：\n1. 编码器返回的形状始终是 `(n, 1024)`，即二维张量 [序列长度，隐藏层维度]。\n2. 如果你传入的是三维张量（例如 `[batch_size, seq_len, 1024]` 且 batch_size > 1 的处理方式不当，或者多余的维度），会导致内部线性层维度不匹配（如 64 vs 1024）。\n\n解决方案：确保传入 `predict` 方法的嵌入张量是严格的 2D 形状 `(seq_len, 1024)`。如果是批量处理，请确认管道是否支持直接批处理，或者需要逐条处理。不要手动添加额外的批次维度，除非管道文档明确说明需要。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002FSONAR\u002Fissues\u002F65",{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},43815,"如何基于 SONAR 解码器的 logits 正确计算生成式交叉熵损失（Generative Loss）？","计算损失时需要注意标签的对齐和特殊 token 的处理。直接使用原始标签会导致损失计算错误。\n\n具体步骤：\n1. **忽略语言标签**：解码器的第一个 token 通常是语言标签，不需要预测。在计算损失前，应将标签序列的第一个位置设置为 -100（PyTorch CrossEntropyLoss 的忽略索引）：`labels[:, 0] = -100`。\n2. **Teacher Forcing**：该过程不是用于生成新翻译，而是对已有的翻译序列计算损失（Teacher Forcing）。\n3. **对齐 Logits 和 Labels**：确保 logits 和 labels 在时间步上正确对齐。通常需要将 logits 截断以匹配移位后的标签，或者确保标签去除了起始符而 logits 去除了结束符，具体取决于模型实现。\n4. **参考代码逻辑**：损失值通常在 17 到 29 之间（非归一化）。如果损失过低（接近随机猜测）或过高，检查是否正确处理了 PaddingMask 以及是否错误地包含了不应预测的 token。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002FSONAR\u002Fissues\u002F73",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},43816,"在 macOS (M1\u002FM2\u002FM3 或 Intel) 上安装 SONAR 时遇到 'StandardAssetStore' 属性错误或构建失败如何解决？","在 macOS 上从源码构建 fairseq2 和 SONAR 时，经常因编译器版本或依赖项问题导致 `AttributeError: 'StandardAssetStore' object has no attribute 'add_package_metadata_provider'` 或其他构建错误。\n\n建议解决方案：\n1. **检查编译器**：确保安装了兼容的 clang\u002Fclang++ 版本（如 llvm 15+）。可以通过 `brew install llvm` 安装。\n2. **依赖版本**：确保 `sentencepiece` 和其他依赖项是通过 pip 正确安装的，且版本与 fairseq2 要求一致（例如 sentencepiece 0.2.0）。\n3. **清理重建**：如果在开发模式下安装（`pip install -e .`），尝试清理 build 目录（`rm -rf build\u002F`）并重新运行构建命令。\n4. **使用预编译包**：如果可能，优先尝试使用 `pip install sonar-space` 安装预编译版本，避免本地编译 C++ 扩展。如果必须编译，请确保环境变量 `CMAKE_ARGS` 正确配置了 Python 库路径。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002FSONAR\u002Fissues\u002F64",{"id":126,"question_zh":127,"answer_zh":128,"source_url":119},43817,"SONAR 的 TextToEmbeddingModelPipeline 和 EmbeddingToTextModelPipeline 应该搭配什么样的 tokenizer 使用？","为了获得最佳效果并避免维度错误，必须使用与模型架构匹配的专用 tokenizer。\n\n推荐配置：\n- **编码阶段**：使用 `text_sonar_basic_encoder` 作为 tokenizer 和 encoder 模型。\n- **解码阶段**：使用 `text_sonar_basic_decoder` 作为 tokenizer 和 decoder 模型。\n\n示例代码：\n```python\ntext2vec_model = TextToEmbeddingModelPipeline(\n    tokenizer=\"text_sonar_basic_encoder\",\n    encoder=\"text_sonar_basic_encoder\",\n)\n\nvec2text_model = EmbeddingToTextModelPipeline(\n    tokenizer=\"text_sonar_basic_decoder\",\n    decoder=\"text_sonar_basic_decoder\",\n)\n```\n切勿混用编码器和解码器的 tokenizer，因为它们的词表和预处理逻辑（如语言标签的处理）是不同的。",{"id":130,"question_zh":131,"answer_zh":132,"source_url":119},43818,"为什么我的 SONAR 解码损失计算结果异常高或异常低？","损失计算异常通常由以下原因引起：\n1. **未屏蔽语言标签**：如果没有将标签序列的第一个 token（语言 ID）设置为 -100，模型会尝试预测它，导致损失计算偏差。\n2. **Label 移位错误**：在计算 Cross Entropy 时，Logits 的第 t 步应对应 Label 的第 t+1 步（预测下一个 token）。如果直接对齐，会导致整体偏移。\n3. **Padding 处理不当**：虽然 `StandardTransformerDecoder` 接收 padding mask，但在某些手动计算损失的循环中，如果未正确裁剪填充部分，会引入大量无意义的误差。\n4. **随机猜测基准**：对于大小为 256,206 的词表，随机猜测的损失约为 `ln(256206) ≈ 12.46`。如果你的损失远高于此（如 20+）可能是未收敛或数据错配；如果远低于此（如 \u003C 5）且并非完美复现，可能是 Label 泄露或计算逻辑错误（如只计算了单个 token）。正常训练好的模型在合理数据集上的 CE Loss 通常在 17-29 之间（非平均）。",[134,139],{"id":135,"version":136,"summary_zh":137,"released_at":138},351243,"v0.5.0","升级到 [Fairseq2](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2\u002F) 的新版本：fairseq2>=0.5.2（与 fairseq2~=0.4 极不兼容）","2025-10-10T11:08:20",{"id":140,"version":141,"summary_zh":142,"released_at":143},351244,"v0.4.0","# 版本 0.4.0\n* 升级到 [Fairseq2](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Ffairseq2\u002F) 的稳定版本：`fairseq2>=0.4.0`\n* 支持降低 PyTorch 的精度（以提升速度）\n* 在文本编码器中支持按长度分批处理","2025-03-17T11:14:21"]