国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ChatGPT不僅能寫代碼還能改bug,這屆AI全能

這篇具有很好參考價(jià)值的文章主要介紹了ChatGPT不僅能寫代碼還能改bug,這屆AI全能。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

工欲善其事必先利其器,我們先來(lái)看一下什么是ChatGPT。小試牛刀,讓ChatGPT自己來(lái)回答一下:
ChatGPT不僅能寫代碼還能改bug,這屆AI全能

從介紹中可以看出來(lái)ChatGPT很擅長(zhǎng)處理自然語(yǔ)言,那我們來(lái)看看AI處理編程語(yǔ)言的效果如何呢?

第一個(gè)挑戰(zhàn),讓ChatGPT實(shí)現(xiàn)一個(gè)分布式鎖。在這里我指定了中間件使用Redis、編程語(yǔ)言使用Java。最終的實(shí)現(xiàn)代碼如下:

import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.script.DefaultRedisScript;import org.springframework.data.redis.core.script.RedisScript;
import java.util.Collections;
public class DistributedLock {
    
    private RedisTemplate<String, String> redisTemplate;
    
    public DistributedLock(RedisTemplate<String, String> redisTemplate) {  
        this.redisTemplate = redisTemplate;    
    }
    
    public boolean acquire(String lockKey, int expireTime) {        
        RedisScript<String> script = new DefaultRedisScript<>(
           "return redis.call('set', KEYS[1], 'locked', 'NX', 'EX', ARGV[1])",
            String.class);
        String result =redisTemplate.execute(script,Collections.singletonList(lockKey),Integer.toString(expireTime));
        return "OK".equals(result);    
    }
    
    public void release(String lockKey) {        
        redisTemplate.delete(lockKey);    
    }
}

而更厲害的是,ChatGPT 給出了實(shí)現(xiàn)思路和使用注意事項(xiàng):

ChatGPT不僅能寫代碼還能改bug,這屆AI全能

接下來(lái)上點(diǎn)難度,第二個(gè)挑戰(zhàn)是讓ChatGPT對(duì)接騰訊云接口,在告訴ChatGPT騰訊云發(fā)送短信API的文檔鏈接、使用spring注解方式等信息后,馬上就有結(jié)果了:

ChatGPT不僅能寫代碼還能改bug,這屆AI全能

<dependencies>    
    <dependency>        
        <groupId>com.tencentcloudapi</groupId>        
        <artifactId>tencentcloud-sdk-java</artifactId>        
        <version>3.1.63</version>    
    </dependency>
</dependencies>

然后,在你的 Spring Boot 應(yīng)用程序中,你需要定義 SmsClient 的 Bean,并使用 @Configuration@Bean 注解將其設(shè)置為單例模式。比如,可以在一個(gè)名為 TencentCloudConfig 的類中添加如下代碼:

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.sms.v20190711.SmsClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configurationpublic class TencentCloudConfig {

    @Value("${tencentcloud.secretId}")    
    private String secretId;
    
    @Value("${tencentcloud.secretKey}")    
    private String secretKey;
    
    @Value("${tencentcloud.sms.appid}")    
    private String smsSdkAppid;
    
    @Value("${tencentcloud.sms.sign}")    
    private String sign;
    
    @Bean    
    public SmsClient smsClient() {        
        Credential cred = new Credential(secretId, secretKey);        
        HttpProfile httpProfile = new HttpProfile();     
        httpProfile.setEndpoint("sms.tencentcloudapi.com");
        ClientProfile clientProfile = new ClientProfile();
        clientProfile.setHttpProfile(httpProfile);
        return new SmsClient(cred, "", clientProfile);    
    }
}

最后,我們?cè)?SmsService 類中注入 SmsClient 的 Bean,進(jìn)行短信發(fā)送的操作。比如,可以在 SmsService 類中添加如下代碼:

import com.tencentcloudapi.sms.v20190711.SmsClient;
import com.tencentcloudapi.sms.v20190711.models.SendSmsRequest;
import com.tencentcloudapi.sms.v20190711.models.SendSmsResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Servicepublic 
class SmsService {
    @Autowired    
    private SmsClient smsClient;
    
    public void sendSms(String phoneNumber, String templateId, String[] templateParams) {        
        // 創(chuàng)建 SendSmsRequest 對(duì)象        
        SendSmsRequest req = new SendSmsRequest();        
        req.setSmsSdkAppid("你的短信應(yīng)用 SDK AppID");        
        req.setSign("短信簽名內(nèi)容");        
        req.setTemplateID(templateId);        
        req.setPhoneNumberSet(new String[] {phoneNumber});     
        req.setTemplateParamSet(templateParams);
        // 發(fā)送短信        
        try {            
            SendSmsResponse resp = smsClient.SendSms(req);
            System.out.println(resp.toString());        
        } catch (Exception e) {            
            System.out.println(e.toString());        
        }    
    }
}

