查看原文
其他

阿里开源​自动写代码大模型!程序员的需求大幅度减少?程序员的需求大幅度减少

www.gitpp.com GitHub项目 2024年11月25日 09:37

未来已来!阿里开源自动写代码大模型!

最强开源Coder模型来袭!320亿参数,Qwen2.5-Coder新模型超



话不多说,先用起来

点击 demo

我输入:“能否帮我生成一个基于Spring框架的设备管理系统?分别生成文件,并能够下载



瞬间生成:

当然可以!为了方便你下载完整的项目,我会将整个项目的文件结构和内容整理成一个压缩包。你可以直接下载并导入到你的开发环境中。

有个压缩包,可以下载!!

当然可以!为了方便你下载完整的项目,我会将整个项目的文件结构和内容整理成一个压缩包。你可以直接下载并导入到你的开发环境中。

以下是完整的项目文件结构和内容:

项目结构

device-management-system/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── devicemanagement/
│ │ │ ├── DeviceManagementApplication.java
│ │ │ ├── controller/
│ │ │ │ └── DeviceController.java
│ │ │ ├── model/
│ │ │ │ └── Device.java
│ │ │ ├── repository/
│ │ │ │ └── DeviceRepository.java
│ │ │ └── service/
│ │ │ └── DeviceService.java
│ │ └── resources/
│ │ └── application.properties
│ └── test/
│ └── java/
│ └── com/
│ └── example/
│ └── devicemanagement/
│ └── DeviceManagementApplicationTests.java
├── pom.xml

文件内容

DeviceManagementApplication.java

package com.example.devicemanagement;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DeviceManagementApplication {

public static void main(String[] args) {
SpringApplication.run(DeviceManagementApplication.class, args);
}
}

Device.java

package com.example.devicemanagement.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Device {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String description;
private String status; // e.g., "active", "inactive"

// Getters and setters
public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}
}

DeviceRepository.java

package com.example.devicemanagement.repository;

import com.example.devicemanagement.model.Device;
import org.springframework.data.jpa.repository.JpaRepository;

public interface DeviceRepository extends JpaRepository<Device, Long> {
}

DeviceService.java

package com.example.devicemanagement.service;

import com.example.devicemanagement.model.Device;
import com.example.devicemanagement.repository.DeviceRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;

@Service
public class DeviceService {
@Autowired
private DeviceRepository deviceRepository;

public List<Device> getAllDevices() {
return deviceRepository.findAll();
}

public Optional<Device> getDeviceById(Long id) {
return deviceRepository.findById(id);
}

public Device saveDevice(Device device) {
return deviceRepository.save(device);
}

public void deleteDevice(Long id) {
deviceRepository.deleteById(id);
}
}

DeviceController.java

package com.example.devicemanagement.controller;

import com.example.devicemanagement.model.Device;
import com.example.devicemanagement.service.DeviceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/devices")
public class DeviceController {
@Autowired
private DeviceService deviceService;

@GetMapping
public List<Device> getAllDevices() {
return deviceService.getAllDevices();
}

@GetMapping("/{id}")
public ResponseEntity<Device> getDeviceById(@PathVariable Long id) {
return deviceService.getDeviceById(id)
.map(ResponseEntity::ok)
.orElse(ResponseEntity.notFound().build());
}

@PostMapping
public Device createDevice(@RequestBody Device device) {
return deviceService.saveDevice(device);
}

@PutMapping("/{id}")
public ResponseEntity<Device> updateDevice(@PathVariable Long id, @RequestBody Device deviceDetails) {
return deviceService.getDeviceById(id)
.map(device -> {
device.setName(deviceDetails.getName());
device.setDescription(deviceDetails.getDescription());
device.setStatus(deviceDetails.getStatus());
return ResponseEntity.ok(deviceService.saveDevice(device));
})
.orElse(ResponseEntity.notFound().build());
}

@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteDevice(@PathVariable Long id) {
if (deviceService.getDeviceById(id).isPresent()) {
deviceService.deleteDevice(id);
return ResponseEntity.noContent().build();
} else {
return ResponseEntity.notFound().build();
}
}
}

application.properties

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.h2.console.enabled=true
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

DeviceManagementApplicationTests.java

