一个有经验的程序员如何10分钟利用大模型做开发

智谱AI发布国产最强大模型GLM4,理解评测与数学能力仅次于Gemini Ultra和GPT-4,编程能力超过Gemini-pro,还有对标GPTs商店的GLMs 这是在智谱AI开发者大会上推出的新一代基座大语言模型,GLM4相比较此前最大的特点是三个变化:性能全面提升、上下文长度更长、支持更强的多模态能力。GLM4(GLM4)详细信息 | 名称、简介、使用方法,开源情况,商用授权信息 | 数据学习 (DataLearner) 阅读详情

一、原始需求分析

DuckDB发布1.0版本后,貌似性能很强悍的样子,它是一个单机的嵌入式数据路,支持SQL语言操作数据,所以现在的需求是:基于DuckDB实现一个数据关联碰撞分析的功能。

1、定义一套标准的JSON格式规范,让使用方按规范传入JSON实体,方便后续提供API接口让前端页面调用;

2、根据JSON格式规范,采用JAVA语言开发解释代码,生成最终的SQL查询语句;

3、在DuckDB执行最终的SQL查询语句,返回结果;

根据需要内容,首先找一下有没现成的JSON转SQL的规范和开源框架,发现还没有符合要求的,所以需要定义JSON格式规范。

总体流程为:

图片

二、JSON格式规范设计

图片

图片

图片

图片

图片

图片

以上,大模型已经按提示要求,完成了JSON格式规范的定义,其实它还把规范的必填、可选、描述、每个结构的示例都输出了,只是这里没有粘贴上来。结果如下:

JSON格式规范文档

1、顶层结构

在这里插入图片描述

2、示例JSON数据

{
  "select": ["users.name", "users.email", {"function": "COUNT", "field": "*", "alias": "post_count"}],  
  "from": "users",  
  "joins": [    
    {   
      "type": "INNER JOIN",      
      "table": "posts",      
      "on": {        
        "conditions": [          
          {"left": "users.id", "operator": "=", "right": "posts.user_id"},          
          {"left": "users.status", "operator": "=", "right": "posts.status"}        
        ],        
        "logic": "AND"      
      }   
    } 
  ],  
  "where": {  
    "conditions": [    
      {      
        "logic": "AND",        
        "conditions": [        
          {"field": "users.age", "operator": ">", "value": 21},          
          {"field": "users.status", "operator": "=", "value": "active"}        
        ]      
      },      
      {      
        "logic": "OR",        
        "conditions": [        
          {"field": "users.name", "operator": "=", "value": "Alice"},          
          {"field": "users.name", "operator": "=", "value": "Carol"}        
        ]      
      }    
    ],    
    "logic": "AND"  
  },  
  "group_by": ["users.name", "users.email"],  
  "having": {  
    "conditions": [    
      {"field": "post_count", "operator": ">", "value": 1}    
    ],    "logic": "AND"  },  
    "order_by": [  
      {"field": "users.name", "direction": "ASC"}  
    ],  
    "limit": 10,  
    "offset": 0
}

三、JAVA代码实现JSON转SQL

图片

图片

一开始大模型使用org.json库来解释JSON,它可以快速按我的指示,使用fastjson库来实现。

四、JAVA代码实现DuckDB读写

图片

图片

图片

