通义灵码代码搜索功能的前沿性研究论文被软件工程国际顶会 FSE 录用

news2024/12/25 9:19:54

在今年 FSE 2024 软件工程大会上,阿里云通义灵码团队和重庆大学合作的论文《An Empirical Study of Code Search in Intelligent Coding Assistant: Perceptions, Expectations, and Directions》被 FSE Industry 2024 (CCF A) 录用。

本篇论文主要探讨了在智能编码助手中的代码搜索问题。通过对阿里云开发的智能编码插件进行实证调查,在用户授权下,收集了来自全球用户的超过 14 万次代码搜索事件,并通过问卷和面对面访谈等方式深入了解了开发者对代码搜索的期望和需求。结果表明,有效的代码搜索工具应该能够理解本地编程环境下的搜索意图,并提供有用的搜索结果。基于这些发现,论文提出了未来代码搜索研究的方向和建议。

论文详解

该研究采用了两阶段的研究方法:第一阶段为定量分析,收集了通义灵码用户授权的历史数据,并进行了调查设计;第二阶段为定性分析,包括问卷调查和访谈。在第一阶段中,通过收集通义灵码用户的搜索历史记录,分析了用户使用代码搜索工具的过程、查询方式以及结果反馈等信息,从而了解用户对代码搜索工具的偏好和需求。在第二阶段中,通过问卷调查和访谈的方式获取用户的实际使用情况和期望,进一步深入探究用户的需求和期望,以便更好地改进和完善代码搜索工具的功能和服务。

调研统计涉及了 2022 年 4 月-2023 年 4 月的 24543 名用户(机器 ID 匿名上报,可能有重复)和 146893 次代码搜索事件数据。得到了一些结论:

  1. 与 API 搜索相比,语义搜索在 IDE 中更常被使用。大多数开发人员根据需要执行代码搜索,因此有效的工具应该始终提供有用的结果。

  2. 用户查询通常是短小精悍的,根据常见用户输入推荐相关查询对于确定所需的查询很有用。开发人员有时会提交冗长的查询,通过复制运行时日志进行调试。对于语义搜索查询,包含本地语言(例如,中文)对非英语开发人员有利。

  3. 开发者通常只查看代码搜索结果中排名前几(前三名)的结果。这种行为强调了对高度相关性代码搜索工具的需求。

此外通过发放调研问卷,以了解用户对代码搜索的看法和未来期望。该问卷是在对定量分析的理解和最近对代码搜索研究的系统综述的基础上起草的。它经过了阿里两位高级开发人员参与的小规模研究的改进。此外,我们还与七位受访者进行了面对面访谈,深入了解他们的调查回答,并收集了额外见解。一些主要发现包括:

  1. 有经验的开发人员可能不会经常进行代码搜索;但是,当他们这样做时,他们会期望工具非常有效。尽管如此,对于语义搜索用户来说,编写精确的查询仍然是一个挑战。

  2. 在实践中,开发人员会出于各种目的(例如程序理解)来搜索代码。他们希望未来的工具能够集成来自不同来源(例如 API 文档)的多种编程语言的代码库(例如 Go 和 JavaScript)。这些工具应该支持对代码的不同粒度的搜索(例如片段和类),并为搜索结果提供额外的质量改进(例如错误检测和编程风格检查)。

  3. 开发者希望代码搜索工具具有类似于 ChatGPT 的增强查询理解能力。他们期望搜索结果简明扼要、代表性强、易于理解,并且能够适应编程上下文,无需或只需很少修改。

总结来讲:

  • 我们对最近一个代码助手进行了全面的定量分析,以分析开发人员的代码搜索活动。随后,我们进行了调查和访谈,以获得有价值的见解。
  • 我们为研究人员提供了代码搜索要求、评估和改进的未来方向。此外,我们展示了各种用户期望,以帮助从业者开发更好的工具。

解决的问题

数据分析主要研究下列三个问题:

  • RQ1:哪种代码搜索任务被频繁使用?该问题旨在确定开发人员对代码搜索类型的偏好:语义搜索还是 API 搜索。
  • RQ2:查询的特点是什么?本题考察用户查询,重点关注词数和语言,并分析两种代码搜索类型的差异。
  • RQ3:开发者通常会查看多少个搜索结果?这个问题的目标是量化平均数量。

