一個悄然崛起的國產軟件!!AI 又進化了!!

大家好,我是 Jack。

AI 寫代碼想必很多人都體驗過了,使用 AI 編程工具是一個大趨勢,越早學會使用 AI 輔助你寫代碼,你的效率也會越高。

甚至有些公司已經要求員工具備 AI 編程能力。

對于學生黨,AI 編程可以幫助我們學習,做課后作業、做畢設;對于上班族,AI 編程可以幫助我們提高工作效率,甚至是翻譯別人的“屎山”代碼。

之前跟大家聊過各種 AI 工具,其中 CodeGeeX 的呼聲很高,這個 Copilot 的國產免費平替版到底有著怎樣的魅力?

我體驗了一番后發現,它有著三個明顯的優勢。

  • 對個人開發者完全免費;

  • 不用使用科學上網非常方便;

  • 對中文支持非常友好。

一、CodeGeeX

GitHub Copilot 剛發不出來的時候,很多用戶表示編程效率有了較大的提高。隨后,就涌現了各種代碼生成的大模型,包括:DeepMind 的 AlphaCode、Salesforce 的 CodeGen、Meta 的 InCoder 和 Google 的 PaLM-Coder-540B。

而國內較為出名的就是 CodeGeeX,它是清華和智譜 AI 聯合打造的多語言代碼生成模型。

可以看到,整體也是 Transformer 的結構,采用 KQV 這種經典的多頭注意力機制。

除了詞嵌入,也用到了位置嵌入,從而幫助模型學到位置之間的依賴關系和自然語言的時序特性。

CodeGeeX 的預訓練預料也很豐富:

  • 開源代碼數據集:Pile 和 CodeParrot;

  • 從 GitHub 爬取代碼,選擇的代碼倉庫至少有一個 star 且小于10MB,然后過濾文件:
    • 每行超過 100 個字符;

    • 自動生成的;

    • 字母比例小于 40% 的;

    • 大于 100KB 或者小于 1KB 的。

通過這些規則,清洗出高質量數據。

上圖展示了訓練數據中 23 種編程語言的占比。訓練數據會被劃分為等長的片段。為了幫助模型區分多種語言,在每個片段前添加了語言相關的標簽,例如:language: Python。

如今,CodeGeeX 的訓練集應該更大了,畢竟它們也在一直持續優化更新。

接下來,講解下怎樣玩轉 CodeGeex。

二、CodeGeex 體驗

1、安裝

CodeGeex 支持很多主流的 IDE:

我平時習慣用 VSCode,今天就以它為例進行演示。

CodeGeex 官網:

https://codegeex.cn/zh-CN?article=1113

VSCode 插件安裝地址:

https://marketplace.visualstudio.com/items?itemName=aminer.codegeex

打開 VSCode 找到應用擴展。

搜索 codegeex,然后點擊安裝。

安裝后選擇登陸,然后就會彈出一個頁面,用手機賬號注冊一下就搞定了。

CodeGeex 有三個模塊:Ask、工具箱、代碼翻譯。

1、Ask 問答模式

我們先來個簡單的熱身菜,在 Ask 模塊中輸入:用 python 寫一個貪吃蛇游戲。

將生成的代碼拷貝過來。

python test.py 運行代碼。

代碼順利運行。怎么樣,有了 CodeGeeX 寫個小需求還不是手到擒來?

不過代碼呢,不是寫完就完事了,如果你用它來做課后作業,作業是 1 秒就寫完了,但也沒學到知識啊。

這時候,CodeGeeX 就是你最好的老師。選中不懂的代碼,左側的對話框會自動填充這段代碼到提示框中。

找到不懂的代碼,然后提問:什么意思?

CodeGeeX 會詳細給你解釋,這段代碼是什么含義,為什么這么寫。

除了學習,這個功能對于上班族來說,還可以翻譯同事寫的“屎山”代碼,讓 AI 幫你一起縷清頭緒。

咱們接著加大一點難度,我想處理一批圖片數據,把這些圖片中的人臉裁剪出來,保存到 res 目錄下。

人臉檢測是我們經常會用到的算法,比如裁剪人臉后,訓練一個 LoRA 模型之類的。