1、完整的Java代码

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JSONToSQL {    

    public static void main(String[] args) {     
        try {        
            // 示例JSON数据            
            String jsonString = "{\n" +               
                    "  \"select\": [\"users.name\", \"users.email\", {\"function\": \"COUNT\", \"field\": \"*\", \"alias\": \"post_count\"}],\n" +                    
                    "  \"from\": \"users\",\n" +                    
                    "  \"joins\": [\n" +                    
                    "    {\n" +                    
                    "      \"type\": \"INNER JOIN\",\n" +                    
                    "      \"table\": \"posts\",\n" +                    
                    "      \"on\": {\n" +                    
                    "        \"conditions\": [\n" +                    
                    "          {\"left\": \"users.id\", \"operator\": \"=\", \"right\": \"posts.user_id\"},\n" +                    
                    "          {\"left\": \"users.status\", \"operator\": \"=\", \"right\": \"posts.status\"}\n" +                    
                    "        ],\n" +                    
                    "        \"logic\": \"AND\"\n" +                    
                    "      }\n" +                    
                    "    }\n" +                    
                    "  ],\n" +                    
                    "  \"where\": {\n" +                    
                    "    \"conditions\": [\n" +                    
                    "      {\n" +                    
                    "        \"logic\": \"AND\",\n" +                    
                    "        \"conditions\": [\n" +                    
                    "          {\"field\": \"users.age\", \"operator\": \">\", \"value\": 21},\n" +                    
                    "          {\"field\": \"users.status\", \"operator\": \"=\", \"value\": \"active\"}\n" +                    
                    "        ]\n" +                    
                    "      },\n" +                    
                    "      {\n" +                    
                    "        \"logic\": \"OR\",\n" +                    
                    "        \"conditions\": [\n" +                    
                    "          {\"field\": \"users.name\", \"operator\": \"=\", \"value\": \"Alice\"},\n" +                  
                    "          {\"field\": \"users.name\", \"operator\": \"=\", \"value\": \"Carol\"}\n" +                    
                    "        ]\n" +                    
                    "      }\n" +                    
                    "    ],\n" +                    
                    "    \"logic\": \"AND\"\n" +                    
                    "  },\n" +                    
                    "  \"group_by\": [\"users.name\", \"users.email\"],\n" +                    
                    "  \"having\": {\n" +                    
                    "    \"conditions\": [\n" +                    
                    "      {\"field\": \"post_count\", \"operator\": \">\", \"value\": 1}\n" +                    
                    "    ],\n" +                    
                    "    \"logic\": \"AND\"\n" +                    
                    "  },\n" +                    
                    "  \"order_by\": [\n" +                    
                    "    {\"field\": \"users.name\", \"direction\": \"ASC\"}\n" +                    
                    "  ],\n" +                    
                    "  \"limit\": 10,\n" +                    
                    "  \"offset\": 0\n" +                    
                    "}";          
                      
           // 解析JSON并生成SQL查询            
           JSONObject json = JSONObject.parseObject(jsonString);            
           String sqlQuery = jsonToSQL(json);            
           System.out.println("Generated SQL Query: " + sqlQuery);            
           
           // 创建DuckDB连接            
           Connection conn = DriverManager.getConnection("jdbc:duckdb:");            
           Statement stmt = conn.createStatement();      
                 
           // 创建示例数据表            
           stmt.execute("CREATE TABLE users (id INTEGER, name VARCHAR, email VARCHAR, age INTEGER, status VARCHAR);");            
           stmt.execute("CREATE TABLE posts (id INTEGER, user_id INTEGER, title VARCHAR, content VARCHAR, status VARCHAR);");
                      
           // 插入示例数据            
           stmt.execute("INSERT INTO users VALUES (1, 'Alice', 'alice@example.com', 25, 'active');");            
           stmt.execute("INSERT INTO users VALUES (2, 'Bob', 'bob@example.com', 30, 'inactive');");            
           stmt.execute("INSERT INTO users VALUES (3, 'Carol', 'carol@example.com', 22, 'active');");       
             
           stmt.execute("INSERT INTO posts VALUES (1, 1, 'Post 1', 'Content 1', 'active');");            
           stmt.execute("INSERT INTO posts VALUES (2, 1, 'Post 2', 'Content 2', 'active');");            
           stmt.execute("INSERT INTO posts VALUES (3, 2, 'Post 3', 'Content 3', 'inactive');");            
           stmt.execute("INSERT INTO posts VALUES (4, 3, 'Post 4', 'Content 4', 'active');");            
           stmt.execute("INSERT INTO posts VALUES (5, 3, 'Post 5', 'Content 5', 'active');");  
                     
           // 执行生成的SQL查询            
           ResultSet rs = stmt.executeQuery(sqlQuery);        
               
           // 显示查询结果            
           while (rs.next()) {           
               System.out.println("Name: " + rs.getString("name"));                
               System.out.println("Email: " + rs.getString("email"));                
               System.out.println("Post Count: " + rs.getInt("post_count"));                
               System.out.println("----");           
           }            
           
           // 关闭连接            
           stmt.close();           
           conn.close();       
       } catch (Exception e) {            
           e.printStackTrace();        
       }       
   }    
   
   public static String jsonToSQL(JSONObject json) {     
       StringBuilder sql = new StringBuilder();       
        
       // SELECT clause        
       sql.append("SELECT ");        
       JSONArray selectArray = json.getJSONArray("select");        
       for (int i = 0; i < selectArray.size(); i++) {        
           Object item = selectArray.get(i);            
           if (item instanceof String) {             
              sql.append(item);            
           } else if (item instanceof JSONObject) {             
               JSONObject functionObj = (JSONObject) item;                
               sql.append(functionObj.getString("function"))               
                       .append("(")                        
                       .append(functionObj.getString("field"))                        
                       .append(") AS ")                        
                       .append(functionObj.getString("alias"));            
           }            
           if (i < selectArray.size() - 1) {            
               sql.append(", ");            
           }        
       }        
       
       // FROM clause        
       sql.append(" FROM ").append(json.getString("from"));    
           
       // JOINS clause       
       if (json.containsKey("joins")) {         
           JSONArray joinsArray = json.getJSONArray("joins");            
           for (int i = 0; i < joinsArray.size(); i++) {             
               JSONObject joinObj = joinsArray.getJSONObject(i);                
               sql.append(" ").append(joinObj.getString("type"))               
                       .append(" ").append(joinObj.getString("table"))                        
                       .append(" ON ");                
               JSONObject onObj = joinObj.getJSONObject("on");                
               JSONArray conditionsArray = onObj.getJSONArray("conditions");                
               String logic = onObj.getString("logic");                
               for (int j = 0; j < conditionsArray.size(); j++) {               
                   JSONObject condition = conditionsArray.getJSONObject(j);                    
                   sql.append(condition.getString("left"))                            
                           .append(" ").append(condition.getString("operator"))                            
                           .append(" ").append(condition.getString("right"));                   
                   if (j < conditionsArray.size() - 1) {                    
                       sql.append(" ").append(logic).append(" ");                    
                   }                
               }            
           }        
       }        
       
       // WHERE clause        
       if (json.containsKey("where")) {          
           sql.append(" WHERE ");            
           appendConditions(sql, json.getJSONObject("where"));        
       }    
           
       // GROUP BY clause        
       if (json.containsKey("group_by")) {         
           sql.append(" GROUP BY ");            
           JSONArray groupByArray = json.getJSONArray("group_by");            
           for (int i = 0; i < groupByArray.size(); i++) { 
               sql.append(groupByArray.getString(i));                
               if (i < groupByArray.size() - 1) {               
                   sql.append(", ");                
               }            
           }    
       }        
       
       // HAVING clause        
       if (json.containsKey("having")) {          
           sql.append(" HAVING ");            
           appendConditions(sql, json.getJSONObject("having"));        
       }        
       
       // ORDER BY clause        
       if (json.containsKey("order_by")) {          
           sql.append(" ORDER BY ");
JSONArray orderByArray = json.getJSONArray("order_by"); 
           for (int i = 0; i < orderByArray.size(); i++) {            
               JSONObject orderBy = orderByArray.getJSONObject(i);                
               sql.append(orderBy.getString("field"))                   
                       .append(" ").append(orderBy.getString("direction"));               
               if (i < orderByArray.size() - 1) {               
                   sql.append(", ");                
               }           
           }        
       }        
       
       // LIMIT clause        
       if (json.containsKey("limit")) {        
           sql.append(" LIMIT ").append(json.getIntValue("limit"));        
       }        
       
       // OFFSET clause        
       if (json.containsKey("offset")) {          
           sql.append(" OFFSET ").append(json.getIntValue("offset"));       
       }        
       
       sql.append(";");        
       return sql.toString();    
   }    
   private static void appendConditions(StringBuilder sql, 
   JSONObject conditionObj) {        JSONArray conditionsArray = conditionObj.getJSONArray("conditions");        
   String logic = conditionObj.getString("logic");   
        
   for (int i = 0; i < conditionsArray.size(); i++) {         
       Object item = conditionsArray.get(i);            
       if (item instanceof JSONObject && ((JSONObject) item).containsKey("conditions")) {             
           sql.append("(");                
           appendConditions(sql, (JSONObject) item);                
           sql.append(")");            
       } else {              
           JSONObject condition = (JSONObject) item;                
           sql.append(condition.getString("field"))               
                   .append(" ").append(condition.getString("operator"))                        
                   .append(" ");                
           Object value = condition.get("value");                
           if (value instanceof String) {               
               sql.append("'").append(value).append("'");                
           } else {                
               sql.append(value);                
           }            
       }            
       if (i < conditionsArray.size() - 1) {         
           sql.append(" ").append(logic).append(" ");            
       }       
    }   
  }
}

