快速上手的AI工具 - 文心编码辅助

发布时间:2024年01月18日

前言

大家好晚上好,现在AI技术的发展,它已经渗透到我们生活的各个层面。对于普通人来说,理解并有效利用AI技术不仅能增强个人竞争力,还能在日常生活中带来便利。无论是提高工作效率,还是优化日常任务,AI工具都可以扮演关键角色。上一篇文章我整理了 《快速上手的 AI 工具-文心一言》,今天结合我自己的工作继续跟大家深入的使用一下文心一言,技术出身的我们,代编码辅助工具,提升编码效率,释放“十倍”软件生产力。

一、文心4.0辅助实操

1、辅助 - 智能生成

1.1 方法生成

下面我让文心一言生成一个 AES-128的加密方法:“php 生成一个 AES128 加密方法”;

详细内容:

要在 PHP 中生成一个使用 AES-128 加密的方法,你可以使用 OpenSSL 扩展或 mcrypt 扩展(尽管 mcrypt 已被弃用,建议使用 OpenSSL)。以下是使用 OpenSSL 扩展实现 AES-128 加密的示例代码:

php复制代码

<?php  
  
function encryptAES128($data, $key, $iv) {  
    $encryptedData = openssl_encrypt($data, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);  
    $encryptedData = base64_encode($encryptedData);  
    return $encryptedData;  
}  
  
function decryptAES128($encryptedData, $key, $iv) {  
    $encryptedData = base64_decode($encryptedData);  
    $decryptedData = openssl_decrypt($encryptedData, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $iv);  
    return $decryptedData;  
}  
  
// 示例用法  
$key = '0123456789abcdef'; // 16 字节的密钥  
$iv = 'abcdef0123456789'; // 16 字节的初始化向量  
  
$data = 'Hello, World!';  
  
$encrypted = encryptAES128($data, $key, $iv);  
echo 'Encrypted: ' . $encrypted . PHP_EOL;  
  
$decrypted = decryptAES128($encrypted, $key, $iv);  
echo 'Decrypted: ' . $decrypted . PHP_EOL;  
  
?>

请注意,上述示例中的 $key 和 $iv 是示例值,你需要使用自己的密钥和初始化向量。确保密钥和初始化向量都是 16 字节(128 位)长,以满足 AES-128 的要求。

在示例中,encryptAES128 函数接受要加密的数据、密钥和初始化向量作为参数,并使用 OpenSSL 扩展的 openssl_encrypt 函数进行加密。加密后的数据使用 base64_encode 进行 Base64 编码,以便在网络传输或存储中更容易处理。

decryptAES128 函数接受加密后的数据、密钥和初始化向量作为参数,并使用 OpenSSL 扩展的 openssl_decrypt 函数进行解密。解密后的数据使用 base64_decode 进行 Base64 解码,以还原为原始数据。

请确保在使用加密功能时,密钥和初始化向量的安全性得到妥善保护,以防止未经授权的访问和数据泄露。

不对不说真的很详细,同时它把解密的方法一起都生成好了,并给出了示例;

1.2 注释生成

上面的示例,大家看它并没有给出代码增加注释,我就继续让它给出代码注释

?

详细内容见:方法已经每一行的注释都给出来的,写的很清楚明白。

叮!快来看看我和文心一言的奇妙对话~点击链接 https://yiyan.baidu.com/share/EmvaTBoZZq -- 文心一言,既能写文案、读文档,又能绘画聊天、写诗做表,你的全能伙伴!

2、辅助 - 智能问答

2.1 提出问题,充当老师的较色

下面是我提问的问题“PHP 封装的并发请求跟GO的并发那个更好些?

PHP和Go都是流行的编程语言,它们各自有自己的并发处理机制。要确定哪个更好,需要考虑多个因素,包括项目需求、团队技能、性能要求等。

1、并发模型:

  • PHP:PHP传统上是以同步阻塞的方式运行的,但近年来随着Swoole等扩展的出现,PHP也支持了异步、非阻塞和高并发的编程模型。Swoole提供了协程、异步I/O、高性能网络通信等功能,使得PHP在并发处理上有了显著的提升。
  • Go:Go语言天生就是为并发而设计的,它采用了CSP(Communicating Sequential Processes)并发模型,通过goroutine和channel来实现轻量级线程和消息传递。Go的并发模型相对简单且高效,能够轻松处理大量并发连接。

2、性能:

  • PHP:PHP的性能在传统同步阻塞模式下可能不如Go,但在使用Swoole等异步扩展后,PHP的性能得到了显著提升。不过,由于PHP是解释型语言,其性能通常还是不如编译型语言如Go。
  • Go:Go语言是编译型语言,其性能通常优于解释型语言。Go的并发模型使得它在处理大量并发连接时具有很高的性能。

3、生态系统和社区支持:

  • PHP:PHP拥有庞大的用户群和丰富的生态系统,有许多成熟的框架和库可供选择。然而,PHP的并发编程社区相对较小,但正在快速发展。
  • Go:Go语言的生态系统虽然不如PHP丰富,但也非常活跃。Go的并发编程社区非常庞大,有许多优秀的开源项目和库可供选择。