在 Ask 中輸入:使用python和opencv檢測圖像中的人臉,遍歷images目錄下的圖片,裁剪后的圖片請保存res目錄下。

將代碼拷貝過來,然后再運行。

瞧,這樣就大功告成了。

2、翻譯代碼

CodeGeeX 除了這種問答功能,還能翻譯代碼。

比如一段 js 代碼,這是一段冒泡排序算法,我想將代碼翻譯成 python 的,點擊翻譯,這樣就搞定了。

3、工具箱

最后,咱們再看看 CodeGeeX 的工具箱,這個是最新上線的功能。

我們在瀏覽網頁的時候,經常會碰到 HEX 格式的顏色數值,我們想用到這個顏色。

但是代碼卻需要用到 RBG 格式的數值,這個時候就可以用到這個工具了,運行一下,可以能得到對應的 RGB 值了。

我們再考驗一下它 Excel 轉 JSON 的能力,我們新建一個 Excel 。

我隨便輸入了一些信息,2 米大個 Jack Cui 和 3 米的花季少女李四。

好,然后選擇這個插件,上傳這個 excel,回車。

可以看到工具箱還貼心地提供了轉換代碼。JSON 格式的數據也提供了。

怎么樣,CodeGeex 很強大了吧,無論對于學生黨還是打工族,CodeGeex 絕對都是開發利器。

三、最后

文章對應的視頻版,我也發布到了 B 站,想要看更直觀的體驗視頻,可以去瞧瞧:

https://www.bilibili.com/video/BV1hg4y1Q715

好了,今天就聊這么多吧。

我是 Jack,我們下期見!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166736.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166736.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166736.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MyBatisPlus總結

MyBatis-Plus時Mybatis的Best Partner MyBatis-Plus (opens new window)(簡稱 MP)是一個 MyBatis (opens new window)的增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。 特性 無侵入損耗小強大的 CR…

Android開發從0開始(廣播)

應用廣播 發送標準廣播的三步驟 發送標準廣播: //發送標準廣播 Intent intent new Intent("com.dongnaoedu.chapter09.standard"); sendBroadcast(intent); 定義廣播接受者: public class StanderdReceiver extends BroadcastReceiver { public s…

在ASP.NET Core 中使用 .NET Aspire 消息傳遞組件

前言 云原生應用程序通常需要可擴展的消息傳遞解決方案,以提供消息隊列、主題和訂閱等功能。.NET Aspire 組件簡化了連接到各種消息傳遞提供程序(例如 Azure 服務總線)的過程。在本教程中,小編將為大家介紹如何創建一個 ASP.NET …

PLC通過RS232轉PROFINET與電子分析天平秤通訊案例

本案例是通過用興達易控的XD-PNR200型RS232轉Profinet網關連接電子分析天平秤與PLC通訊的配置案例,用到設備為西門子S7-1200PLC,RS232轉Profinet網關,電子分析天平秤。 打開博圖,添加PLC;本案例使用的是1200PLC。 添加…

『接口測試干貨』| Newman+Postman接口自動化測試完整過程

『接口測試干貨』| NewmanPostman接口自動化測試完整過程 1 Newman簡介2 如何安裝Newman?2.1 安裝NodeJs2.2 安裝Newman2.2 解決Newman不是內部命令 3 Newman使用3.1 Newman如何運行集合?3.2 如何查看幫助文檔?3.3 環境變量設置3.4 關于全局變…

微信小程序制作

如果你也想搭建一個小程序,但不知道如何入手,那么今天我就教你如何使用第三方制作平臺,在短短三十分鐘內搭建一個小程序。 一、登錄小程序制作平臺 首先,登錄到小程序制作平臺的官方網站或應用程序,進入后臺管理系統。…

【Oracle OCP考試】1z0-082(4)

1.Which two statements are true about the PMON background process? A. It rolls back transactions when a process fails(當進程失敗時,它回滾事務) B. It registers database services with all local and remote listeners known to…

文章解讀與仿真程序復現思路——電網技術 EI\CSCD\北大核心《考慮5G基站儲能可調度容量的有源配電網協同優化調度方法》