五、单元测试

图片

图片

1、单元测试代码

import com.alibaba.fastjson.JSONObject;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import static org.junit.Assert.*;

public class JSONToSQLTest {
    private Connection conn;    
    private Statement stmt;    
    
    @Before    
    public void setUp() throws Exception {     
       // 创建DuckDB连接        
       conn = DriverManager.getConnection("jdbc:duckdb:");        
       stmt = conn.createStatement();   
            
       // 创建示例数据表        
       stmt.execute("CREATE TABLE users (id INTEGER, name VARCHAR, email VARCHAR, age INTEGER, status VARCHAR);");        
       stmt.execute("CREATE TABLE posts (id INTEGER, user_id INTEGER, title VARCHAR, content VARCHAR, status VARCHAR);");    
           
       // 插入示例数据        
       stmt.execute("INSERT INTO users VALUES (1, 'Alice', 'alice@example.com', 25, 'active');");        
       stmt.execute("INSERT INTO users VALUES (2, 'Bob', 'bob@example.com', 30, 'inactive');");        
       stmt.execute("INSERT INTO users VALUES (3, 'Carol', 'carol@example.com', 22, 'active');");     
          
       stmt.execute("INSERT INTO posts VALUES (1, 1, 'Post 1', 'Content 1', 'active');");        
       stmt.execute("INSERT INTO posts VALUES (2, 1, 'Post 2', 'Content 2', 'active');");        
       stmt.execute("INSERT INTO posts VALUES (3, 2, 'Post 3', 'Content 3', 'inactive');");        
       stmt.execute("INSERT INTO posts VALUES (4, 3, 'Post 4', 'Content 4', 'active');");        
       stmt.execute("INSERT INTO posts VALUES (5, 3, 'Post 5', 'Content 5', 'active');");    
    }    
    
