当前位置: 首页 > 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…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...