4、学习曲线和团队技能:

  • PHP:PHP相对容易上手,尤其是对于有一定Web开发经验的开发者来说。然而,要充分利用PHP的并发功能,可能需要学习Swoole等扩展的使用方法。
  • Go:Go语言的语法相对简单且一致,但其并发编程模型可能需要一定的时间来适应。对于没有并发编程经验的团队来说,可能需要一些时间来掌握Go的并发编程技巧。

综上所述,PHP和Go在并发处理方面各有优势。如果你的项目对性能要求较高,且团队具备Go语言技能,那么Go可能是更好的选择。然而,如果你的项目已经在使用PHP,并且希望在不改变现有技术栈的情况下提高并发性能,那么可以考虑使用Swoole等扩展来实现这一目标。

可以看出来,这个老师给出的明确回答。

2.2 多轮对话,继续沟通

基于上面的问题,我继续针对目前我们项目里的真实情况,跟它进行对话,“我的php并发是用 GuzzleHttp 插件,这个性能怎么样?

GuzzleHttp是一个功能强大的PHP HTTP客户端库,它提供了方便的API来发送HTTP请求并处理响应。然而,关于GuzzleHttp的并发性能和它与Go的并发性能之间的比较,有几点需要注意:

?????????1、GuzzleHttp本身并不是为并发而生:虽然GuzzleHttp提供了并发功能,但它并不是像Go语言那样天生为并发设计的。GuzzleHttp的并发是基于PHP的多线程或多进程实现的,这可能受到PHP本身并发模型的限制。

????????2、并发性能取决于多种因素:并发性能不仅取决于使用的库或语言,还取决于许多其他因素,如服务器配置、网络带宽、请求/响应的大小等。因此,很难简单地说GuzzleHttp的并发性能如何,而需要具体测试和分析。

????????3、GuzzleHttp的并发实现方式:GuzzleHttp通过使用Promise和异步请求来处理并发。它允许你同时发送多个请求,而不必等待每个请求依次完成。这种机制可以在一定程度上提高性能,特别是在需要发送大量请求的情况下。

????????4、与Go的并发比较:Go语言天生支持并发,并且具有简洁而高效的并发模型。Go的goroutine和channel机制使得编写并发代码变得相对简单且性能出色。相比之下,PHP的并发处理可能需要更多的工作和优化才能达到类似的性能水平。

综上所述,虽然GuzzleHttp提供了并发功能,但其性能可能受到PHP本身并发模型的限制。如果你对并发性能有较高要求,并且正在考虑使用Go或其他并发性能更好的语言,那么可能需要进一步评估GuzzleHttp是否满足你的需求。最好的做法是根据具体需求进行性能测试和比较,以确定最适合你项目的方案。

针对以上操作,可以,进一步提出您的需求,或开启下一轮对话。

二、Baidu Comate(智能代码助手)

基于上面文心模型的使用,后来看到的 Baidu Comate ,是基于文心大模型,结合百度积累多年的编程现场大数据和外部优秀开源数据,打造的新一代编码辅助工具。拥有代码智能、场景丰富、创造价值、广泛应用等多重产品优势,可实现“帮你想、帮你写、帮你改”的场景应用形态。

核心场景支持:智能推荐、智能生成、智能问答

Visual Studio Code 插件安装

本安装步骤适用于 macOS、Windows 或 Linux 的 Visual Studio Code 中安装和使用 Baidu Comate。

环境要求

  1. 操作系统版本:Windows 8.1 及以上、macOS、Linux;
  2. Visual Studio Code版本:1.70 及以上版本 (官网下载);

步骤1:安装 Baidu Comate

  1. 在 Visual Studio Code 侧边导航单击扩展;
  2. 在搜索框中输入 Baidu Comate;
  3. 找到 Baidu Comate 后单击 Install 安装。

步骤2:插件配置

方式1:无License用户

1、点击 Install 安装后,Visual Studio Code 右下角会弹出登录提示框,单击去登录;

2、点击去登录,唤起登录页面

3、登录后可免费试用一个月,后续支持续费,以获取更长有效期。

4、返回 Visual Studio Code 开始编码,即可体验 Comate 编码助手的各项功能。

方式2:购买License用户

1、个人或者企业从 百度智能云 购买 License后,可按下图完成用户名和License的配置。

?新用户第一个月可以免费使用,同事首次购买1元qian哦

购买后获取对应的?License

Visual Studio Code 内进行配置

?配置完就是使用了

步骤3:使用插件

开始像上面的 “文心4.0辅助实操“” 一样使用吧,除此之外还有很多比在 文心一言内更便捷的操作。

写代码的时候 单行推荐,多行推荐 ,行间提示等等功能。

参考文献:一言使用手册智能代码助手

文章来源:https://blog.csdn.net/tjls2008/article/details/135684848
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。