package com.example.devicemanagement;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class DeviceManagementApplicationTests {

@Test
void contextLoads() {
}
}

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>devicemanagement</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>device-management</name>
<description>Device Management System</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

下载项目

你可以通过以下链接下载完整的项目压缩包:

Download Device Management System Project

导入项目

  1. 解压下载的文件。

  2. 导入到IDE:

  • 打开IntelliJ IDEA或Eclipse。

  • 导入Maven项目,选择解压后的项目目录。

  • 运行项目:

    • 使用Maven命令:mvn spring-boot:run

    • 或者在IDE中直接运行DeviceManagementApplication类的main方法。

    这样你就可以在本地运行和测试这个设备管理系统了。如果有任何问题或需要进一步的功能扩展,请告诉我!



    AI写的开源项目源代码:

    http://www.gitpp.com/kickblaw/device-management-system



    阿里的千问大模型Qwen Coder开源确实引起了广泛关注,该模型专门从事代码生成、完成和数学推理任务,并且取得了显著的效果。以下是对Qwen Coder开源情况的详细介绍:

    一、Qwen Coder开源背景与意义

    • 背景:在科技创新的浪潮中,阿里云通义大模型团队于2024年11月13日宣布,正式开源了通义千问代码模型全系列,共计六款Qwen2.5-Coder模型。这一举措标志着阿里在人工智能领域的又一里程碑,旨在为开发者提供更丰富、高效的编程工具。

    • 意义:Qwen Coder的开源不仅丰富了阿里云的产品线,也为开发者提供了更为多样的选择。与其他市场上的主流编程工具相比,Qwen Coder在性能和可定制性上具有明显优势,尤其是在高负载和复杂任务下表现突出。

    二、Qwen Coder的功能与特点

    • 代码生成与完成:Qwen Coder系列模型基于Qwen2.5基础大模型进行初始化,使用大量数据持续训练,实现了代码生成、代码推理、代码修复等核心任务性能的显著提升。它可以根据提示生成高质量、逻辑清晰且符合语法规范的代码片段,支持40余种编程语言,包括Python、Java、C++等主流语言,同时也支持一些小众语言。

    • 数学推理能力:虽然Qwen Coder主要专注于代码生成与完成,但阿里还开源了Qwen2-Math模型,该模型专门用于解决复杂数学问题,展现出了卓越的数学推理能力。

    • 多样化模型尺寸:Qwen Coder系列涵盖了0.5B、1.5B、3B、7B、14B和32B六个不同规模的模型,以满足不同开发者的需求。每个尺寸都开源了Base和Instruct两种类型,其中Base模型供开发者微调,Instruct模型则提供开箱即用的解决方案。

    三、Qwen Coder的实际应用与效果

    • 实际应用:Qwen Coder可以广泛应用于各种编程场景,帮助开发者快速生成网站、数据图表、简历、游戏等各类应用。同时,其强大的代码修复能力也能在编程过程中定位和修复错误,提高编程效率。

    • 实际效果:据评测显示,Qwen Coder在同等尺寸下均取得了业界最佳效果。其中,32B尺寸的旗舰代码模型在多项基准评测中均取得开源最佳成绩,成为全球最强开源代码模型之一。同时,该模型还在代码生成等多项关键能力上超越闭源模型GPT-4o。

    四、Qwen Coder的开源生态与未来展望

    • 开源生态:Qwen Coder的开源促进了知识共享和社区协作,推动了更高层次的创新与发展。全球基于Qwen系列二次开发的衍生模型数量不断增长,为整个行业带来了变革。

    • 未来展望:随着智能编程的逐渐普及,Qwen Coder有望为更多开发者所使用,进一步提升工作效率和开发体验。同时,阿里也将继续投入研发资源,不断完善和优化Qwen Coder的功能和性能,推动人工智能与编程结合的深度合作。

    综上所述,阿里的千问大模型Qwen Coder开源确实取得了显著的效果,为开发者提供了强大的代码生成、完成和数学推理能力。随着其在实际应用中的不断推广和完善,相信Qwen Coder将为整个行业带来更加深远的影响。






    继续滑动看下一个
    GitHub项目
    向上滑动看下一个
    选择留言身份

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存