首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

腾讯混元大模型与GPT3.5代码能力对比

今日,别的事情不干,来使用一下"腾讯混元大模型"。对比一下"GPT3.5",看看效果。据说"腾讯混元大模型"代码方面是强项,特意申请了一个来体验一波。

本章仅以Python为主题,展开体验。最后有总结!

代码优化1

如下代码为例子,来看看两者的效果。

下述代码作用就是循环数据,不满足条件的加入指定数据,并计数

def ChargeBatJump(self):

"""Bat充电"""

BatChargeValue = {"JumpNum": 0, "JumpValue": [], "MaxJump": 0}

MaxNumber = []

if self.batValues:

for num in range(len(self.batValues) - 1):

CountNumber = int(self.batValues[num + 1][1]) - int(self.batValues[num][1])

if CountNumber > 1:

"""跳"""

BatChargeValue["JumpNum"] += 1

MaxNumber.append(CountNumber)

BatChargeValue["JumpValue"].append(self.batValues[num + 1])

if CountNumber 

"""掉"""

BatChargeValue["JumpNum"] += 1

MaxNumber.append(CountNumber)

BatChargeValue["JumpValue"].append(self.batValues[num + 1])

if MaxNumber:

BatChargeValue["MaxJump"] = max(MaxNumber)

return BatChargeValue

腾讯混元大模型

先来看看"腾讯混元大模型":

def analyze_bat_values(self):

bat_charge_value = {"JumpNum": 0, "JumpValue": [], "MaxJump": 0}

max_number = []

if self.batValues:

for num in range(len(self.batValues) - 1):

count_number = int(self.batValues[num + 1][1]) - int(self.batValues[num][1])

if count_number > 1 or count_number 

"""跳或掉"""

bat_charge_value["JumpNum"] += 1

max_number.append(count_number)

bat_charge_value["JumpValue"].append(self.batValues[num + 1])

if max_number:

bat_charge_value["MaxJump"] = max(max_number)

return bat_charge_value

腾讯混元大模型针对上述代码给出的优化点如下:

1、将变量名改为小写字母和下划线的形式,以符合 Python 的命名规范。

2、将 if CountNumber > 1 和 if CountNumber < 0 合并为一个条件,避免重复判断。

3、将 MaxNumber 改为 max_number,以保持变量名的一致性。

4、删除多余的缩进,使代码更易读。

GTP3.5

再来看看"GTP3.5"

class BatChargeAnalyzer:

def __init__(self, bat_values):

self.bat_values = bat_values

def analyze(self):

jump_info = {"JumpNum": 0, "JumpValue": [], "MaxJump": 0}

max_number = []

if self.bat_values:

for num in range(len(self.bat_values) - 1):

count_number = int(self.bat_values[num + 1][1]) - int(self.bat_values[num][1])

if count_number != 0:

jump_info["JumpNum"] += 1

max_number.append(count_number)

jump_info["JumpValue"].append(self.bat_values[num + 1])

if max_number:

jump_info["MaxJump"] = max(max_number)

return jump_info

# 使用示例

bat_values = [("timestamp1", 10), ("timestamp2", 15), ("timestamp3", 8), ("timestamp4", 20)]

analyzer = BatChargeAnalyzer(bat_values)

result = analyzer.analyze()

print(result)

GPT3.5给出的优化点:

1、将原始的函数封装成一个类,使得代码更加面向对象。

2、修改变量名,使其更符合 Python 命名规范。

3、使用 != 0 替代 > 1,这样可以捕捉到任何变化,而不仅仅是增加或减少

代码优化2

上述代码,可能数据处理方面不是很有难度,所以这里增加一点难度看看。以下是原代码:

def DataTimes(self, stime, etime):

"""计算时长"""

is_key = JSONREAD().is_key_present("Day")

if is_key:

Day = JSONREAD().getData("Day")[:10]

Last = self.currentTime[:10]

Day_time = Day + " " + stime

Last_time = Last + " " + etime

start_time = datetime.datetime.strptime(Day_time, "%Y_%m_%d %H:%M:%S.%f")

end_time = datetime.datetime.strptime(Last_time, "%Y_%m_%d %H:%M:%S.%f")

duration = end_time - start_time

else:

start_format = '%H:%M:%S.%f' if len(stime) >= 12 else '%H:%M:%S'

end_format = '%H:%M:%S.%f' if len(etime) >= 12 else '%H:%M:%S'

start_time = datetime.datetime.strptime(stime, start_format)

end_time = datetime.datetime.strptime(etime, end_format)

duration = end_time - start_time

if len(str(duration)) > 8:

return str(duration)[:-3]

else:

return str(duration)

腾讯混元大模型

from datetime import datetime

def parse_time(time_str, format_str):

