当前位置: 首页 > news >正文

星火大模型 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(慧函数), 谁更胜一筹?

哈喽&#xff0c;本文即通过相近的试题&#xff0c;看下最近爆火的科大讯飞星火大模型和 FuncGPT&#xff08;慧函数&#xff09;的编码能力有何区别&#xff0c;给大家直观地对比。 开发过程中经常会遇到读取文件内容的情况&#xff0c;需要【判断文件路径是目录还是文件】&am…...

使用 Python 获取 Redis 数据库中的所有键

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

C的进阶C++学习方向

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;软件配置等领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff01;送给自己和读者的…...

【仿写框架之仿写Tomact】二、初始化阶段加载项目中所有servlet类对象

文章目录 1、自定义MyWebServlet 注解2、创建HttpServlet文件3、加载项目中的所有以.java结尾的文件4、收集项目中带有MyWebServlet 的类对象 1、自定义MyWebServlet 注解 我们知道&#xff0c;tomcat是依据WebServlet注解去收集所有servlet类的。 import java.lang.annotati…...

Linux实用运维脚本分享

Linux实用运维脚本分享&#x1f343; 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. 如果&#xff08;If&#xff09;控制器 使用示例 2. BeanShell PreProcessor 使用示例 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞…...

时序预测 | MATLAB实现SA-ELM模拟退火算法优化极限学习机时间序列预测

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

Ubuntu 连接海康智能相机步骤(亲测,成功读码)

ubuntu20.04下连接海康智能相机 Ubuntu 连接海康智能相机步骤(亲测&#xff0c;已成功读码)输出的结果 Ubuntu 连接海康智能相机步骤(亲测&#xff0c;已成功读码) (就是按照海康的提供的步骤和源码连接相机&#xff0c;流水账) 安装Ubuntu20.04安装gcc和g&#xff0c;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 对应&#xff0c;用来修饰变量&#xff0c;通常用于建立语言级别的 memory barrier。这是 BS 在 "The C Programming Language" 对 volatile 修饰词的说明&#xff1a; A volatile specifier is a hint to a…...

Linux:shell脚本:基础使用(4)《正则表达式-grep工具》

正则表达式定义&#xff1a; 使用单个字符串来描述&#xff0c;匹配一系列符合某个句法规则的字符串 正则表达式的组成&#xff1a; 普通字符串: 大小写字母&#xff0c;数字&#xff0c;标点符号及一些其他符号 元字符&#xff1a;在正则表达式中具有特殊意义的专用字符 正则表…...

如何建立单元测试

快速开始 zixun-quickstart-mk3生成的项目已经配置好了基础的BaseTest,各个测试类只需要继承BaseTest就可以开始进行单元测试的编写了。 如何进行Mock 为了保证独立性和可重复执行,所有的外部依赖都需要进行Mock,SpringTest引入了Mockito作为单测Mock组件, Mickito官方文…...

typeScript 接口和类

工具&#xff1a; PlayGround 接口 接口用来定义对象的结构和类型&#xff0c;描述对象应该具有哪些属性和方法。 它仅用于声明&#xff0c;而不是实现&#xff1b; 这对于编写可重用的代码非常有用。它可用于&#xff1a; 关键字是interface&#xff0c; 注意&#xff1a;它…...

这项与越来越多企业有关的行业标准,网易云信深度参与制定!

近日&#xff0c;由中国信息通信研究院主办的 2023 数字生态发展大会暨中国信通院“铸基计划”年中会议在北京召开。本次大会发布了中国信通院在行业数字化转型中的观察和实践&#xff0c;并发布了中国信通院在数字化转型领域的多项工作成果。大会定向邀请了来自通信、云计算、…...

C语言,malloc使用规范

malloc 是 C 语言中用于分配内存的函数。它的名称是“memory allocation”的缩写。malloc 是在 <stdlib.h> 头文件中定义的。 malloc 的基本语法是&#xff1a; void* malloc(size_t size); 其中 size_t是要分配的字节数。如果分配成功&#xff0c;malloc返回一个指向分配…...

广度优先遍历与最短路径(Java 实例代码源码包下载)

目录 广度优先遍历与最短路径 Java 实例代码 src/runoob/graph/ShortestPath.java 文件代码&#xff1a; 广度优先遍历与最短路径 广度优先遍历从某个顶点 v 出发&#xff0c;首先访问这个结点&#xff0c;并将其标记为已访问过&#xff0c;然后顺序访问结点v的所有未被访问…...

南大通用数据库(Gbase 8s) 创建UDR外部函数

一、在使用 date_format、from_unixtime、to_days、yearweek 函数时&#xff0c;Gbase 8s 数据库不支持&#xff0c;可以使用创建 UDR 外部函数来实现 二、登录命令控制台或者使用 navicat 连接 Gbase 数据库 这里使用 navicat &#xff0c;点击新增连接选择 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问题

责任链定义 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许多个对象按照顺序处理请求&#xff0c;直到其中一个对象能够处理该请求为止。 在责任链模式中&#xff0c;通常有一个抽象处理者&#xff08;Handler&a…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

sshd代码修改banner

sshd服务连接之后会收到字符串&#xff1a; SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢&#xff1f; 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头&#xff0c…...

大数据治理的常见方式

大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法&#xff0c;以下是几种常见的治理方式&#xff1a; 1. 数据质量管理 核心方法&#xff1a; 数据校验&#xff1a;建立数据校验规则&#xff08;格式、范围、一致性等&#xff09;数据清洗&…...

CTF show 数学不及格

拿到题目先查一下壳&#xff0c;看一下信息 发现是一个ELF文件&#xff0c;64位的 ​ 用IDA Pro 64 打开这个文件 ​ 然后点击F5进行伪代码转换 可以看到有五个if判断&#xff0c;第一个argc ! 5这个判断并没有起太大作用&#xff0c;主要是下面四个if判断 ​ 根据题目…...

C++中vector类型的介绍和使用

文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…...

Heygem50系显卡合成的视频声音杂音模糊解决方案

如果你在使用50系显卡有杂音的情况&#xff0c;可能还是官方适配问题&#xff0c;可以使用以下方案进行解决&#xff1a; 方案一&#xff1a;剪映替换音色&#xff08;简单适合普通玩家&#xff09; 使用剪映换音色即可&#xff0c;口型还是对上的&#xff0c;没有剪映vip的&…...