问卷访谈主要研究下列五个问题:

  • RQ4:开发人员对实际中的代码搜索有何看法?评估用户对代码搜索的实际性能的看法(Q3-Q5)。
  • RQ5:开发人员使用代码搜索的目的是什么?理解开发人员使用代码搜索工具背后的实际原因(Q6)。
  • RQ6:开发人员期望什么样的代码搜索输入?调查代码搜索输入的首选格式(问题7)。
  • RQ7:开发人员对代码库有哪些期望的扩展?提供有关编程语言(Q8)和数据源(Q9)方面的代码库潜在扩展的信息。
  • RQ8:开发者期望得到什么搜索结果?理解所需的格式(Q10)和增强功能(Q11)。
  • RQ9:代码搜索与 ChatGPT。以对调查中使用的代码搜索工具与广泛使用的 ChatGPT(Q12)之间的区别为基础,为未来的研究提供基础。

论文结论

RQ1:哪种代码搜索任务最常用?

表 2 显示:展示了来自 24,543 名同意记录其代码搜索行为的用户的见解。在这些用户中,有 20,861(85%)人进行了语义搜索,而 13,413(54.7%)人使用 API 搜索来查找代码示例。值得注意的是,9,731(39.6%)名用户参与了这两种代码搜索类型。这些结果表明,许多用户希望以混合的方式使用两种代码搜索方式,并且更喜欢语义搜索而不是 API 搜索。

这些用户共产生了 146,893 次代码搜索事件,其中 104,614(71.2%)次事件归因于语义搜索,42,279(18.8%)次事件归因于 API 搜索。平均而言,每天会有 402.45 次代码搜索请求,其中 286.61 和 115.83 次分别用于语义和 API 搜索。然而,对于每个用户来说,每天只有 0.02 次代码搜索事件。这表明虽然语义搜索的使用频率更高,但用户只是偶尔会使用代码搜索工具。当该工具不能满足他们的需求时,他们可能会转向替代方法,如网络搜索引擎。因此,开发人员会在实践中始终解决他们的问题时认为代码搜索工具是有价值的。

RQ2: 请求有哪些特征?

表 3 显示:语义搜索查询的平均词数超过了 API 搜索(52.96 比 37.91)。根据双样本 Kolmogorov-Smirnov 检验,两项任务的词频分布存在显着差异(p 值 <0.05)。然而,语义搜索和 API 搜索的中位数计数显示了相反的大小关系(16 与 36)。这些结果表明,在大多数情况下,语义搜索查询往往较短,而 API 搜索查询较长。如图 1 所示,由于开发人员经常选择工具推荐的完全限定名称的候选 API,因此 API 搜索查询往往更长。这种推荐有助于用户定位目标 API。

此外,人们普遍认为语义搜索查询是简洁的,通常由动词短语组成。我们观察到开发人员可能会通过从工具中选择推荐的候选查询或复制运行时日志来输入冗长的查询以查找调试代码示例。因此,开发人员不仅期望语义搜索充当编码助手,如现有研究所示,还希望它充当调试助手。

表 4 显示:74.7% 的查询以英语书写,而 13.0% 的查询仅包含本族语(即中文)单词,12.3% 的查询涉及两种语言的组合。常见的做法是,API 搜索用户直接在英文中输入 API 名称。相比之下,语义搜索包括了 19,124 个中文查询和 17,978 个包含多种语言的查询。这表明当用户难以用英语清楚地表达自己的需求时,本地语言可能会起到辅助作用。

RQ3:开发人员通常查看多少个搜索结果?

