学习笔记|大模型优质Prompt开发与应用课(二)|第四节:大模型帮你写代码,小白也能做程序

文章目录

GT│飞桨开发者技术专家

01软件开发产业趋势与技术革新

软件开发产业趋势与技术革新技术性人才很受欢迎

研发资源持续投入是企业为了获取核心技术.提升竞争力而进行的必要投资,同时也是企业实现长期发展、保持核心竞争力的关键因素。

在大型企业当中,人力成本占研发投入通常超50%,互联网头部企业研发薪资通常在20k以上,可以看到技术性人才非常受人欢迎。

软件开发产业趋势与技术革新技术门槛越来越低

计算机时代初期,依靠字位码、汇编语言进行开发

随着硬件设备的快速发展和软件技术的不断进步,我们进入了一个个新的编程时代。

02 大模型驱动的软件开发

开发基本流程

需求分析

需求分析:

在这个阶段,产品经理需要了解用户需求,进行市场调研和需求分析,确定产品的功能和特点,形成用户需求文档。重点场景:

市场调研与需求分析流程、需求文档生成

prompt

你是一名资深产品经理,需求分析通常需要包含什么样的内容

产品设计

产品设计:可以轻松设计出lcon

基于需求分析的结果,产品经理需要与其他角色配合进行产品设计,包括产品的功能设计、界面设计、交互设计等,形成产品需求文档。

重点场景:

Icon设计

本项目的logo由文心一言自动生成可以轻松设计出lcon

开发和测试

在这个阶段,开发人员会根据产品需求文档进行开发和测试,确保代码的质量和稳定性,同时进行集成测试和系统测试,保证产品的质量和可用性。

重点场景:

基础代码撰写.报错分析、单元测试撰写

prompt

请用Python语言写出一个快速排序的代码。

输出回复

python 复制代码
def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quick_sort(left) + middle + quick_sort(right)

arr = [3,6,8,10,1,2,1]
print(quick_sort(arr))

prompt

请分析一下报错信息,并告诉我该如何修正

prompt

请为以上Python代码,撰写一份单元测试示例:

python 复制代码
import unittest
from io import StringIO
import sys
import json

class TestQuickSort(unittest.TestCase):

    def test_quick_sort_case1(self):
        arr = [3,6,8,10,1,2,1]
        expected = [1, 1, 2, 3, 6, 8, 10]
        result = quick_sort(arr)
        self.assertEqual(result, expected)

    def test_quick_sort_case2(self):
        arr = [5,4,3,2,1]
        expected = [1, 2, 3, 4, 5]
        result = quick_sort(arr)
        self.assertEqual(result, expected)

if __name__ == '__main__':
    test_cases = [TestQuickSort('test_quick_sort_case1'), TestQuickSort('test_quick_sort_case2')]
    results = []

    for case in test_cases:
        suite = unittest.TestSuite()
        suite.addTest(case)
        output = StringIO()
        sys.stdout = output
        runner = unittest.TextTestRunner(stream=output)
        result = runner.run(suite)
        sys.stdout = sys.__stdout__

        if result.wasSuccessful():
            results.append({"casename": case._testMethodName, "result": "Pass"})
        else:
            results.append({"casename": case._testMethodName, "result": "Fail"})

    print(json.dumps(results))

prompt

请对刚才生成的单元测试示例代码结果进行解释

回复

刚才生成的单元测试示例代码中,我们使用了Python自带的unittest模块来编写测试用例。

在test_quick_sort_case1方法中,我们对一个升序排列的数组进行了排序,期望得到的结果是升序排列的数组。实际运行结果与期望结果一致,因此该测试用例通过。

在test_quick_sort_case2方法中,我们对一个降序排列的数组进行了排序,期望得到的结果是降序排列的数组。实际运行结果与期望结果一致,因此该测试用例也通过。

最终输出的结果是一个包含两个测试用例的JSON格式字符串,每个测试用例包括了测试用例名称和测试结果(通过或失败)。如果所有测试用例都通过,则输出为"[{'casename': 'test_quick_sort_case1', 'result': 'Pass'}, {'casename': 'test_quick_sort_case2', 'result': 'Pass'}]",否则会输出相应的错误信息。

发布和部署

发布和部署;

在这个阶段,产品经理需要将产品发布到相应的平台或渠道,并进行部署和配置,确保产品的可用性和稳定性。

重点场景:

运维指南

prompt

请告诉我何启动nginx,并使其与我的Django框架相结合

prompt

请告诉我如何更新Ubuntu软件包

维护和更新

维护和更新:

一旦产品发布,产品经理需要持续进行产品的维护和更新,包括修复漏洞、升级版本等,确保产品的质量和用户体验。重点场景:

文档编写、注释生成

prompt

请为下方Python代码撰写一份使用文档:

prompt