看來(lái)寫代碼難不倒ChatGPT。接下來(lái)看看它改bug的能力吧。

發(fā)送一段有 bug 的代碼給 ChatGPT:

class Account {  
    private int balance;  
    
    // 轉(zhuǎn)賬  
    void transfer(Account target, int amt){    
        // 鎖定轉(zhuǎn)出賬戶    
        synchronized(this){           
            // 鎖定轉(zhuǎn)入賬戶      
            synchronized(target){         
                if (this.balance > amt) {          
                    this.balance -= amt;          
                    target.balance += amt;        
                }      
            }    
        }  
    } 
}

ChatGPT不僅能寫代碼還能改bug,這屆AI全能

class Account {  
    private int balance;  
    private static final Object lock = new Object();
  
    // 轉(zhuǎn)賬  
    void transfer(Account target, int amt){    
        // 獲取鎖順序    
        Account first = this;    
        Account second = target;    
        if (this.hashCode() > target.hashCode()) {      
            first = target;      
            second = this;    
        }
    
        // 鎖定轉(zhuǎn)出賬戶    
        synchronized(first){      
            // 鎖定轉(zhuǎn)入賬戶      
            synchronized(second){        
                if (this.balance > amt) {          
                    this.balance -= amt;          
                    target.balance += amt;        
                }      
            }    
        }  
    } 
}

在這個(gè)修復(fù)后的版本中,使用了一個(gè)靜態(tài)的鎖對(duì)象來(lái)避免不必要的競(jìng)爭(zhēng)。同時(shí),還根據(jù)賬戶的哈希值來(lái)決定獲取鎖的順序,從而避免了死鎖問(wèn)題。

看到這里,你覺(jué)得ChatGPT表現(xiàn)得怎么樣呢。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-418858.html

