摘要
关于软件工程(SE)任务,大型语言模型(LLMs)具备零样本学习的能力,无需训练或微调,这与预训练模型(PTMs)不同。然而,LLMs主要设计用于自然语言输出,无法直接从源代码生成中间嵌入。它们还面临一些挑战,例如,受限的上下文长度可能阻止它们处理更大的输入,限制了其在许多SE任务中的适用性;而在应用于复杂的下游任务时,可能会出现幻觉现象。基于上述事实,我们提出了zsLLMCode,一种利用LLMs生成功能代码嵌入的新方法。我们的方法通过零样本学习将源代码转换为简洁的摘要,然后使用专门的嵌入模型将其转换为功能代码嵌入。这种无监督的方法消除了训练的需求,并解决了LLMs在处理幻觉问题时的困扰。据我们所知,这是首次将LLMs与嵌入模型结合以生成代码嵌入的方法。我们进行了实验以评估我们方法的性能。结果表明,我们的方法在效果和优越性方面优于最先进的无监督方法。