    @After    
    public void tearDown() throws Exception {     
       stmt.execute("DROP TABLE users;");        
       stmt.execute("DROP TABLE posts;");        
       stmt.close();        
       conn.close();    
    }    
    
    @Test    
    public void testJsonToSQL() throws Exception {      
       // 示例JSON数据        
       String jsonString = "{\n" +          
               "  \"select\": [\"users.name\", \"users.email\", {\"function\": \"COUNT\", \"field\": \"*\", \"alias\": \"post_count\"}],\n" +                
               "  \"from\": \"users\",\n" +                
               "  \"joins\": [\n" +                
               "    {\n" +                
               "      \"type\": \"INNER JOIN\",\n" +                
               "      \"table\": \"posts\",\n" +                
               "      \"on\": {\n" +                
               "        \"conditions\": [\n" +                
               "          {\"left\": \"users.id\", \"operator\": \"=\", \"right\": \"posts.user_id\"},\n" +                
               "          {\"left\": \"users.status\", \"operator\": \"=\", \"right\": \"posts.status\"}\n" +                
               "        ],\n" +                
               "        \"logic\": \"AND\"\n" +                
               "      }\n" +                
               "    }\n" +                
               "  ],\n" +                
               "  \"where\": {\n" +                
               "    \"conditions\": [\n" +                
               "      {\n" +               
               "        \"logic\": \"AND\",\n" +                
               "        \"conditions\": [\n" +                
               "          {\"field\": \"users.age\", \"operator\": \">\", \"value\": 21},\n" +                
               "          {\"field\": \"users.status\", \"operator\": \"=\", \"value\": \"active\"}\n" +                
               "        ]\n" +                
               "      },\n" +                
               "      {\n" +                
               "        \"logic\": \"OR\",\n" +                
               "        \"conditions\": [\n" +                
               "          {\"field\": \"users.name\", \"operator\": \"=\", \"value\": \"Alice\"},\n" +                
               "          {\"field\": \"users.name\", \"operator\": \"=\", \"value\": \"Carol\"}\n" +                
               "        ]\n" +                
               "      }\n" +                
               "    ],\n" +                
               "    \"logic\": \"AND\"\n" +                
               "  },\n" +                
               "  \"group_by\": [\"users.name\", \"users.email\"],\n" +                
               "  \"having\": {\n" +                
               "    \"conditions\": [\n" +                
               "      {\"field\": \"post_count\", \"operator\": \">\", \"value\": 1}\n" +                
               "    ],\n" +                
               "    \"logic\": \"AND\"\n" +                
               "  },\n" +                
               "  \"order_by\": [\n" +                
               "    {\"field\": \"users.name\", \"direction\": \"ASC\"}\n" +                
               "  ],\n" +                
               "  \"limit\": 10,\n" +                
               "  \"offset\": 0\n" +                
               "}";       
                
       JSONObject json = JSONObject.parseObject(jsonString);        
       String sqlQuery = JSONToSQL.jsonToSQL(json);        
       System.out.println("Generated SQL Query: " + sqlQuery);      
         
       // 验证生成的SQL语句是否正确        
       String expectedSQL = "SELECT users.name, users.email, COUNT(*) AS post_count FROM users " +          
               "INNER JOIN posts ON users.id = posts.user_id AND users.status = posts.status " +                
               "WHERE (users.age > 21 AND users.status = 'active') " +                
               "AND (users.name = 'Alice' OR users.name = 'Carol') " +                
               "GROUP BY users.name, users.email " +                
               "HAVING post_count > 1 " +                
               "ORDER BY users.name ASC " +                
               "LIMIT 10 OFFSET 0;";        
      assertEquals(expectedSQL, sqlQuery);        
      
      // 执行生成的SQL查询        
      ResultSet rs = stmt.executeQuery(sqlQuery); 
             
      // 验证查询结果       
      assertTrue(rs.next());        
      assertEquals("Alice", rs.getString("name"));        
      assertEquals("alice@example.com", rs.getString("email"));        
      assertEquals(2, rs.getInt("post_count"));        
      
      assertTrue(rs.next());        
      assertEquals("Carol", rs.getString("name"));        
      assertEquals("carol@example.com", rs.getString("email"));        
      assertEquals(2, rs.getInt("post_count"));  
            
      assertFalse(rs.next());    
   }
}

