使用Prompt,轻松实现你的第一个全栈项目

news2025/1/18 8:46:54

前言

还有程序员没有应用过大模型技术吗?是工具也可以!如果你还未使用过大模型技术,那么我劝你尽早行动,它会成为你开发的一大神器。如果你对大模型感兴趣,同时想使用大模型技术来开发产品,我接下来这个实战案例相信可以帮助到你。

如今,大模型的崛起使得编程变得前所未有的容易,哪怕你是一个编程新手,也能轻松创造自己的应用程序。

本文将带你走进一个崭新的学习路径,介绍一种基于提示(Prompt)的方法,借助强大的大模型,轻松完成前后端程序的构建和调试。我们将逐步使用Prompt,创建一个简单而完整的前后端应用,包括Python后端和HTML前端。

目标需求

我们的目标是构建一个基本的Web应用程序,它接收用户输入并将其传递到后端Python程序。后端将用户输入传递给OpenAI API,获取输出,再将结果呈现在前端页面上。这个应用程序将通过前后端协作,实现用户与AI模型的互动,类似于网页版ChatGPT中的最简单功能。
在这里插入图片描述
可以看到一个简单的网页,用户在输入框输入问题,网页端将问题传递到后端,后端调用OpenAI API获取回答,然后网页再将OpenAI的回答展示在下面。麻雀虽丑,五脏俱全。

完整实现过程

1. 使用Prompt生成代码

一个好的Prompt应该有以下几个要素:

  • 角色:给 AI 定义一个最匹配任务的角色,比如:「你是一位软件工程师」
  • 指示:对任务进行描述
  • 上下文:给出与任务相关的其它背景信息(尤其在多轮交互中)
  • 例子:必要时给出举例,学术中称为 one-shot learning, few-shot learning 或 in-context learning;实践证明其对输出正确性有帮助
  • 输入:任务的输入信息;在提示词中明确的标识出输入
  • 输出:输出的格式描述,以便后继模块自动解析模型的输出结果,比如(JSON、XML)

我先和大模型交代好我的需求,以及对它的角色要设定,同时把具体的功能也要告诉他,具体的请看我的图片。
在这里插入图片描述
可以看到我在Prompt中添加了角色定义,详细的任务,以及一些确定的信息(例如使用Python语言,网页名叫“My First OpenAI Page”)。ChatGPT回复如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从ChatGPT生成的结果看,它已经给你生成了完整的前后端代码框架,并告诉你应该如何运行和使用它们。

兴致勃勃地开始运行上面的代码吧!很不幸的,在运行代码的时候,出现了错误。在运行上述代码时,遇到了错误。

别慌!这并不罕见,因为生成的代码通常需要自行检查和修改,大模型不是万能的,要警惕大模型幻觉(一本正经胡说八道)的出现。学会使用Prompt进行代码调试和错误修复是非常关键的技能。

2.调试代码

下面以一个错误的解决为例,带大家看下如何使用Prompt来解决程序中遇到的错误或问题:
错误信息:

Access to XMLHttpRequest at 'file:///D:/process-prompt' from origin 'null' has been blocked by CORS 
policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, 
chrome-extension, chrome, https, chrome-untrusted.

直接把错误提示给到大模型,当然还是Prompt交互:
在这里插入图片描述
按照上述修改,你会发现程序运行仍然错误: No matching distribution found for apt_pkg

可以再次看到,大模型也并不是万能的,它也会犯错。那怎么引导大模型改正错误,输出正确答案呢?那就要停下来思考如何优化Prompt了。
总结
结合以上整个实现过程,与我们过去开发项目的确有很大的变革,当然事情都有双面性,通过Prompt编程,我们可以获得以下关键优势:

  1. 学习代码框架和实施方式:Prompt让我们轻松了解不熟悉的代码框架,就像本文中的Flask框架一样,即使我们之前对其一无所知。

  2. 作为项目的第一步:实际工作中,从零开始构建项目的机会较少,通常是在现有代码和框架的上扩展。Prompt可以帮助我们快速启动项目,成为项目构建的强大起始点,提高我们的框架搭建能力。

  3. 提高编程效率。不用自己重复造轮子了,一些成熟的常用算法,如冒泡排序,如SQL语句生成,再也不用自己一个单词一个单词的手动写,一行Prompt全搞定。

  4. 提高解决问题的效率。从上文解决问题的过程可以看到,通过Prompt来寻求解决问题的方法比传统检索要强大和高效的多,它给你组织和筛选了答案,不再需要你去海量的信息中筛选对你有用的信息。

  5. 提高代码的可维护性和可扩展性。Prompt可以帮助我们编写更易于维护和扩展的代码,因为我们可以使用模板和代码片段来编写结构化的代码,而不是手动的编写整个代码。这可以使代码更易于阅读和理解,同时也可以方便地进行修改和扩展。