表 5 显示了代码搜索成功率低(0.21)。语义和 API 搜索的结果没有统计学意义(p 值 <0.05),根据双样本 Kolmogorov-Smirnov 测试,在显著性水平为 5% 的情况下。这主要是因为开发人员通常只查看前几个搜索结果(#Viewed <14),并且他们发现有趣的搜索结果的数量往往少于两个(#Interested <2)。这些结果证实了现有代码搜索研究中的假设。在我们的研究中,代码搜索工具的性能较低,其 MRR 为 0.16。语义和 API 搜索在两样本 Kolmogorov-Smirnov 测试中的 p 值无统计学差异。

然而,在用户认为有趣的结果方面,MRR 显著较高,在前三个排名中达到 0.77,并且平均 FRank 为 2.29。这些结果表明,如果出现在前三名,开发人员倾向于点击他们觉得有趣的结果,以探索细节或选择复制粘贴。然而,在许多情况下,搜索结果不能直接应用于满足用户的实现要求。此外,开发人员可能会基于有用的搜索结果编写代码,或者表达对某些代码的兴趣而不采取进一步的行动。因此,衡量代码搜索的实际性能仍然具有挑战性。

RQ4:开发人员在实践中对代码搜索有何看法?

图 5 显示,9(16.98%)参与者很少执行代码搜索(0 到 2 次),而 28(52.83%)参与者表示中等频率地执行代码搜索(3 到 5 次)。其余 3 名参与者以高频率(11 至 15 次)或更高频率(> 15 次)执行代码搜索。根据受访者的反馈,他们“只在需要时才使用代码搜索工具”,并且他们“非常了解其编码环境”。这种趋势可能是受访者经验丰富的结果。因此,每个用户每天平均执行代码搜索的次数保持较低,如第节中讨论的那样。

有 48 位(占 90.57%)受访者经常使用语义搜索,而约 64.15% 的受访者使用了 API 搜索。这些结果表明用户对软件编程中这两种代码搜索方式有着显著的偏好。

图 6 列出了受访者报告的有用性级别。这表明,27 名受访者(占 50.94%)认为语义搜索具有中等程度的实用性,而 12 名受访者(占 22.64%)则认为其实用性较低。此外,有 10 名受访者表示,语义搜索非常有用。其余 4 名受访者(占 7.55%)声称其效用极低。在 API 搜索方面,大多数受访者(占 45.28%)也认为其效用一般,有 13 名受访者表示其效用很高。然而,14 名受访者(占 26.42%)认为 API 搜索的效用很低或非常低。这些结果表明,尽管后者被更多的用户使用,如之前所述,但人们普遍认为 API 搜索比语义搜索更有用。几位受访者指出,“与 API 搜索相比,语义搜索很难准确描述查询”。

RQ5:开发人员进行代码搜索的目的是什么?

图 7 提供了代码搜索的一些目的。受访者中,有 47 位(88.68%)表示首选目的是实现需求。许多受访者表示,“虽然一些搜索结果是有用的”,但他们“通常自己编写代码”。这种反馈表明代码搜索与开发者编码过程之间存在差距,这可能会导致前文报告的中等效用水平,并解释为什么许多用户不会对搜索结果采取进一步操作,此外,45 位受访者(84.91%)预期能够通过该工具理解代码示例,例如学习如何使用特定的 API。然而,一位受访者指出,“有时代码很长,很难知道哪部分可能有用,因此可以跳过这个结果”。因此,返回简洁且有代表性的代码示例对于代码搜索工具的有效性至关重要。

随后,33 名受访者(占 62.26%)表示更喜欢使用代码搜索工具来查找编程错误的解决方案。根据受访者的反馈,在遇到编程错误时,他们通常会“复制错误信息或相关源代码到搜索引擎中,并尝试找到一些解决方案”。正如前文分析的那样,这种做法可能会导致查询语句过长。然而,现有的代码搜索工具并不总是适用于此类查询。此外,18 名受访者(占 33.96%)希望代码搜索结果能帮助他们修复漏洞。最后,13 名和 11 名受访者预计理想的代码搜索工具可以帮助他们优化(占 24.53%)或重构(占 20.75%)返回的代码。尽管如此,一些经验丰富的受访者指出,“我想自己来做优化或重构”,这是因为“它们是我的强项;我会决定这些任务是否需要紧急完成。”

RQ6:开发人员期望的代码搜索输入是什么?

图 8 列出了通义灵码中没有包含的五种代码搜索方法。它揭示了 33 名受访者(62.26%)对代码克隆搜索的兴趣,即输入代码片段以检索代码库中的相似代码。此外,22 名受访者(37.74%)希望根据给定的测试用例搜索目标源代码。另外,13 名受访者(24.53%)预计会使用用户界面草图来搜索代码。其余 18 名受访者希望有一个理想的代码搜索工具,该工具可以根据输入输出示例(15.09%)或语音(5.66%)工作。受访者表示,代码克隆搜索是有价值的,因为它可以让他们“找到一些相同的修改的重复代码段”。然而,许多受访者对其他代码搜索方法的有效性提出了疑问,因为他们“想不出任何例子来使用它们”。

RQ7:开发人员对代码库有什么期望的扩展?

图 9 显示,许多受访者支持在代码搜索中扩展 Java,以包含另外三种编程语言:Go(77.4%)、JS/TS(62.62%)和 Python(75.5%)。C/C++、Ruby 和 C# 各有 13 票。PHP 和 Rust 各获得另外 13 次选择。这些结果强调了开发者实际使用编程语言的多样性。所有受访者都强调了这种扩展的必要性,因为“他们需要使用它”。此外,一位受访者强调了扩展 Rust 的实用性,因为“这门编程语言对他们来说是新的”。

表 10 显示,超过 33 名受访者表示有兴趣从其他开源社区(86.79%)、问答社区(66.04%)和官方 API 文档(62.62%)中添加其他搜索源。这些来源与受访者所描述的开发人员常见的搜索实践相一致。此外,20 名受访者(37.74%)选择了网络搜索,受访者指出“网络搜索涉及许多其他来源”。14 名受访者(26.42%)发现本地存储库中的代码搜索有用。一名受访者表示,“如果我有权限,我想知道在企业级本地存储库中如何实现要求。”此外,还有 10 人、3 人和 2 人(18.87%)选择漏洞数据库。

RQ8:开发人员期望搜索什么结果?

图 11 表明,大多数受访者(>88%)表示对搜索代码功能或片段感兴趣。受访者指出这两种类型很有用,因为它们“需求通常很小很具体”,并且他们“希望分解这些要求”。此外,27 名受访者(50.94%)发现搜索类很有用,而另外 14 名受访者更喜欢搜索存储库(22.64%)或文件(3.77%)。这些结果强调了开发人员对搜索更高粒度的代码目标的期望。

图 12 展示了对代码搜索期望的七种质量改进。根据降序排列,47 位受访者(88.68%)表示需要一种工具来检查在开发人员编程环境中返回的代码中的错误。此外,39名受访者(73.58%)要求返回的代码符合他们的预期编程风格。另外,24 名受访者(37.74%)希望在检索到的源代码中搜索相关测试用例。15 名受访者(28.30%)担心代码中的敏感信息,并希望删除它们,例如秘密密钥和电子邮件地址。另外,有 13 位受访者(占 24.53%)要求未来的工具能够显示搜索代码的测试覆盖率,同样数量的受访者(占 24.53%)希望了解相关的测试失败信息。

受访者表示,这种排名很自然。他们强调: 1)发现错误很重要,因为“代码搜索可以帮助编写代码,但代码可能无法在集成开发环境中运行”,并且他们更喜欢“不调试搜索到的代码以节省精力”;2)“代码需要遵循企业的编程风格”;3)“其他功能看起来很有用,但不是首要任务”。

