告别xx搜索,我用这个AI工具...

终码一生 2024-10-04 15:31:01 阅读 54

点击“终码一生”,关注,置顶公众号

每日技术干货,第一时间送达!

前段时间,逛 GitHub 的时候发现了一个评估报告,对AI搜索引擎进行了详细的准确性测试,覆盖6种主流语言和5类场景。

图片

其中,表现最为出色的是一家国产AI公司发布的产品:秘塔AI搜索(Metaso),我日常也在经常使用,今天就给大家推荐一下。

1、介绍

和其他国产大模型一样,秘塔AI搜索也是自研大模型,拥有自己的自主产权,对中文的理解有天然的优势。然而和其他大模型不同的是,秘塔深耕AI搜索这一块,并且结合用户的搜索习惯,增加了扩展功能,比如每个搜索都附带有脑图、大纲、PPT,还标记了信息来源。

在使用过程中,我发现它针对编程方向进行了专项优化,不仅能够更加准确的解决问题,还能直接运行生成的代码,这对于我们技术人员非常友好。

下面就从编程的角度,给大家演示如何使用秘塔AI搜索,让大家快速上手,方便后面使用。

2、高效搜索和编程工具

我们可以直接在电脑上访问:metaso.cn

进入到搜索主页,可以看到整个页面非常简洁,没有多余的广告推广,即搜即答,非常丝滑。同时支持多种搜索范围和模式,让结果更加精准和有说服力。

图片

下面我们先测试下他的编程和代码分析能力。

1、编程:用Java写一个冒泡排序

图片

和其他同类的大模型应用一样,这种简单的问题,都可以快速给出结果,不同的是秘塔AI搜索相对会更加详细,他会在右上角给出一个大纲,整个解题的思路,包括算法原理,代码实现,时间复杂度和稳定性以及优化方法和应用场景。对于初学者来说,简直太友好了,我们可以一边提问一边学习。

图片

同时我们也可以将这个大纲一键转为思维导图,方便我们在资料文档中插入,一举多得,是不是非常的高效。另外上面生成的代码,我们也可以直接运行,秘塔AI搜索已经具备了运行环境。执行就可以快速输出结果。

图片

2、代码分析

平时工作时,我们经常会搜索一些代码片段和常用工具类,下面我们将一个数据库的管理工具类代码,直接提交给秘塔AI让他帮我们分析下:

<code>public classDBUtil {

  String dname = "license_db";

  String driver = "com.mysql.jdbc.Driver";// 驱动名称

  String url = "jdbc:mysql://localhost:3306/"+dname+"?useUnicode=false&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&autoReconnect=true&useSSL=false";// 连接

  String username = "";// 用户名

  String password = "";// 密码

  Connection con = null;// 连接对象

  PreparedStatement pstmt = null;// 语句对象

  ResultSet rs = null;// 结果集对象

public DBUtil(String dbname){

if(dbname!=null&&dbname.trim().length()>0)

this.dname = dbname;

  }

public DBUtil(){

  }

/**

   * 获得连接对象

   *

   * @return 连接对象

   * @throws ClassNotFoundException

   * @throws SQLException

   */

public Connection getConnection() {

try {

      Class.forName(driver);

      con = DriverManager.getConnection(url, username, password);

    } catch (Exception e) {

// TODO Auto-generated catch block

      e.printStackTrace();

    }

return con;

  }

/**

   * 关闭

   *

   * @throws SQLException

   */

public void close(ResultSet rs, PreparedStatement pstmt, Connection con) {

try {

if (rs != null)

        rs.close();

if (pstmt != null)

        pstmt.close();

if (con != null)

        con.close();

    } catch (SQLException e) {

// TODO: handle exception

      e.printStackTrace();

    }

  }

/**

   * 执行更新

   *

   * @param sql

   * 传入的预设的 sql语句

   * @param params

   * 问号参数列表

   * @return 影响行数

   */

public int execUpdate(String sql, Object[] params) {

try {

this.getConnection();// 获得连接对象

this.pstmt = this.con.prepareStatement(sql);// 获得预设语句对象

if (params != null) {

// 设置参数列表

for (int i = 0; i < params.length; i++) {

// 因为问号参数的索引是从1开始,所以是i+1,将所有值都转为字符串形式,好让setObject成功运行

this.pstmt.setObject(i + 1, params[i] + "");

        }

      }

returnthis.pstmt.executeUpdate(); // 执行更新,并返回影响行数

    } catch (Exception e) {

// TODO Auto-generated catch block

      e.printStackTrace();

    } finally {

this.close(this.rs, this.pstmt, this.con);

    }

return0;

  }

  ....

}

图片

可以看到秘塔AI不仅仅只是搜索工具,还可以帮助我们优化和分析代码,这段代码他先是给我们分析并解读,然后给出自己的优化建议,段落分明,一目了然。

3、代码优化

既然秘塔AI搜索可以分析和运行代码,那么我们可以让其帮助结合优化建议给出新的代码,看下他如何优化:

图片

优化后的代码:

图片

图片

图片

可以看到优化后的代码,不仅引入了连接池,还新增了日志信息,方便跟踪和定位错误。当然每次搜索对应的都有脑图,我们可以清晰的看到代码分析和优化建议,整理的层次分明。

图片

4、解决bug

下面我们测试下秘塔AI搜索解决程序错误的能力,我们把mybatis的xml文件修改下,在执行查询时会出现错误:

图片

我们将控制台的主要错误发给秘塔AI,看看他如何定位的:

图片

可以看出来问题定位的非常精准,直接定位到了xml中的SQL错误,我们将字符串作为字段提交给了数据库。下面是本次的脑图,我们可以看到秘塔AI搜索的一个解决问题的思路,这也恰恰是我们开发者需要掌握的必备技能,如何快速定位自己的程序问题。大家也可以好好看看,如何排查和定位问题。

图片

3、最后

好了,今天就给大家分享到这里,秘塔AI搜索是一个非常不错的搜索工具,尤其对于开发者,可以在编程方面给我们效率带来不小的提升。同时他的脑图和大纲功能又可以让我们在解决问题的同时学习和掌握解决问题的思路,这个是一大特色,相对于单调的传统问答搜索,我更喜欢秘塔AI搜索,授人与鱼不如授人以渔。推荐大家去体验下!

目前是完全免费的,感兴趣的小伙伴,可以去体验下。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。