最后,目前利用Prompt和大模型进行编程还不算成熟,对于使用者来说还是需要有点基础,例如环境,例如基本调试和运行,基本IDE的使用等。当然,随着大模型技术的发展,现在已经涌现出了一些应用集成了Code interpreter,可以支持在线运行程序,校验程序的正确性,但也在发展阶段。大模型全栈课程中也提到:AI 的能力不会超过使用者的判断力。虽然AI已经取得了很大的进步,但是它的能力仍然受到人类的知识和经验、数据和算法的限制。因此,在使用AI时,我们应该保持谨慎和理性,将其视为一种工具,而不是一种万能的方法。

那么,我们该如何学习大模型?

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

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

学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。

L1级别:AI大模型时代的华丽登场

L2级别:AI大模型API应用开发工程

L3级别:大模型应用架构进阶实践

L4级别:大模型微调与私有化部署

一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。

以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

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

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

img

三、大模型经典PDF籍

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

img

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

img

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1720024.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu24.04 LTS安装中文输入法

前言 最近,windows玩没了,一怒之下决定换一个操作系统,当然就是最新的Ubuntu24.04 LTS.,其中魔法和咒语(汉语)是inux遇到的第一大难关,我权限不够教不了魔法,但我可以教你咒语(๑•…

JVM优化之垃圾收集器

JVM优化之垃圾收集器 Serial收集器Parallel Scavenge收集器ParNew收集器 如果说垃圾收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 没有最好的垃圾收集器,只有根据具体应用场景选择适合自己的垃圾收集器。 Serial收集器 #使用方…

GPU学习(1)

一、为什么要GPU 我们先看一个基本的神经网络计算 YF(x)AxB 这就是一次乘法一次加法 ,也叫FMA,(fused multiply-add) 如果矩阵乘,就是上面的那个式子扩展一下,所以又用了这张老图 比如你要多执行好几个yAxB,可能比较简…

C++11中的新特性(2)

C11 1 可变参数模板2 emplace_back函数3 lambda表达式3.1 捕捉列表的作用3.2 lambda表达式底层原理 4 包装器5 bind函数的使用 1 可变参数模板 在C11之前,模板利用class关键字定义了几个参数,那么我们在编译推演中,我们就必须传入对应的参数…

在鲲鹏服务器上安装nginx

华为鲲鹏服务器采用华为自研cpu ARMv8架构,提供 Windows 和多个Linux 系统 常使用 CentOS 7.6 64bit with ARM Nginx 和 Apache 一样都是一种 Web 服务器。是基于 REST 架构风格,以统一资源描述符URI 或者统一资源定位符URL 作为沟通依据,通过 HTTP 协议…

【算法】模拟算法——Z字形变换(medium)

题解:模拟算法——Z字形变换(medium) 目录 1.题目2.题解3.参考代码4.总结 1.题目 题目链接:LINK 2.题解 利用模拟,来解决问题。 首先创建出一个O(numRows*n)的数组来,并按照题目要求把每个字符按顺序填进去。 这里以numRows…

操作系统6_输入输出系统

操作系统6_输入输出系统 文章目录 操作系统6_输入输出系统1. I/O功能、模型接口2. I/O设备及控制器2.1 I/O设备2.2 设备与控制器接口2.3 设备控制器2.4 通道3. 中断及处理4. 设备驱动程序4.1 驱动程序的功能和特点4.2 驱动程序的处理过程4.3 设备控制方式4.3.1 程序I/O方式4.3.…

微信小程序-页面配置

一、页面配置文件的作用 小程序中,每个页面都有自己的.json配置文件,用来对当前页面的窗口外观、页面效果等进行配置 二、页面配置和全局配置的关系 小程序中,app.json中的window节点,可以全局配置小程序中每个页面的窗口表现 …

MySQL(十一) 用户管理

1.用户 1.1 用户信息 MySQL中的用户,都存储在系统数据库mysql的user表中 mysql> select host,user,authentication_string from user; --------------------------------------------------------------------- | host | user | authentication…

浏览器提示413 Request Entity Too Large

1 问题 2 解决 2.1 后端java配置 2.2 Nginx配置

7个卖出信号出现,昂首资本立即盈利收场

在上篇文章中,我们和各位投资者讨论了如果使用匕首交易策略进行交易,但是如果只买进不卖出,是不是还是盈利不了?Anzo Capital昂首资本认为只有低买高卖才能盈利赚钱,只要发现盈利信号就要立即卖出盈利收场!…

【解决】Tree prefab at index 8 is missing.

开发平台:Unity 2020 版本以上   问题描述 翻译:树预制体集合中第8位预制体丢失。   解决方法:修复丢失树资产 关联 Unity Terrier 组件使用,前往 树绘制工作区,检查 “树资产” 引用是否丢失?删除或重…

力扣257. 二叉树的所有路径

思路&#xff1a;题目需要记录从根节点开始走的路径&#xff0c;无疑选用前序遍历&#xff0c;用一个数组paths 记录走过的节点信息&#xff0c;遇到叶子节点就用另一个list记录下路径&#xff0c;回溯时删掉paths尾节点即可 class Solution {public List<String> binar…

使用el-tab,el-tab-pane循环使用循环后不显示下划线问题

在vue项目中使用element-UI el-tab里的el-tab-pane是循环出来的&#xff0c;但是循环出来后选中tab不显示下划线了 文章目录 问题问题展示效果问题代码问题原因 解决方案解决后效果解决方案1代码 解决方案2代码 问题 问题展示效果 问题代码 <el-tabs v-model"activeNa…

SQL—DQL之执行顺序(基础)

一、引言 1、编写顺序 2、执行顺序 介绍&#xff1a; DQL语句&#xff08;数据查询语句&#xff09; 1、首先先执行的是 FROM &#xff0c;通过 FROM 来决定我要查询的是哪一张表的数据。 2、紧接着通过 WHERE 来指定查询的条件。 3、第三步就是通过 GROUP BY 以及 HAVING 来…

Jvm(二)新生代和老年代与GC回收

目录 新生代和老年代 新生代 MinorGC 老年代&#xff08;Old Generation&#xff09; MajorGC Minor GC、Major GC 和 Full GC 三个GC具体区别和使用场景 JVM GC及内存调优的参数 调优建议 前言-与正文无关 ​ 生活远不止眼前的苦劳与奔波&#xff0c;它还充满了无…

php反序列化学习(2)

1、魔术方法触发规则&#xff1a; 魔术方法触发的前提是&#xff1a;魔法方法所在类&#xff08;或对象&#xff09;被调用 分析代码&#xff0c;_wakeup()的触发条件是进行反序列化&#xff0c;_tostrinng()触发的条件是把对象当成字符串调用&#xff0c;但是魔术方法触发的前…

运维系列.Linux下的用户管理

运维系列 Linux下的用户管理 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/ar…

python实现BMP图像位图法隐藏信息

内容安全实验信息隐藏技术 使用位图法修改BMP图像隐藏信息 我们先了解一下BMP图像的信息 bmp图像文件头和图像信息表 位图法隐藏和传递信息 &#xff08;1&#xff09;本机首先将要隐藏和传递的原始信息记录下来 abc 。 &#xff08;2&#xf…

【康耐视国产案例】AI视觉相机创新 加速商超物流数智化转型

连锁商超/零售店正面临着因消费者购物习惯改变等挑战&#xff0c;迎来了以新兴技术崛起而催生的数字化物流体系转型需求。物流行业与AI机器视觉的深度融合&#xff0c;解决了传统机器视觉识别速度慢、环境要求高、定制化部署耗时过多等痛点&#xff0c;大大提高了物流供应链的效…