六、在Idea工具运行代码

图片

图片

将代码复制到Idea,直接运行成功。绝大部分程序员应该是做不到的。

我们也可以进一步让大模型优化一些细节,比如校验JSON参数是否符合规范、生成更大的数据集进行测试、生成更复杂的测试用例等等;

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

用ollama本地部署Lamma3.1 ollama create 自定义模型名字 -f Modelfile。让lamma3.1写一个贪吃蛇小游戏,一次run成功。例如:ollama run llama3.1。例如:ollama run llama3.1。 阅读详情

相关推荐

Windows 中 利用 ollama 来搭建 deepseek R1

近年来,大模型凭借其强大的语言理解和生成能力,在自然语言处理、计算机视觉等领域取得了突破性进展。从GPT系列到国内的,文心一言、[Qwen]、,大模型已成为推动人工智能发展的核心力量。ollama作为新兴的大模型搭建工具,以其开源、高效、易于部署的特点,在人工智能开发者社区中崭露头角,为大模型的搭建和应用提供了新的解决方案。在当今数字化浪潮中,人工智能的发展可谓日新月异,而大模型作为其核心驱动力,正重塑着各个行业的格局。

一个专注于机器学习基础与实战的技术博客,内容涵盖算法推导、模型实现、数学原理与代码实践。用通俗的语言解析复杂概念,记录学习过程中的思考与总结,适合机器学习爱好者和从业者参考。 2554

使用 Ollama 本地运行各种 LLM

