摘要
尽管文本检索在许多自然语言处理任务中取得了成功,但代码检索仍然是一个很大程度上未被探索的领域。大多数文本检索系统都是针对自然语言查询而设计的,常常忽略了代码检索的具体挑战。这一差距导致现有模型无法有效地捕捉不同领域编程语言和任务的多样性,突显了对代码检索领域更有针对性研究的必要性。为了解决这个问题,我们引入了CodeXEmbed,这是一个包含4亿到70亿参数的大规模代码嵌入模型家族。我们新颖的训练流程统一了多种编程语言,并将各种代码相关任务转化为一个通用的检索框架,从而增强了模型的泛化能力和检索性能。我们的70亿参数模型在代码检索方面创造了新的最先进水平(SOTA),在CoIR基准测试中比之前的领先模型Voyage-Code性能提高了20%以上。除了在代码检索方面表现出色外,我们的模型在广泛采用的BeIR文本检索基准测试中也表现出具有竞争力的性能,展现了其跨领域的通用性。实验结果表明,提高检索性能显著增强了代码相关任务的端到端检索增强生成(RAG)性能。