RQ9: 代码搜索 vs. ChatGPT

表 6 显示了受访者对灵码代码搜索功能与知名 AI 语言模型 ChatGPT 之间优缺点的正面和负面评论。总的来说,代码搜索的主要优势在于快速响应时间和检索人类编写的代码,而 ChatGPT 则不具备这些特点。然而,代码搜索在处理复杂查询时面临挑战。因此,开发人员通常需要根据搜索结果来细化他们的查询,这可能会很繁琐。此外,由于搜索列表中存在许多重复的结果,评估预期结果的相关性也很费力。这些观察结果与受访者的反馈一致。此外,一位受访者提到,“当他们知道正确的关键字并有信心找到预期的代码时,他们会使用代码搜索工具”。

相反,ChatGPT 在理解查询方面表现出色,生成的代码通常在两个关键方面令人满意:

1)它能够生成逻辑清晰、组织良好的代码,通常只需要很少的修改就能使用;

2)它还能生成注释来帮助理解代码的功能。

然而,ChatGPT 的性能受到两个因素的影响。首先,它的知识边界限制了它始终生成准确答案的能力,因为一些受访者指出,ChatGPT 并不能总是提供正确的回答。受访者认为原因可能是“训练数据范围有限”。其次,ChatGPT 的性能取决于提供的提示作为输入。生成的代码可能对提示描述敏感或包含意外的 API。总的来说,受访者更喜欢 ChatGPT 而不是代码搜索,承认其优势。然而,他们也评论说:

1)“ChatGPT 无法处理内部企业数据”,因为公司可能会使用自定义框架或 API 编写代码;

2)“ChatGPT 不负责每一行代码”,因此开发人员仍然需要仔细审查代码。

论文总结

代码搜索对于提高开发人员生产力来说是一项重要的任务。本文报告了我们在阿里云开发的代码搜索工具灵码上的经验研究结果。我们首先对用户允许记录的代码搜索活动进行了量化分析,以了解用户的偏好。然后,我们为阿里巴巴的工具用户设计了问卷调查,旨在了解他们的看法和期望。随后,我们采访了七位用户,澄清他们对调查的回答。根据这些结果,我们为研究人员和从业者提供了未来的研究方向。在我们的未来工作中,我们计划包括更多不同规模的公司来研究我们发现的一般性。我们还计划按照建议的未来方向改进现有的代码搜索工具。

