Copilot使用体验

本篇是去年使用Copilot的记录,不代表目前水平,仅做个人记录同步,谨慎参考。

GitHub Copilot的订阅计划

https://docs.github.com/en/copilot/about-github-copilot/subscription-plans-for-github-copilot
个人版提供30天的免费试用。个人版每月10 美元或每年 100 美元。

Copilot操作文档

https://docs.github.com/en/copilot/quickstart
目前支持JetBrains IDEs,Vim/Neovim,Visual Studio,Visual Studio Code,Xcode。安装插件,登录Github账号就可以使用了,需要开代理。

基本操作

  • 获取代码建议,输入代码时会自动触发,使用“Tab”键采纳。
  • 切换建议,macOS使用“Option+]”或“Option+[”,windows使用“Alt+]” 或 “Alt+[”切换下一条,上一条。
  • 聊天模式,可以引用文件,生成测试代码,解释代码,修复问题。

基本操作,支持功能和同类型工具都大差不差,主要关注实际提示代码质量。

其他设置

  • 启用或禁用公共代码匹配的建议,如果选择允许匹配公共代码的建议,当Copilot建议匹配代码时,可以显示匹配的详细信息,并点击到GitHub上的相关存储库。
  • 访问Bing,Copilot将使用Bing在互联网上搜索与问题相关的信息。在讨论新技术或特定的主题时,Bing搜索尤其有用。

Copilot优缺点

优点

  • 提示速度快,支持语言丰富。
  • 偏向提示多行代码块,方便快捷。
  • 相对其他同类型工具提示更精准。
  • 会根据项目代码不断优化提示,做到更贴近所想。

缺点

  • 需要使用代理,没有国内的工具访问方便。
  • Copilot 是使用大量代码训练的,但它的范围仍然有限。 它可能无法处理一些复杂的代码结构或模糊的编程语言。
  • Copilot 并不是没有错误的。可能会生成看起来有效但实际无效的代码。 为了降低代码不准确的风险,需要仔细查看和测试生成的代码。
  • 由于上下文的限制,copilot不能全局考虑问题,更多的是解决局部的问题。会存在方法未复用的情况。

辅助编程相关场景举例说明

一般有三大类:

  • 代码-代码:包含代码补全、代码修复
  • 代码-文本:代码解释、代码优化、代码异常排查
  • 文本-代码:通过提示词 Prompt 做代码生成 (单元测试等)

支持语言

常用语言都支持(Java,python,JavaScript,Go,C, Kotlin等),亲测Flutter的Dart语言也可以很好的支持。

代码补全

场景:数据上报点击删除按钮时,pageinfo传入课程id(多个课程id用逗号分隔)
操作:当我输入到map方法做转换时,Copilot猜到我的意图,给出了下面的提示。

在这里插入图片描述


提示和预期完全一致,比较惊喜的地方在于,下载对象中属性字段很多,并且有“id”这个字段作为相似项干扰。
在我没有告知Copilot我的需求情况下,最终可以准确提示,还是很智能的。

代码修复

下面这段代码在实际运行中会报错崩溃,我们根据报错行数找到这段问题代码:

val goal ="${list[0].option.filter{ it.selected }[0]?.id ?: 1}"// java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0

选中这行问题代码,输入“/fix”修复这个问题。

在这里插入图片描述


可以看到copilot解释了问题的原因,并给出了解决方案。

代码生成

可以通过写注释的方式,让Copilot帮我们生成相关代码。Copilot会根据上下文,给到合理的代码。

在这里插入图片描述

Read more

大模型与AIGC概述:从技术原理到产业爆发

大模型与AIGC概述:从技术原理到产业爆发 在人工智能发展的浪潮中,大模型与AIGC(人工智能生成内容)正以前所未有的速度重塑我们的工作方式、内容创作模式乃至整个社会结构。本文基于张敏老师《大模型与AIGC概述》的系统性讲解,全面梳理大模型的定义、发展历程、核心技术原理以及AIGC的内涵与前景,帮助读者建立对这一前沿领域的体系化认知。 一、大模型是什么? 2022年11月底,OpenAI发布ChatGPT,仅用一个月时间就突破1亿活跃用户,引爆全球AI热潮。自此,“万模大战”拉开序幕——全球科技巨头纷纷推出自己的大模型。 1. 定义 大模型通常指: * 参数规模超百亿的深度神经网络语言模型; * 在海量无标注文本上通过自监督学习进行预训练; * 能够通过微调或提示(Prompt)适配广泛下游任务。 更广义地,它也被称为“基础模型”(Foundation Models),不仅限于自然语言,还能处理图像、音频等多模态数据。 2. 核心特性 * 大规模参数与数据:如GPT-3拥有1750亿参数; * 涌现能力:展现出上下文学习、思维链(Chain-of-Thou

一次性搞懂什么是AIGC!(一篇文章22个基本概念)

一次性搞懂什么是AIGC!(一篇文章22个基本概念)

全新的时代,AIGC(Artificial Intelligence Generative Content,即人工智能生成内容)正在重新塑造着内容创作生态。当常识能被机器识别,当艺术被重新定义,当创意不再需要人工,广告营销行业将迎来一场生产变革巨浪。数英将持续聚焦AIGC领域,通过资讯分享、认知科普、方法总结、深度访谈等,带领大家多方位了解AIGC。 本期内容,我们将梳理22个AI基础概念,带你搞清楚。 以ChatGPT、Midjourney为首的AIGC软件出现至今,不过短短半年时间,已经从方方面面浸入到人们的生活里,与此同时,大量专业术语涌入我们视野。 AI、AIGC、AGI、Bing AI,ChatGPT……这些字母缩写到底是什么?有什么区别?和广告营销有什么关系? 本文将尽可能用最直白通俗的语言,结合广告营销案例,帮你搞清楚互联网上常见的AI术语。 一、基本概念/理论 1、AI 工作原理 AI,全称Artificial Intelligence,人工智能。顾名思义,

AIGC时代的网络安全威胁与应急响应机制构建

AIGC时代的网络安全威胁与应急响应机制构建

文章目录 * 一、AIGC时代的网络安全威胁 * 二、应急响应机制的构建 * 三、代码示例 * 《网络安全应急管理与技术实践》 * 编辑推荐 * 内容简介 * 作者简介 * 目录 * 前言/序言 随着人工智能生成内容(AIGC)技术的迅猛发展,我们正步入一个前所未有的创新与变革的新时代。然而,与这一技术革新相伴的,不仅仅是便利和效率的提升,更有日益严峻的网络安全威胁。AIGC技术在显著提升内容生成效率与质量的同时,也悄然带来了新的攻击面与潜在风险,这些风险若不及时应对,将对个人、组织乃至整个社会造成深远的影响。 一、AIGC时代的网络安全威胁 在AIGC时代,数据泄露与隐私侵犯的风险愈发突出。AIGC技术依赖于海量数据,这些数据中不乏敏感信息,一旦数据保护措施出现疏漏,这些信息就可能被不法分子恶意利用,导致个人隐私泄露、财产损失等严重后果。 此外,恶意代码注入也是AIGC系统面临的一大威胁。在系统的训练或推理过程中,如果输入数据未经严格过滤,就可能被注入恶意代码,进而引发系统瘫痪、数据篡改等安全问题。 算法偏见与歧视同样不容忽视。

昇腾NPU运行Llama模型全攻略:环境搭建、性能测试、问题解决一网打尽

昇腾NPU运行Llama模型全攻略:环境搭建、性能测试、问题解决一网打尽

背景 最近几年,AI 大模型火得一塌糊涂,特别是像 Llama 这样的开源模型,几乎成了每个技术团队都在讨论的热点。不过,这些"巨无霸"模型虽然能力超强,但对硬件的要求也高得吓人。这时候,华为的昇腾 NPU 就派上用场了。 说实话,昇腾 NPU 在 AI 计算这块确实有两把刷子。它专门为神经网络计算设计,不仅算力强劲,功耗控制得也不错,最关键的是灵活性很好,可以根据不同场景进行裁剪。所以,用它来跑大模型推理,理论上应该是个不错的选择。 为什么偏偏选了 Llama 来测试? 说到 Llama,这玩意儿现在可是开源界的"网红"。Meta 把它完全开源出来,社区生态搞得风生水起,各种优化和适配层出不穷。 其实选择 Llama 做测试,主要有这么几个考虑: