0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GitHub工程师分享开发Copilot所采用的提示词工程

jf_WZTOguxH 来源:AI前线 2023-08-07 16:06 次阅读

GitHub 工程师 Albert Ziegler 和 John Berryman 表示,不需要拥有机器学习或生成式 AI 博士学位就可以创建有效的基于 LLM 的应用程序,提示词工程是关键。他们还分享了他们在开发 GitHub Copilot 过程中所积累的经验。

LLM 的崛起为那些希望在应用程序中利用生成式 AI 的从业者创造了一个全新的领域。这个领域被称为提示词工程,专注于如何指导 LLM 产生不属于其预训练部分内容的输出。人们可以通过提示词工程定义包含足够多上下文信息的提示词,让 LLM 产生可能最佳的输出。

上下文信息存在于用户领域,并且应该与任务规范一起被包含在提示词中,而任务规范存在于不确定的文档领域,在那里,LLM 只是一种可以预测下一个标记的预测器。如果这两个领域之间没有被正确映射,例如,没有在提示词中告知响应应该被作为“一个有用的 IT 专家”生成的内容返回,那么返回的响应可能会很一般。

Ziegler 和 Berryman 表示,对于 Copilot 来说,有用的上下文信息可能包括语言、文件路径、光标上方的文本、光标下方的文本、其他文件中的文本,等等。

用户领域和文档领域之间的转换正是提示词工程所覆盖的领域——由于我们已经在 GitHub Copilot 项目上工作了两年多,所以在这个过程中发现了一些模式。

总的来说,他们建议的方法是基于一系列步骤的。首先,你需要收集所有相关上下文(也就是上下文收集),可能包含所有的源文件。在大多数情况下,这些上下文信息的量将超出可用的 LLM 窗口,因此你需要通过将其分割成较小不重叠的块。接下来的两个阶段是找到一种自然的方式将上下文信息注入到 LLM 文档中,例如,对于 Copilot 来说就是使用代码注释,并根据其相关性确定要包含的片段的优先级。如果你有多个 LLM 模型可选择,那么另一个阶段是决定使用哪个模型进行推理。最后一步是定义一个停止标准,让 LLM 知道何时完成,例如,当输出换行符时。

实现提示词工程有很多种方法。最近,微软开源了 LMOps 工具包,其中包含了 Promptist(一种用于优化用户文本输入以生成图像的工具)和结构化提示词(一种用于在少量学习提示词中包含更多样本来生成文本的技术)。

尽管我们可以推测 LLM 将发展到不再需要提示词工程的地步,但 OpenAI 工程师 Sherwin Wu 在上一次纽约 QCon 大会的“生产环境中的 LLM”小组讨论会上指出,至少在未来五年内仍然可能需要它。

如果你对 GitHub 在提示词工程方面所采用的方法感兴趣,请不要错过这篇完整的文章,它涵盖了比本文更多的细节内容。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8397

    浏览量

    132514
  • GitHub
    +关注

    关注

    3

    文章

    468

    浏览量

    16418
  • LLM
    LLM
    +关注

    关注

    0

    文章

    283

    浏览量

    320

原文标题:GitHub工程师分享开发Copilot所采用的提示词工程

文章出处:【微信号:AI前线,微信公众号:AI前线】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    GitHub Copilot与Bitbucket、Jira、Confluence集成使用指南

    如何将GitHub Copilot与Bitbucket、Jira和Confluence集成使用?实操指南有! 阅读了解如何在Bitbucket存储库中轻松使用GitHub Copilot
    的头像 发表于 12-03 14:37 131次阅读
    <b class='flag-5'>GitHub</b> <b class='flag-5'>Copilot</b>与Bitbucket、Jira、Confluence集成使用指南

    GitHub Copilot引入多模型支持

    近日,据外媒报道,GitHub正在为其代码完成和编程工具Copilot引入多模型支持。这一举措将为开发者提供更加灵活和多样化的选择。 在近日举办的GitHub Universe大会上,
    的头像 发表于 10-31 11:49 480次阅读

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,共同进步。 欢迎加入FPGA技术微信交流群14群! 交流问题(一) Q:FPGA中的FPGA算法工程师、FPGA逻辑工程师、FPGA原型验证工程师三者有什么区别? A:FPGA 算法工程师
    发表于 09-23 18:26

    求LORA技术开发工程师合作

    求LORA技术开发工程师合作
    发表于 09-02 10:21

    微软GitHub推出Models服务,赋能AI工程师

    微软旗下的代码托管巨头 GitHub 近期宣布了一项重大更新——GitHub Models 服务,旨在成为 AI 工程师的得力助手。该服务专为开发者设计,旨在帮助他们轻松选择并优化最适
    的头像 发表于 08-05 14:16 469次阅读

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    找STM32硬件开发兼职工程师

    上海做传感器的公司,找STM32硬件开发兼职工程师,会硬件开发,嵌入式软件开发,可项目外包。有意联系:15900460170
    发表于 06-22 19:12

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师是软件开发领域中的一种专业工程师
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    企业老工程师和高校老师有啥区别

    电子工程师硬件
    电子发烧友网官方
    发布于 :2024年02月28日 17:50:00