Github工作流也能用大语言模型来创建了

火山方舟向量数据库大模型
Github工作流也能用大语言模型来创建了

发布时间:2024年03月19日

LLM应用 软件开发 持续集成

摘要

GitHub Workflows作为一款广受欢迎的CI平台,允许开发者借助YAML格式的工作流程文件自动执行各类软件开发任务。然而,设计出既有效又安全的工作流程实属不易,一不小心就可能引入供应链漏洞。近期,大型语言模型(LLMs)在多项软件开发任务中的表现令人瞩目。尽管如此,GitHub工作流程因其独特的结构和语义特性,给LLMs带来了新的挑战。本研究首次系统探究LLMs在处理五项不同难度层级的工作流程相关任务时的有效性。我们精心挑选了约40万个示例工作流程,制作了一系列详略不等的提示,并针对性地对LLMs进行微调训练。通过对三个顶尖LLMs及其微调版本的深入评估,我们发现了关于当前LLMs在该领域所展现的优势与局限的一些有趣结论。

框架

picture.image

作者创建了三个GitHub工作流数据集,分别为 𝐷1、𝐷2 和 𝐷3,用于研究我们的研究问题。我们选择了三种最先进的LLMs(GPT-3.5、CodeLlama、StarChat),并使用我们数据集的混合子集对它们进行了微调。我们对现成的LLMs及其微调版本进行了调查。

这篇文章的目标是评估LLMs在执行与GitHub工作流相关的各种任务方面的有效性。我们的研究分为以下三个研究问题:

  • • RQ1:工作流生成:
  • • LLMs在生成GitHub工作流(T1)方面的有效性如何?

生成的工作流有多安全和有效?

  • • RQ2:缺陷检测:
  • • LLMs能够有效地检测到缺陷吗?

包括语法错误(T2)和代码注入漏洞(T3)?

  • • RQ3:缺陷修复:
  • • LLMs在修复缺陷方面的有效性如何?

包括语法错误(T4)和代码注入漏洞(T5)?

Prompt

作者提供每一步检测的核心Prompt(见下表)

picture.image

picture.image

Arxiv[1]

引用链接

[1] Arxiv: https://arxiv.org/abs/2403.12446

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
CV 技术在视频创作中的应用
本次演讲将介绍在拍摄、编辑等场景,我们如何利用 AI 技术赋能创作者;以及基于这些场景,字节跳动积累的领先技术能力。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论