return datetime.strptime(time_str, format_str)

def calculate_duration(start_time, end_time):

return end_time - start_time

def DataTimes(self, stime, etime):

"""计算时长"""

is_key = JSONREAD().is_key_present("Day")

if is_key:

Day = JSONREAD().getData("Day")[:10]

Last = self.currentTime[:10]

Day_time = Day + " " + stime

Last_time = Last + " " + etime

start_time = parse_time(Day_time, "%Y_%m_%d %H:%M:%S.%f")

end_time = parse_time(Last_time, "%Y_%m_%d %H:%M:%S.%f")

duration = calculate_duration(start_time, end_time)

else:

start_format = '%H:%M:%S.%f' if len(stime) >= 12 else '%H:%M:%S'

end_format = '%H:%M:%S.%f' if len(etime) >= 12 else '%H:%M:%S'

start_time = parse_time(stime, start_format)

end_time = parse_time(etime, end_format)

duration = calculate_duration(start_time, end_time)

return str(duration)[:-3] if len(str(duration)) > 8 else str(duration)

腾讯混元大模型针对上述代码给出的优化点如下:

1、使用 datetime.datetime.strptime() 函数时,可以将其提取到一个单独的函数中,以避免重复代码。

2、将 start_time 和 end_time 的计算提取到一个单独的函数中,以避免重复代码。

3、将 duration 的计算提取到一个单独的函数中,以避免重复代码。

4、使用 if 语句来检查 duration 的长度,可以使用更简洁的方式。

GPT3.5

import datetime

from JSONREAD import JSONREAD  # 请根据实际情况导入 JSONREAD 模块

class DataTimeCalculator:

def __init__(self, stime, etime):

self.stime = stime

self.etime = etime

self.current_time = self.get_current_time()

def get_current_time(self):

return datetime.datetime.now().strftime("%Y_%m_%d %H:%M:%S.%f")

def get_day(self):

if JSONREAD().is_key_present("Day"):

return JSONREAD().getData("Day")[:10]

return None

def parse_time(self, time_str):

format_str = '%H:%M:%S.%f' if len(time_str) >= 12 else '%H:%M:%S'

return datetime.datetime.strptime(time_str, format_str)

def calculate_duration(self, start_time, end_time):

duration = end_time - start_time

return str(duration)[:-3] if len(str(duration)) > 8 else str(duration)

def calculate(self):

day = self.get_day()

if day:

day_time = day + " " + self.stime

last_time = self.current_time[:10] + " " + self.etime

start_time = self.parse_time(day_time)

end_time = self.parse_time(last_time)

else:

start_time = self.parse_time(self.stime)

end_time = self.parse_time(self.etime)

return self.calculate_duration(start_time, end_time)

# 使用示例

calculator = DataTimeCalculator("08:00:00", "17:00:00")

result = calculator.calculate()

print(result)

GPT3.5优化建议如下:

1、将原始的函数封装成一个类,使代码更加面向对象。

2、提取了获取当前时间、获取日期、解析时间和计算时长的方法,以减少冗余代码。

学习知识

腾讯混元大模型

GPT3.5

如何学习Python?

腾讯混元大模型

GPT3.5

。。。

提问代码示例腾讯混元大模型

GPT3.5

总结

先说说代码优化:

1、各有优缺点,在简单的代码优化上,从本次使用的体验上,"腾讯混元大模型"更OK一些。复杂的代码中"腾讯混元大模型"也没有太大的毛病,将公共方法抽离出来,也比较贴合原代码,GPT3.5在这方面会更胜一筹,将代码模块化,这一块我个人还是比较偏向于GPT3.5。

2、优化建议方面,"腾讯混元大模型"给出的会更加让人易懂一些。这一点比"GPT3.5"要更加OK一些。

再来看看学习知识:

3、当我想学习某一部分知识的时候,"GPT3.5"是要详细一些的,案例上来讲,"GPT3.5"略多于"腾讯混元大模型",并在文末附上官方地址,这点还是比较的加分的。

提问学习方面:

4、"GPT3.5"给出了较为详细的学习步骤,并给出了对应的学习资源。"腾讯混元大模型"也是给出了学习路线。

提问代码示例方面:

5、"GPT3.5"不仅给出了其他模块的示例代码,同时提问的示例代码也一样给出,这一点加分。但是也仅限于回答到了点上,如果这一段是无用代码,那就另说了。"腾讯混元大模型"也是给出了所需要的示例代码,也是OK的。

"腾讯混元大模型"总体上来说还是挺不错的,精准度上说比较OK,推荐没有T子的同学上个手,回复速度也是比较于"GPT3.5"要快上一些。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OwQdjYuCnZx8nxXs3xINxZQw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券