chatGLM3剛發(fā)布(10.27),打算嘗試一下其code和計算能力。
共選取三個問題,難度從中等,偏困難,到困難。測試內(nèi)容是正好手頭上在做的事想讓LLM來完成(偷懶),之前都是直接使用GPT,這次正好對比測試一下。
測試產(chǎn)品包括GPT3.5、文心一言、chatGLM,均使用web端版本(1105當(dāng)天)。
測試問題一(難度中等):
我想要對一個int類型十進制數(shù)字x進行1024取余(即x%1024),為此我做了一個計算方法,計算方法如下:
1. 先將int類型數(shù)字轉(zhuǎn)成二進制字符串
2. 保留二進制字符串的最后10位得到新字符串
3. 新字符串轉(zhuǎn)成十進制數(shù)字
該計算是否可以得到原十進制數(shù)字對1024取余
期望答案:
本題為求余計算公式,LLM應(yīng)知道計算方法正確,并能做出一定解釋。
測試問題二(偏難):
我想要對一個int類型十進制數(shù)字x進行1024取余(即x%1024),為此我做了一個計算方法,計算方法如下:
1. 先將int類型數(shù)字轉(zhuǎn)成二進制字符串
2. 保留二進制字符串的最后5位得到新字符串
3. 新字符串轉(zhuǎn)成十進制數(shù)字
該計算是否可以得到原十進制數(shù)字對1024取余
期望答案:
本題為求余計算公式(1024求余應(yīng)該是二進制10位,這里故意寫5位),期望LLM指出計算方法錯誤,如果能解釋錯誤和修改意見為優(yōu)秀。
測試問題三(困難):
我有一個java語言int類型字段來記錄字符串的特征值,該特征值用來做去重使用,意思是如果再遇到一個新的字符串的特征值與該特征值相同則認(rèn)為這兩個字符串相同。
需求如下:
#01 我希望提取字符串的md5+字符串長度兩個特征合并放到這個int特征值里,字符串長度占最后10位,其他位放md5,不足的位數(shù)用0占位。
#02 字符串長度如果超過1024則取余計算字符串長度(字符串長度%1024)。
請根據(jù)需求幫我編寫一個Java程序。
期望答案:
自定義字符串特征值算法,前22位md5+后10位字符串長度取余
總的來說:
GPT3.5還是完全領(lǐng)先;chatGLM在前兩個問題上還可以拼一拼,在最后一個代碼生成上還是很難提供有效幫助;文心一言三題均無法提供指導(dǎo)(差距太大)。文章來源:http://www.zghlxwxcb.cn/news/detail-744205.html
對比詳情見騰訊文檔:
https://docs.qq.com/sheet/DZWJXTHZQS0tLeXNl?tab=BB08J2文章來源地址http://www.zghlxwxcb.cn/news/detail-744205.html
附GPT3.5第三題的代碼
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.nio.charset.StandardCharsets;
public class FeatureValueGenerator {
public static int generateFeatureValue(String input) {
try {
// 計算MD5哈希值
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] md5Hash = md.digest(input.getBytes(StandardCharsets.UTF_8));
// 計算字符串長度并取余
int length = input.length() % 1024;
// 將MD5哈希值的前面位數(shù)組成int值
int md5Value = 0;
for (int i = 0; i < Math.min(4, md5Hash.length); i++) {
md5Value = (md5Value << 8) | (md5Hash[i] & 0xFF);
}
// 將字符串長度合并到特征值的最后10位
int featureValue = (md5Value << 10) | length;
return featureValue;
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return -1; // 錯誤情況下返回-1
}
}
public static void main(String[] args) {
String input = "YourStringHere"; // 替換成你的字符串
int featureValue = generateFeatureValue(input);
System.out.println("特征值: " + featureValue);
}
}
到了這里,關(guān)于GPT3.5+文心一言+chatGLM 計算和代碼生成能力簡單對比的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!