到了這里,關(guān)于ChatGPT不僅能寫代碼還能改bug,這屆AI全能的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【GPT-3 】創(chuàng)建能寫博客的AI工具

    ????????如何使用OpenAI API,GPT-3和Python創(chuàng)建AI博客寫作工具。 ????????在本教程中,我們將從 OpenAI API 中斷

    2024年02月11日
    瀏覽(16)
  • 還在熬夜改代碼?你怕是不知道ChatGPT可以協(xié)助改代碼/查找Bug

    還在熬夜改代碼?你怕是不知道ChatGPT可以協(xié)助改代碼/查找Bug

    你還在拼命熬夜查找Bug、修改代碼嗎?如果是,那你肯定沒(méi)有發(fā)現(xiàn)ChatGPT在編程領(lǐng)域的輔助作用! 為了驗(yàn)證ChatGPT修改代碼的能力,我們將嘗試用不同類型的代碼進(jìn)行測(cè)試: 怎么把這行代碼里的中位數(shù)調(diào)成第一或者第三四分位數(shù) (R語(yǔ)言) 此代碼為什么無(wú)解?(C++) 哪里有錯(cuò)誤

    2024年02月07日
    瀏覽(21)
  • ChatGPT與文心一言的差距不僅億點(diǎn)點(diǎn)

    ChatGPT與文心一言的差距不僅億點(diǎn)點(diǎn)

    文心一言不如ChatGPT對(duì)同一問(wèn)題(矩陣論)的求解 下圖為文心一言的回答 下圖為ChatGPT3.5的回答 通過(guò)比較可以發(fā)現(xiàn),ChatGPT給你的答案更加條理清晰,并且給出的理由很充分,結(jié)果也是正確的,然后文心一言,首先,結(jié)果是錯(cuò)誤的,而且給出的理由比較少也不分條,這個(gè)結(jié)果的

    2024年01月23日
    瀏覽(20)
  • 用了這款插件,零代碼基礎(chǔ)也能寫代碼你信嗎?

    用了這款插件,零代碼基礎(chǔ)也能寫代碼你信嗎?

    使用過(guò) chatGPT 的同學(xué),可能都會(huì)有過(guò)這樣的經(jīng)歷?遇到代碼不會(huì)的問(wèn)題,本能的就會(huì)去求助 chatGPT ,然后并根據(jù)chatGPT的回答去優(yōu)化代碼。但是,沒(méi)了梯子的話, chatGPT 是不是也幫不上忙了?還是只有我是這樣的情況 ̄□ ̄|| 當(dāng)然,這也讓我偶然發(fā)現(xiàn)這個(gè)插件,對(duì)于我這種

    2024年02月06日
    瀏覽(90)
  • 利用微軟Bing AI語(yǔ)言大模型輔助提高寫代碼、閱讀代碼、解bug的效率

    利用微軟Bing AI語(yǔ)言大模型輔助提高寫代碼、閱讀代碼、解bug的效率

    目錄 1 怎么才能使用Bing AI 2 Bing AI使用舉例 2.1 代碼沒(méi)看懂,可以問(wèn)Bing AI 2.2 當(dāng)你不確定你程序理解的是否正確時(shí),可以問(wèn)Bing AI 2.3?程序編譯出現(xiàn)bug,可以問(wèn)Bing AI 要想使用Bing AI,必須用微軟的Edge瀏覽器,打開Edge瀏覽器,然后打開必應(yīng)。 必應(yīng) (bing.com) 然后點(diǎn)擊左上角的聊天

    2024年02月12日
    瀏覽(25)
  • Rust 快速入門60分① 看完這篇就能寫代碼了

    Rust 快速入門60分① 看完這篇就能寫代碼了

    Rust 一門賦予每個(gè)人構(gòu)建可靠且高效軟件能力的語(yǔ)言 https://hannyang.blog.csdn.net/article/details/130467813?spm=1001.2014.3001.5502 關(guān)于Rust安裝等內(nèi)容請(qǐng)參考上文鏈接,寫完上文就在考慮寫點(diǎn)關(guān)于Rust的入門文章,本專輯將直接從Rust基礎(chǔ)入門內(nèi)容開始講起。標(biāo)題《快速入門60分》并不指60分鐘,

    2024年02月04日
    瀏覽(24)
  • 不僅做GPT Store,OpenAI還要做AI搜索引擎

    不僅做GPT Store,OpenAI還要做AI搜索引擎

    在發(fā)布GPTs(ChatGPT的自定義版本)功能兩個(gè)月之后,OpenAI終于在今天上線了萬(wàn)眾期待的GPT Store。 OpenAI宣稱用戶已經(jīng)創(chuàng)建了超過(guò)300萬(wàn)個(gè)GPTs,許多創(chuàng)建者都分享了他們的GPTs供其他人使用。不過(guò),GPT Store目前僅“充值可用”,面向ChatGPT Plus、Team(團(tuán)隊(duì)版)和Enterprise(企業(yè)版)用戶

    2024年01月18日
    瀏覽(20)
  • 【ChatGPT】ChatGPT還能保持多久的神話?

    【ChatGPT】ChatGPT還能保持多久的神話?

    最近ChatGPT的熱度持續(xù)拔高,一個(gè)功能強(qiáng)大的AI迅速引爆了全世界,上到技術(shù)大佬,下到平民百姓,都在討論并使用這個(gè)“跨時(shí)代的”的技術(shù)。有人拿它聊天,有人拿它寫論文(說(shuō)的就是你!),更有甚者用它去創(chuàng)作乃至犯罪。那么,ChatGPT真的所向無(wú)敵嗎?它的熱度還能維持多

    2023年04月14日
    瀏覽(14)
  • ChatGPT進(jìn)化了,全新GPT-4發(fā)布,識(shí)圖做網(wǎng)頁(yè),閱萬(wàn)行代碼改BUG都不在話下,實(shí)在太強(qiáng)!...

    ChatGPT進(jìn)化了,全新GPT-4發(fā)布,識(shí)圖做網(wǎng)頁(yè),閱萬(wàn)行代碼改BUG都不在話下,實(shí)在太強(qiáng)!...

    一、開篇 近日,GPT4(Generative Pre-trained Transformer 4)的發(fā)布引起了全球范圍內(nèi)的轟動(dòng)。GPT4是一種基于人工智能的語(yǔ)言生成模型,可以模擬人類的自然語(yǔ)言,并且可以產(chǎn)生高度逼真的語(yǔ)言和文本。其出現(xiàn)再次將人工智能技術(shù)推向了輿論的中心。本文將探討GPT4的發(fā)布和人工智能技

    2023年04月20日
    瀏覽(24)
  • 介紹一下ChatGPT AI大數(shù)據(jù)模型技術(shù)在Cat2Bug-Platform系統(tǒng)中自動(dòng)創(chuàng)建測(cè)試用例的應(yīng)用

    介紹一下ChatGPT AI大數(shù)據(jù)模型技術(shù)在Cat2Bug-Platform系統(tǒng)中自動(dòng)創(chuàng)建測(cè)試用例的應(yīng)用

    如今比較火的ChatGPT等人工智大數(shù)據(jù)模型技術(shù)確實(shí)給人們的生活帶來(lái)了質(zhì)的改變,它在自然語(yǔ)義理解、圖像生成方面有著突出的表現(xiàn),因此我們也在Cat2Bug-Platform 0.1.1版本中嘗試將其引入到測(cè)試工作中。 首先考慮的就是將它做為測(cè)試用例的生成助手,因?yàn)榫驮?023年的10月初,我

    2024年02月21日
    瀏覽(15)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包