星火大模型 VS FuncGPT(慧函数), 谁更胜一筹?
哈喽,本文即通过相近的试题,看下最近爆火的科大讯飞星火大模型和 FuncGPT(慧函数)的编码能力有何区别,给大家直观地对比。
开发过程中经常会遇到读取文件内容的情况,需要【判断文件路径是目录还是文件】,及文件编码格式,防止无法读取内容或乱码出现情况。
星火大模型生成代码示例如下:
import java.io.File;
public class Main {
public static void main(String[] args) {
System.out.println(checkPathType("your_file_path"));
}
public static int checkPathType(String filePath) {
File file = new File(filePath);
if (file.exists()) {
if (file.isDirectory()) {
return 1; // directory
} else if (file.isFile()) {
return 0; // file
} else {
throw new IllegalArgumentException("The path is neither a directory nor a file");
}
} else {
throw new IllegalArgumentException("The path does not exist");
}
}
FuncGPT(慧函数)生成代码示例如下:
在产品界面输入以下指令:
函数功能:判断文件路径是目录还是文件,返回:1 目录,0 文件
参数 1: 参数名称:filePath;参数类型:String;参数描述:源路径
返回值:int
生成代码如下:
// 类名:FileUtil
// 函数名:checkFileType
// 函数功能:判断文件的路径是目录还是文件
// POM 依赖包:无
import java.io.File;
public class FileUtil {
/**
* 判断文件的路径是目录还是文件
* @param filePath 源路径
* @return 1 表示目录,0 表示文件
*/
public static int checkFileType(String filePath) {
File file = new File(filePath); // 创建 File 对象
if (file.isDirectory()) { // 判断路径是否为目录
return 1; // 返回 1 表示目录
} else if (file.isFile()) { // 判断路径是否为文件
return 0; // 返回 0 表示文件
} else {
throw new IllegalArgumentException("Invalid file path"); // 如果路径既不是目录也不是文件,抛出异常
}
}
}
// 函数示例
// 判断文件的路径是目录还是文件示例
// 入参:filePath,源路径
// 出参:result,1 表示目录,0 表示文件
// 调用示例:
// String filePath = "C:\\Users\\username\\Desktop\\test.txt";
// int result = FileUtil.checkFileType(filePath);
// System.out.println(result);
// 输出结果:例如,路径 "C:\\Users\\username\\Desktop\\test.txt" 是一个文件
// 则输出结果为:0
仅用 14 秒,FuncGPT(慧函数)就生成一个有着清晰代码注释和案例,可读性更好的代码。
通过对比可以发现:
讯飞星火大模型 | 慧函数 |
生成时间:17 秒 | 生成时间:14 秒 |
难以复用 代码中包含主函数,这可能使得代码难以在其他项目中复用 | 支持复用,更加模块化 将函数放在一个独立的工具类中,更加模块化 |
代码可读性一般 | 代码注释和案例清晰,可读性更好 |
总结:在简单的需求场景下,慧函数生成的代码支持复用,更加模块化,且可读性更佳。 |
二
以上是相对简单的功能需求,接下来我们来一个在开发 ERP 或电商系统中,经常会遇到内容加密,生成签名,展示页面列表等功能场景,需要在 Java 程序中对 List 集合进行排序操作这个相对复杂功能需求。
星火大模型生成代码示例如下:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ListSort {
public static void main(String[] args) {
// 测试数据
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put ("name", "张三");
map1.put("age", 20);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put ("name", "李四");
map2.put("age", 25);
list.add(map2);
Map<String, Object> map3 = new HashMap<>();
map3.put ("name", "王五");
map3.put("age", 22);
list.add(map3);
// 调用 sortList 方法进行排序
sortList(list, "age", "asc");
}
/**
* 对 List 中的 Map 对象按照指定的字段进行排序
* @param list List 对象
* @param columns 排序字段名,以 / 分隔
* @param order 排序类别 asc 顺序,desc 倒序
*/
public static void sortList(List<Map<String, Object>> list, String columns, String order) {
if (list == null || list.isEmpty() || columns == null || columns.isEmpty()) {
return;
}
String[] fieldArray = columns.split("/");
if (fieldArray.length != 2) {
return;
}
Comparator<Map<String, Object>> comparator = new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
String key1 = (String) o1.get(fieldArray[0]);
String key2 = (String) o2.get(fieldArray[0]);
if (order.equalsIgnoreCase("asc")) {
return key1.compareTo(key2);
} else {
return key2.compareTo(key1);
}
}
};
Collections.sort(list, comparator);
}
}
而使用 FuncGPT (慧函数) ,只需在界面输入以下具体的需求及参数要求,点击生成代码,20 秒就可以生成拿来即用的代码了。
函数功能:List 排序
参数 1:参数名称:list;参数类型:List<Map<String, Object>>;参数描述:List 对象
参数 2:参数名称:columns;参数类型:String;参数描述:排序字段名,以 / 分隔;
参数 3:参数名称:order;参数类型:String;参数描述:排序类别 asc 顺序,desc 倒序
返回值:不为空值
FuncGPT (慧函数) 生成代码示例如下
// 类名:ListSorter
// 函数名:sortList
// 函数功能:对 List 进行排序
// POM 依赖包:
// <dependency>
// <groupId>org.apache.commons</groupId>
// <artifactId>commons-lang3</artifactId>
// <version>3.12.0</version>
// </dependency>
import org.apache.commons.lang3.StringUtils;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
public class ListSorter {
/**
* 对 List 进行排序
* @param list List 对象
* @param columns 排序字段名,以 / 分隔
* @param order 排序类别,asc 顺序,desc 倒序
* @return 排序后的 List 对象
*/
public static List<Map<String, Object>> sortList(List<Map<String, Object>> list, String columns, String order) {
String[] columnArray = columns.split("/");
for (String column : columnArray) {
if (StringUtils.isNotBlank(column)) {
Comparator<Map<String, Object>> comparator = (o1, o2) -> {
Object value1 = o1.get(column);
Object value2 = o2.get(column);
if (value1 instanceof Comparable && value2 instanceof Comparable) {
int compareResult = ((Comparable) value1).compareTo(value2);
return order.equalsIgnoreCase("asc") ? compareResult : -compareResult;
}
return 0;
};
Collections.sort(list, comparator);
}
}
return list;
}
}
// 函数示例
// 对 List 进行排序示例
// 入参:list,List 对象
// columns,排序字段名,以 / 分隔
// order,排序类别,asc 顺序,desc 倒序
// 出参:sortedList,排序后的 List 对象
// 调用示例:
// List<Map<String, Object>> list = new ArrayList<>();
// Map<String, Object> map1 = new HashMap<>();
// map1.put("name", "John");
// map1.put("age", 25);
// Map<String, Object> map2 = new HashMap<>();
// map2.put("name", "Alice");
// map2.put("age", 30);
// list.add(map1);
// list.add(map2);
// String columns = "name/age";
// String order = "asc";
// List<Map<String, Object>> sortedList = ListSorter.sortList(list, columns, order);
// System.out.println(sortedList);
// 输出结果:例如,按照 name 字段升序排序,age 字段升序排序,排序后的 List 为:[{name=Alice, age=30}, {name=John, age=25}]
// 则输出结果为:[{name=Alice, age=30}, {name=John, age=25}]
通过对比我们不难发现
讯飞星火大模型 | 慧函数 |
生成时间:29 秒 | 生成时间:24 秒 |
无法处理多个字段的排序需求 只能处理按单个字段排序,无法处理多个字段的排序需求 | 可以处理多个字段的排序需求 |
代码可读性一般 | 代码简洁,可读性更好 |
总结:慧函数生成的代码相对优势更大,能够处理多个字段的排序需求,且代码可读性更优。 |
AI 技术席卷千行百业的当下,开发人员除了要掌握基本原理和方法外,还要善用工具帮助自己。FuncGPT(慧函数)作为飞算 SoFlu 软件机器人的组成部分,支持创建各种类型的函数。用户可以通过自然语言描述 Java 函数需求,系统即时生成高质量、易读的 Java 函数代码。生成的代码可直接复制到 IDEA 中,或者一键导入到 Java 全自动开发工具函数库中。为开发工程师的日常函数开发工作提供了巨大的便利。
相关文章:
星火大模型 VS FuncGPT(慧函数), 谁更胜一筹?
哈喽,本文即通过相近的试题,看下最近爆火的科大讯飞星火大模型和 FuncGPT(慧函数)的编码能力有何区别,给大家直观地对比。 开发过程中经常会遇到读取文件内容的情况,需要【判断文件路径是目录还是文件】&am…...