今天看看另外一个产品Ollama。Ollama 的安装非常简单,只需从官网(https://ollama.com/download)下载后解压缩,并在 Terminal 中运行脚本即可完成环境设置。我尝试运行 Llama3,虽然在运行时占用了大量电脑资源,使得其他应用运行变慢,但整体体验尚可。Ollama 支持多种大型语言模型(https://ollama.com/library)。

python123456_的博客 1734

Ubuntu技巧-Ubuntu远程访问之SSH反向代理

💡大家好,我是可夫小子,《小白玩转ChatGPT》专栏作者,关注AIGC、互联网和自媒体。要把内网的一台的Ubuntu服务器让外面也能访问,总共有三种可行的方案,前面已经介绍了两种方式,今天就来介绍更健壮稳定的方式——ssh反向代理。大概的框架图如下,今天就从服务器购买到设置,手把手的教程,让你花费100块以内,就拥有一个强大的「云服务器」。

可夫小子的频道 1151

AI大模型探索之路-基础篇5:GLM-4解锁国产大模型的全能智慧与创新应用

随着人工智能技术的飞速发展,大型预训练语言模型已成为推动行业进步的重要力量。它们在理解自然语言、生成文本、执行复杂任务等方面展现出惊人的能力。在此背景下,国产大模型GLM-4的问世,不仅展现了中国在AI领域的实力,也为国内外研究者和开发者提供了新的研究与应用平台。

寻道AI,探索AI无限可能! 8679

了解你的GPU:深入探讨AMD SMI

2024年9月17日 作者:Matt Elliott对于使用AMD硬件的系统管理员和高级用户来说,性能优化和高效的资源监控至关重要。AMD系统管理界面命令行工具`amd-smi`正是为了解决这些需求而设计的。amd-smi是一个多功能的命令行工具,专门用于管理和监控AMD硬件,主要侧重于GPU。作为未来取代`rocm-smi`的工具,`amd-smi`有望成为跨广泛设备的AMD硬件管理的主要工具。

数字人生 4523

基于Gardner环的QPSK定时同步MATLAB仿真:四倍采样与多场景性能分析

本文详细介绍了基于Gardner环的QPSK定时同步MATLAB仿真方法,重点分析了四倍采样技术在定时同步中的应用与性能优化。通过MATLAB代码实例展示了Gardner环的实现原理、多场景性能分析及常见问题解决方案,为数字通信系统的定时同步设计提供实用参考。

weixin_29083475的博客 373

一个有经验的程序员如何10分钟利用大模型做开发!!!

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。以上,大模型已经按提示要求,完成了JSON格式规范的定义,其实它还把规范的必填、可选、描述、每个结构的示例都输出了,只是这里没有粘贴上来。

python122_的博客 623

eMMC数据擦除的方式

接下来主要是讲解erase、trim、discard的差异,涉及的command有CMD35、CMD36、CMD38。一般用来擦除整卡或者某些分区,如果只想擦除一个。以下是device status的部分解释。eMMC的数据擦除方式有6种,分别是。将会跳过写保护,只执行其他的范围。Discard的命令序列是。Erase的命令序列是。的范围有包含写保护,Trim的命令序列是。

DPJimmy的博客 1772

10分钟了解如何“做”一个大模型

很多人可能觉得AI和大模型很神奇,背后的原理太高科技了。但其实训练一个大模型并没有那么玄,流程上是很简单清晰的。那些估值几百亿的公司,其实做的事情都是这些——是的,训练模型其实并不是很复杂。每家正在做模型的公司,都做的是这些步骤,或者其中一部分。可能有的数据很全,有的算力很强,有的在模型架构本身做研究,如何更低算力更少数据就能效果更好。但是能有足够的数据、足够的算力——本身已经是一个足够精细的筛选条件了!

2401_85280106的博客 886

关于 Nginx 监听地址 0.0.0.0 的详细解释

0.0.0.0在Nginx配置中表示监听服务器所有网络接口(包括公网IP、内网IP和本地回环地址),这是默认配置。当使用listen 80;时,Nginx会接受通过服务器任何IP地址的80端口访问请求。相比只监听特定IP,这种配置更通用,但也意味着服务会对外网开放,需注意安全风险。可通过netstat命令验证监听状态,显示0.0.0.0:80即表示正确配置。

weixin_43674738的博客 1566

【新能源汽车测试工程师必看!DBC文件50条实战技巧,看懂这篇直接封神】

如果你是新能源汽车研发/测试工程师,还在为信号解析错误、报文找不到、DBC看不懂、实车故障复现不了头疼——那这篇文章,你一定要!在整车电控开发里,DBC = CAN总线的官方字典。没有DBC,报文就是一串乱码;读不懂DBC,测试寸步难行;用不好DBC,排查故障全靠猜。本文总结50条全网最实用、最贴近实车、最能解决问题的DBC技巧,从基础语法到新能源专用信号,从工具操作到故障排错,全部来自一线台架、实车、高压平台实战经验。不废话、不空谈、不玄学,全是能直接落地的硬货!

优快云-新能源汽车研发测试专业博主 1371

AI程序员时代:10分钟开发一个网页?2025年大模型实战指南

2025年,AI大模型技术(如GPT-5、通义灵码等)在代码生成领域实现了革命性突破。开发者通过自然语言交互即可快速生成功能完整的网页、API接口及单元测试代码,开发效率提升数倍28。然而,AI生成的代码仍需人工调试与优化。本文将从技术原理、实战流程、局限性分析及低代码融合案例四方面,探讨大模型在开发中的实际应用。

m0_67415353的博客 1198

跟踪雷达点迹处理

1,点迹定义: 假设研究对象为位置x和速度v,预测值是根据这一时刻的x值、v值来预测下一时刻的x、v;测量值是根据传感器也就是雷达得到的,因为各种误差的存在,这两个值都不准确,所以把他们加权融合,得到一个新的量—状态值。 点迹就是所谓的测量值,由雷达对同一个目标探测到的一系列点(假设目标静止,但由于误差的存在,会扫描出不止一个点),航迹对应状态值,是点迹和预测轨迹的加权融合。 2,雷达信号和点迹处理关系: 3,点迹航迹处理流程 4,仿真 clear all; RealData=G

wangjie36的博客 1万+

国产AI程序员亮相!给需求就能自主写代码,分钟级完成应用开发,来自阿里云

能的来了!不是根据提示续写代码的Copilot,而是你给出需求,它真能自个儿完成任务理解:编写代码:到Debug全流程的那种。多轮交互也不在话下。需求有变,同样在对话框里直接告知AI程序员,它就会主动上手修改代码。如上所示,仅用10分钟,这位AI程序员就能搞定一款奥运赛事日程应用的开发,网页成品长这样:整个过程涉及网页开发、编写Python文件处理程序以及运行、调试、修改代码等工作,按照传统开发方式,怎么着也得半天才能完成。这就是阿里云刚刚带来的通义大模型家族最新成果。

jennycisp的博客 1192

JavaScript实现斗地主(附完整源码)

JavaScript实现斗地主(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1503

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

大模型救了 35 岁程序员?3 个核心能力让经验成为 “金饭碗”

大模型淘汰的不是35岁程序员,而是停留在“体力输出”层面的程序员。当AI接手了代码编写、语法检查等重复性工作,人类的核心价值就回归到经验、判断与思维——这些需要时间沉淀的能力,恰恰是35岁群体的优势所在。对于35岁程序员而言,大模型不是威胁,而是将经验转化为核心竞争力的“放大器”。持续构建自己的知识体系,学会用AI作为协作工具,才能在这场技术变革中,真正实现“越老越吃香”。毕竟,技术迭代永远淘汰工具使用者,而成就规则制定者。

大模型研究中心 1029

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

10分钟私有化部署大模型到本地

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。如果你有很强的GPU,完全可以拉取更大的模型部署,效果更好。对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。至此,你的电脑里已经有了一个本地大模型了,你也可以拉取其它更大的模型来提升模型效果。

xxue345678的博客 2510

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

利用DeepSeek10分钟全自动批量生成电影解说内容,附sop

可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。老铁们,就说最近deepseek真的是火到天际,我上一篇写的关于deepseek+小红书的操作方法,不小心就爆了起来,看到很多小伙伴还是无从下手,所以今天还是拆解一下一些赛道的玩法。顾名思义就是将视频素材上传到电脑,为了方便起见,也可以节省空间,我们可以直接在短视频上扒下来电影的对标视频即可,这个不会的可以私信我,交给你方法。

zhishi0000的博客 8125

10分钟在笔记本电脑安装DeepSeek R1大模型以及个人知识库

大家好,我是隐墨星辰,专注境内/跨境支付架构设计十余年。前几天在文章“DeepSeek与支付行业融合的破局思路”中有提到“先行动起来”,今天给大家一个10分钟在笔记本电脑搭建DeepSeek R1大模型以及个人知识库。我用的电脑是苹果的Macbook,windows也差不多,只是留意安装包不要下错就行。

python1234_的博客 2538
上一篇: 大模型时代,程序员当下如何应对 AI 的挑战
下一篇: 粉笔大事件!首个职教行业垂域大模型问世
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值