总结

本论文成稿于 2023 年,当时正值大模型初露锋芒,大模型赋能软件研发正在尝试中。通义灵码(前身:阿里云智能编码插件)的产品形态也正在从【下拉式行级补全+代码片段与文档搜索】进化到【大模型块级补全+大模型流式问答】。

随着模型能力的提升,代码搜索没有消逝,而是和 AIGC 问答结合起来,作为训练素材和 RAG 能力加强到生成模型;随着模型能力的提升,用户寻找相关代码,学习示例用法,咨询前人经验,解决报错问题的诉求也没有改变;随着模型能力的提升,软件工程依赖经验和创新的本质也没有变。

点击此处,下载免费试用通义灵码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2055990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

告别硬件!试试ToDesk云电脑,让你的云端体验更有趣

在这个不断进步的数字时代&#xff0c;科技的每一次突破都在重新塑造我们的生活和工作模式。随着云计算技术的不断成熟&#xff0c;传统的硬件限制正在逐渐消失&#xff0c;一个全新的云端时代正悄然兴起。ToDesk云电脑作为这场变革的领航者&#xff0c;正引领我们进入一个更加…

海绵城市雨水监测系统简介

海绵城市雨水监测系统主要有&#xff1a;数据采集、无线数据传输、后台云服务、终端平台显示等部分组成。系统通过前端数据采集水质&#xff08;ss\cod\浊度、PH等&#xff09;、雨水雨量、流量、水位、土壤湿度、气象等数据。通过无线数据传输通讯&#xff08;4G、5G、以太网、…

高性能web服务器详解

一、Web服务的基础介绍 正常情况下单次web服务访问的流程简图&#xff1a; 1.1 Web服务介绍 这里介绍的是 Apache 和 NGINX 1.1.1 Apache 经典的Web服务端 Apache 起初由美国的伊利诺伊大学香槟分校的国家超级计算机应用中心开发 目前经历了两大版本分别是 1.X 和 2.X…

Ubuntu 16.04 通过deb包安装内核头文件

文章目录 前言通过deb包安装内核头文件 前言 Ubuntu16.04部分内核版本无法通过 apt-get install linux-headers-$(uname -r) 来进行安装&#xff1a; # cat /etc/lsb-release DISTRIB_IDUbuntu DISTRIB_RELEASE16.04 DISTRIB_CODENAMExenial DISTRIB_DESCRIPTION"Ubuntu…

linux 部署YUM仓库及NFS共享服务

目录 简介 一、YUM仓库服务 1.1 YUM概述 1.2 linux系统各家厂家用的安装源 1.3 yum命令 1.4 yum下载方式 1.5 部署YUM软件仓库 二、NFS共享存储服务 2.1 NFS共享存储服务概念 2.2 NFS配置环境 2.3 使用NFS发布共享资源 2.4 在客户端访问NFS共享 简介 yum&#xff…

测试面试题集锦(五)| 自动化测试与性能测试篇(附答案)

简介 本系列文章总结归纳了一些软件测试工程师常见的面试题&#xff0c;主要来源于个人面试遇到的、网络搜集&#xff08;完善&#xff09;、工作日常讨论等&#xff0c;分为以下十个部分&#xff0c;供大家参考。如有错误的地方&#xff0c;欢迎指正。有更多的面试题或面试中遇…

Apeaksoft Video Converter Ultimate for Mac:强大的视频转换与编辑工具

Apeaksoft Video Converter Ultimate for Mac是一款专为Mac用户设计的视频转换与编辑软件&#xff0c;凭借其强大的功能和用户友好的界面&#xff0c;在视频处理领域脱颖而出。该软件不仅支持多种视频格式的转换&#xff0c;还内置了丰富的视频编辑功能&#xff0c;让用户能够轻…

海康VisionMaster使用学习笔记12-通信框架介绍

1. 通信的用途 用途: 通信是连通算法平台和外部设备的重要渠道&#xff0c;在算法平台中既支持外部数据的读入也支持数据的写出&#xff0c;当通信构建起来以后既可以把软件处理结果发送给外界&#xff0c;又可以通过外界发送字符来触发相机拍照或者软件运行。 2. 通信的种类…

提升工作效率的五大神器

在这个信息爆炸、节奏加速的时代&#xff0c;高效工作已经成为了职场人士追求的目标。如何在短时间内完成更多的工作任务&#xff0c;同时保持高质量的输出&#xff1f;答案在于合理利用工具。以下是五个能够显著提升工作效率的软件推荐&#xff0c;它们各自在任务管理、团队协…