使用 Python 获取 Redis 数据库中的所有键
如果你了解 JSON,就会熟悉 Redis 设计系统。 它使用键值结构和分布式内存方法来实现弹性数据库。 哈希、列表、集合、排序集合、字符串、JSON 和流是 Redis 支持的众多数据结构之一。 这个开源数据库支持不同的语言,包括 Python,如果您正在使…...

C的进阶C++学习方向
(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,Linux基础,ARM开发板,软件配置等领域博主🌍快上🚘,一起学习,让我们成为一个强大的攻城狮!送给自己和读者的…...

【仿写框架之仿写Tomact】二、初始化阶段加载项目中所有servlet类对象
文章目录 1、自定义MyWebServlet 注解2、创建HttpServlet文件3、加载项目中的所有以.java结尾的文件4、收集项目中带有MyWebServlet 的类对象 1、自定义MyWebServlet 注解 我们知道,tomcat是依据WebServlet注解去收集所有servlet类的。 import java.lang.annotati…...

Linux实用运维脚本分享
Linux实用运维脚本分享🍃 MySQL备份 目录备份 PING查询 磁盘IO检查 性能相关 进程相关 javadump.sh 常用工具安装 常用lib库安装 系统检查脚本 sed进阶 MySQL备份 #!/bin/bashset -eUSER"backup" PASSWORD"backup" # 数据库数据目录…...

JMeter 特殊组件-逻辑控制器与BeanShell PreProcessor 使用示例
文章目录 前言JMeter 特殊组件-逻辑控制器与BeanShell PreProcessor 使用示例1. 逻辑控制器使用1.1. While Controller 使用示例1.2. 如果(If)控制器 使用示例 2. BeanShell PreProcessor 使用示例 前言 如果您觉得有用的话,记得给博主点个赞…...

时序预测 | MATLAB实现SA-ELM模拟退火算法优化极限学习机时间序列预测
时序预测 | MATLAB实现SA-ELM模拟退火算法优化极限学习机时间序列预测 目录 时序预测 | MATLAB实现SA-ELM模拟退火算法优化极限学习机时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现SA-ELM模拟退火算法优化极限学习机时间序列预测 程序设计 完整…...

Ubuntu 连接海康智能相机步骤(亲测,成功读码)
ubuntu20.04下连接海康智能相机 Ubuntu 连接海康智能相机步骤(亲测,已成功读码)输出的结果 Ubuntu 连接海康智能相机步骤(亲测,已成功读码) (就是按照海康的提供的步骤和源码连接相机,流水账) 安装Ubuntu20.04安装gcc和g,IDmvs只…...

sass笔记
声明变量 通过$标识符进行命名及引用混合器 类似vue中的函数 通过 mixin标识定义 include 标识调用& 父选择器标识extend 进行继承可嵌套可导入 通过 import 文件位置’ 、进行导入 <style> //1 声明变量 $name: 15px; $color: skyblue;mixin border-radius($num) {/…...
C/C++中volatile关键字详解
1. 为什么用volatile? C/C 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C Programming Language" 对 volatile 修饰词的说明: A volatile specifier is a hint to a…...

Linux:shell脚本:基础使用(4)《正则表达式-grep工具》
正则表达式定义: 使用单个字符串来描述,匹配一系列符合某个句法规则的字符串 正则表达式的组成: 普通字符串: 大小写字母,数字,标点符号及一些其他符号 元字符:在正则表达式中具有特殊意义的专用字符 正则表…...
如何建立单元测试
快速开始 zixun-quickstart-mk3生成的项目已经配置好了基础的BaseTest,各个测试类只需要继承BaseTest就可以开始进行单元测试的编写了。 如何进行Mock 为了保证独立性和可重复执行,所有的外部依赖都需要进行Mock,SpringTest引入了Mockito作为单测Mock组件, Mickito官方文…...
typeScript 接口和类
工具: PlayGround 接口 接口用来定义对象的结构和类型,描述对象应该具有哪些属性和方法。 它仅用于声明,而不是实现; 这对于编写可重用的代码非常有用。它可用于: 关键字是interface, 注意:它…...

这项与越来越多企业有关的行业标准,网易云信深度参与制定!
近日,由中国信息通信研究院主办的 2023 数字生态发展大会暨中国信通院“铸基计划”年中会议在北京召开。本次大会发布了中国信通院在行业数字化转型中的观察和实践,并发布了中国信通院在数字化转型领域的多项工作成果。大会定向邀请了来自通信、云计算、…...
C语言,malloc使用规范
malloc 是 C 语言中用于分配内存的函数。它的名称是“memory allocation”的缩写。malloc 是在 <stdlib.h> 头文件中定义的。 malloc 的基本语法是: void* malloc(size_t size); 其中 size_t是要分配的字节数。如果分配成功,malloc返回一个指向分配…...

广度优先遍历与最短路径(Java 实例代码源码包下载)
目录 广度优先遍历与最短路径 Java 实例代码 src/runoob/graph/ShortestPath.java 文件代码: 广度优先遍历与最短路径 广度优先遍历从某个顶点 v 出发,首先访问这个结点,并将其标记为已访问过,然后顺序访问结点v的所有未被访问…...
南大通用数据库(Gbase 8s) 创建UDR外部函数
一、在使用 date_format、from_unixtime、to_days、yearweek 函数时,Gbase 8s 数据库不支持,可以使用创建 UDR 外部函数来实现 二、登录命令控制台或者使用 navicat 连接 Gbase 数据库 这里使用 navicat ,点击新增连接选择 PostGreSql 驱动…...

步入React正殿 - State进阶
目录 扩展学习资料 State进阶知识点 状态更新扩展 shouldComponentUpdate PureComponent 为何使用不变数据【保证数据引用不会出错】 单一数据源 /src/App.js /src/components/listItem.jsx 状态提升 /src/components/navbar.jsx /src/components/listPage.jsx src/A…...

【QT+ffmpeg】QT+ffmpeg 环境搭建
1.qt下载地址 download.qt.io/archive/ 2. win10sdk 下载 https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/ 安装 debug工具路径 qtcreater会自动识别 调试器选择...
责任链模式解决多个ifelse问题
责任链定义 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许多个对象按照顺序处理请求,直到其中一个对象能够处理该请求为止。 在责任链模式中,通常有一个抽象处理者(Handler&a…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...