请为以下函数攫写说明,并为每段代码生成注解

大模型可以完成哪些应用?

  • 通用模块:语音克隆模块、OCR模块、目标检测模块、行人动作识别模块等
  • 小游戏:贪吃蛇、打砖块、推箱子等
  • 小工具:图片裁剪、二维码生成、进制转换器、图片符号画等

03 代码辅助开发模式

插件开发&网页交互开发

  • 插件开发:主流辅助开发方式,在IDE中加载插件即可,有一定学习成本,适合具有编程经验的工程师完成大型开发项目
  • 网页交互开发:入门轻松,无较多学习成本,配置IDE后即可交互开发,多问多耐心即可完成简单软件。

04 实操用Prompt从0完成一个小软件

prompt

现在你是编程大牛,请问将图片转成ASCII字符化的工具,一般叫什么名字?

prompt

你是一名非常专业的产品经理,请问如果我要做一个图片转字符化工具的界面。需要哪些步骤,尽量详细丰富一些

prompt

请生成一个"图片转字符"软件的桌面图标。要求主体为显示器,界面可爱,有科技感,扁平化风格

prompt

你是一名编程大牛,目的我想做一个图片字特化的工具,这个工具主要是课程教学给大家做演示,请问我应装以什么样的步骤去完成它?

回复

要完成一个图片字特化的工具,你可以按照以下步骤进行:

选择编程语言和开发环境:首先,你需要选择一种编程语言(如Python、Java或C++等)以及相应的开发环境(如PyCharm、Eclipse或Visual Studio等)。

学习图像处理基础知识:为了实现图片字特化功能,你需要了解一些基本的图像处理知识,如图像读取、图像缩放、图像旋转、图像二值化等。

设计工具界面:根据你的需求,设计一个简单易用的工具界面,包括输入图片、选择字体、设置字体大小、旋转角度等选项。

编写代码实现功能:使用所选编程语言和相关库,编写代码实现图片字特化的功能。以下是一个使用Python和OpenCV库实现的简单示例:


python
复制代码
import cv2
import numpy as np

def text_specialization(image_path, text, font_path, font_size):
    # 读取图片
    img = cv2.imread(image_path)

    # 设置字体
    font = cv2.FONT_HERSHEY_SIMPLEX

    # 在图片上添加文字
    cv2.putText(img, text, (50, 50), font, font_size, (255, 255, 255), 2, cv2.LINE_AA)

    # 保存结果
    cv2.imwrite('result.jpg', img)

if __name__ == '__main__':
    image_path = 'input.jpg'
    text = 'Hello, World!'
    font_path = 'arial.ttf'
    font_size = 30
    text_specialization(image_path, text, font_path, font_size)


测试和优化:在完成代码编写后,对工具进行测试,确保其功能正常且效果良好。如有需要,可以对代码进行优化以提高性能。

打包和发布:将工具打包成可执行文件(如Windows上的exe文件或Linux上的可执行脚本等),并将其发布给其他用户使用。

prompt

你是一名编程大牛,请你实现一个用python语言Tkinter实现的界面,需要包含一个上传按钮up_file和一个图片预览框show_img,其中上传按钮up_file为上传一个图片,在用户上传后会在图片预览框show_img中进行展示。

生产代码运行后,未出现上传按钮,问问大模型!

prompt

运行以上代码,收到错误提示:ModuleNotFoundError: No module named 'PIL',怎么处理?

prompt

请问,上面的这个代码。为什么运行之后,有界面,但界面中没有任何元素,怀疑是imagePreview没有写对?

按照提示,对代码进行修改,能正常显示了。

prompt

你是一名python编程大牛,请生成一个convert_image_to_ascii函数,实现"图片转字符化"的需求,将图片转为ascii字符,并写入output.txt文件当中。

prompt

我有一个make_img函数,需要在selec_image之后执行,请问我应该怎样插入该代码?

prompt

你是一名python编程大牛,请告诉我如何利用Tkinter,生产一个消息框,消息内容为"生成完毕",请在"text.txt"文件中查看。

prompt

你是一名python编程大牛,我想耙我的Python文件转成exe格式。发给我朋友,应该怎么做?

prompt

请生成一份上方代码的文档,以markdown形式显示。

相关推荐
懒惰才能让科技进步18 分钟前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
love_and_hope34 分钟前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen37 分钟前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)1 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
准橙考典1 小时前
怎么能更好的通过驾考呢?
人工智能·笔记·自动驾驶·汽车·学习方法
hong1616881 小时前
跨模态对齐与跨领域学习
学习
阿伟来咯~2 小时前
记录学习react的一些内容
javascript·学习·react.js
Suckerbin2 小时前
Hms?: 1渗透测试
学习·安全·网络安全
水豚AI课代表3 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
聪明的墨菲特i3 小时前
Python爬虫学习
爬虫·python·学习