【LLM大模型】大模型涌现能力及 Prompt Engineering提示词

涌现能力 GPT3是第一批拥有“涌现能力”的大语言模型&#xff0c;即模型未经特定任务的训练&#xff0c;但在适当的提示下&#xff0c;仍然能够解决某些特定领域的问题。 例如大语言模型可以解答数学问题、辅助进行编程、甚至是进行问答等&#xff0c;其实都属于模型的涌现能…

FMEA项目难落地?原因在这里

很多企业反馈到“FMEA项目难落地”其实并不是大家不想做好FMEA&#xff0c;目前各个企业做不好的FMEA的最关键的原因&#xff0c;还是大家做FMEA的方法不正确。详情如深圳天行健企业管理咨询公司下文所述&#xff1a; 1、 分析对象定义不清 做FMEA时&#xff0c;首先得弄清楚你…

Xterminal工具的安装与使用体验

Xterminal工具的安装与使用体验 一、Xterminal简介二、Xterminal核心特性三、Xterminal使用场景四、Xterminal下载地址五、Xterminal的基本使用5.1 设置仓库密码5.2 SSH连接5.3 Windows远程桌面5.4 笔记功能5.5 AI工具 六、总结 一、Xterminal简介 Xterminal是一款专为开发者设…

ubuntu虚拟机VBOX无法读取usb设备的解决办法

关闭虚拟电脑&#xff0c;在设置->USB设置选择你的usb版本再试试看再右下角右键选择你的设备应该就行了

OpenCV几何图像变换(3)计算透视变换矩阵函数getPerspectiveTransform()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 计算四对对应点之间的透视变换。 该函数计算 33 的透视变换矩阵&#xff0c;使得&#xff1a; [ t i x i ′ t i y i ′ t i ] map_matrix ⋅ …

零基础入门AI:1 token ~= 3/4 words?3分钟理解大语言模型分词

ChatGPT API 按 token 数量收费&#xff0c;那么1个token究竟是多少&#xff1f; 按Openai 的估算&#xff0c;1 token ~ 3/4 words&#xff0c;100个token大约是75个单词。 输入的文本是如何被分解为 token 的呢&#xff1f;在大语言模型处理文本时&#xff0c;分词&#xf…

记一次hivemetastore启动报错

1&#xff0c;启动hivemetastore后报错日志 2&#xff0c;排查lib下的mysql的驱动也在&#xff0c; 这里和mysql的驱动大小一样 3&#xff0c;把hive-site.xml中无关的配置都删掉&#xff0c;重启metastore还是报错 4&#xff0c;最后排查&#xff0c;这个节点rpm部署了hive…

Adobe After Effects的插件--------CC Cylinder

CC Cylinder是柱体插件。它是AE内置的3D插件。 使用条件 该插件的作用是将2D图层转换为3D的柱体。所以使用该插件时要确保源图层为2D的。 我们以一张图片素材为例: 给图片图层添加CC Cylinder效果控件,然后新建一个摄像机(利用摄像机旋转、平移、推拉工具,方便在各个角度…

解锁黑科技!百度AppBuilder助你秒变开发者,轻松实现文心一言

在数字化浪潮席卷全球的今天&#xff0c;人工智能&#xff08;AI&#xff09;和大模型技术正以前所未有的速度改变着我们的世界。从自然语言处理到图像识别&#xff0c;从智能推荐到自动化决策&#xff0c;大模型以其强大的数据处理能力和学习能力&#xff0c;正成为推动科技创…

数字化办公OA系统是如何运作的——办公物品领用功能拆解

数字化办公 OA 系统究竟是如何运作的呢&#xff1f;它的核心功能又是如何发挥作用的呢&#xff1f;这篇就以行政 OA 系统为例&#xff0c;从产品视角来深入探讨它是如何运作的。 简道云行政OA管理系统模板&#xff0c;可以直接查看和使用&#xff1a;https://www.jiandaoyun.co…

地域美食与白酒的情缘,品味文化交融之美

在广袤无垠的华夏大地上&#xff0c;地域美食与白酒各自承载着丰富的文化内涵和历史底蕴。当这两者相遇&#xff0c;便是一场跨越时空的文化交融&#xff0c;它们共同编织出一幅幅绚丽多彩的味蕾画卷。今天&#xff0c;就让我们一起探寻地域美食与豪迈白酒&#xff08;HOMANLIS…