這篇文章的標題涉及到以下關鍵概念: 5G基站: 提到了5G基站,這表明文章的焦點可能是與第五代移動通信技術相關的內容。5G技術對于提高通信速度、降低延遲以及支持大規模連接等方面有顯著的改進,因此對于基站的電力需求和供應可能存…

2023年ESG投資研究報告

第一章 ESG投資概況 1.1 定義 ESG投資,亦稱負責任投資,是一種融合環境(Environment)、社會(Social)和治理(Governance)考量的投資方法,旨在通過綜合這些因素來優化投資…

美國汽車零部件巨頭 AutoZone 遭遇網絡攻擊

Security Affairs 網站披露,美國汽車配件零售商巨頭 AutoZone 稱其成為了 Clop MOVEit 文件傳輸網絡攻擊的受害者,導致大量數據泄露。 AutoZone 是美國最大的汽車零配件售后市場經銷商之一,在美國、墨西哥、波多黎各、巴西和美屬維爾京群島經…

算法-技巧-簡單-只出現一次的數字、多數元素

記錄一下算法題的學習10 只出現一次的數字 leetcode題目:給你一個 非空 整數數組 nums ,除了某個元素只出現一次以外,其余每個元素均出現兩次。找出那個只出現了一次的元素。你必須設計并實現線性時間復雜度的算法來解決此問題,且…

「Whale 帷幄」連續入選科技榜單,AGI 沖擊波正在加速行業洗牌

以 AGI 為底座,品牌 MarTech 正在經歷一場前所未有的深度變革。 近日,彎弓研究院發布「中國 MarTech 500 強榜單」,以 2023 中國營銷技術(MarTech)生態為研究對象,洞察行業現象與未來趨勢。作為品牌數字化…

AMEYA360:蔡司新能源汽車解決方案驅動產業未來

電動化正在重塑中國汽車工業。自中國汽車工業開始發展以來,在電動化和智能化的浪潮推動下,汽車行業從未面臨著如此巨大的變革。得益于中國汽車產業尤其是新能源車過去十余年的激流勇進,消費者對新能源汽車的接受度也在發生轉變。新能源汽車市…

2016年全國碩士研究生入學統一考試管理類專業學位聯考英語(二)試題

Section IUse of English Directions: Read the following text.Choose the best word(s) for each numbered blank and mark A,B,Cor D on the ANSWER SHEET.(10 points)   Happy people work differently.They’re more productive,more creative&am…

前后端性能優化實踐(含Java代碼部分、數據庫部分、React前端部分)

最近的一個大屏報表統計的接口查詢速度很慢,耗時近一分鐘左右,數據量級只是700萬左右,但很慢,最后優化到4秒左右,客戶還能接受,但其實還可以在優化,先這樣吧,簡單記錄下。這次主要優…

App Inventor 2 文本轉數字

App Inventor 2 是弱語言類型,文本和數字之間不用刻意去轉換,之間賦值就可以了。文本賦值給數字變量如下: 運行結果:124 注意:數字變量初始化的時候要給一個數字的初始值,表明它是數字。 如果文本中含有非…

java與c++中的分支語句switch的不同

java中的switch后可用字符串,而C只能用字符和數字 switch(suffix){case "js":contentType"text/javascript";break;case "css":contentType"text/css";break;}c switch (x){case 0:case 1:case 2:rth 3;break;case 3:case 4:case 5:r…

系列三、事務

一、事務 1.1、概述 事務是數據庫操作的基本單元,它是指邏輯上的一組操作,要么都成功,要么都失敗。典型場景:轉賬,例如Jack給Rose轉賬1000元,轉賬成功:Jack賬戶的余額少1000元,Rose…

關于進制的轉化

二進制轉十進制: 🔰 方法一:二進制轉十進制,用各數的碼位與位權的乘積之和,說白了就是用從右到左的每個數去乘以2的冪次方(最右邊是0),然后就所有的數相加。 補充:位權是…

<藍橋杯軟件賽>零基礎備賽20周--第7周--棧和二叉樹

報名明年4月藍橋杯軟件賽的同學們,如果你是大一零基礎,目前懵懂中,不知該怎么辦,可以看看本博客系列:備賽20周合集 20周的完整安排請點擊:20周計劃 每周發1個博客,共20周(讀者可以按…