如何更好的引导大语言模型进行编程的高效开发流程?

news2024/11/16 18:27:34

这张图片展示了一种如何更好地引导大语言模型进行编程的方法。

首先,最简单也是最有效的方法是让大语言模型重复运行多次,每次增加一些额外的信息,直到获得想要的结果。这种方法虽然简单,但可能需要多次尝试才能得到满意的结果。

为了提高效率,可以采用微调提示词的方法,即逐步增加提示词的数量和复杂性,以引导模型生成更准确的代码。例如,可以使用Few-shot提示优化,增加示例数量和示例多样性,以提高模型的性能。此外,还可以采用复现提示策略,将复杂的编程任务分解成多个简单的子任务,让模型逐步完成。

为了进一步提高模型的编程能力,可以采用LTM提示法,将编程任务分解成三个阶段:说明编程背景、函数功能和返回结果格式。每个阶段都提供详细的提示,帮助模型理解编程任务的要求。

此外,还可以利用大语言模型的自我一致性,即让模型自己检查自己的输出结果。这可以通过构建模型自查流程来实现,让模型自己审查自己的输出结果。这样可以提高模型的编程质量,减少错误的发生。

最后,还可以采用多子模型微调和模型微调的方法,针对特定的编程任务进行微调,以提高模型的性能。

这张图片是一个思维导图,展示了基于大语言模型的高效开发流程的三个阶段。每个阶段都有其特定的核心变化和工作内容。

在阶段一,人工为主,大语言模型辅助开发。此时的人工工作包括产品需求梳理、功能实现方案、项目管理方法、核心代码编写和功能测试等。而大语言模型则辅助回答技术相关问题、辅助编写代码提交给人工审核。

在阶段二,人工和大语言模型配合完成开发。此时的人工工作包括需求梳理、代码编写和自动测试,而大模型的工作则包括功能开发自动化。

在阶段三,大语言模型为主,人工引导大语言模型来高效完成开发任务。此时人的工作是引导模型理解人类需求、创建自动化流程,而大模型的工作则是理解和实现人类需求、理解并自动创建外部函数流。

相比于阶段二,阶段三的核心变化在于将基本的项目管理工作交给大语言模型来执行,向大语言模型传递开发项目的管理流程和意图,并引导大语言模型完成一个类似的开发项目,在各开发项目执行时不断优化项目管理流程。通过这种方式,能够引导Chat模型理解流程并自动进行项目管理,包括自行Debug、分级错误汇报、提示库优化、自动执行代码本地管理等工作。

这张图片展示了一个采用LTM提示流程来编写Python函数的过程。

首先,用户提出需求,例如“请帮我查一下我的Gmail邮箱中总共有多少封邮件”。

接着,根据用户需求创建一个Prompt,如“请帮我编写一个Python函数,用于查看我的Gmail邮箱中总共有多少封邮件,函数要求如下……”。

然后,使用Few-shot学习,得到函数创建所需的代码提示。根据提示,可以创建一个名为`retrieve_emails`的函数,它接受一个参数`n`和一个默认值为`"me"`的`user_id`参数。

在函数创建过程中,需要拆解问题找出用户需求中的变量,得到子问题的答案,并将原问题和子问题的答案带入函数创建。在这个例子中,函数创建后的代码如下:

```python
def retrieve_emails(n, user_id="me"):
    # 函数的具体实现代码
```

最后,将函数创建完成后,用户可以使用这个函数来满足他们的需求。

这张图片描述了一个全自动化函数编写与审查的流程,主要分为三个核心部分:

1. 核心函数一:自动代码创建函数`code_generate`,它负责根据用户的需求生成函数源代码。

2. 核心函数二:自动debug函数`function_test`,它负责对生成的函数进行测试和调试,确保其通过测试。

3. 底层文件系统代码和提示文件库,包括`tested_functions`和`untested_functions`两个文件夹,分别存放经过测试的函数及其提示信息,以及未经过测试的函数及其提示信息。

在实际操作中,用户首先需要提供函数名称`function_name`和用户需求`req`,然后通过`run_conversation`进行测试。如果测试未通过,则可以选择重新输入用户需求,或者进入Debug流程。如果测试通过,则将函数及其对应的提示移动至`tested_functions`文件夹中。

在第一阶段的LSTM提示流程中,用户需求`req`被识别为变量`pi`,并作为外部函数提示词`new_req_description`的一部分。在第二阶段的提示过程中,通过`extract_function_code`函数获取函数源代码,并运行新的`new_req_function`函数。

在流程的最后,用户需要输入新的函数名称,并同时完成运行。

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

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

相关文章

AI搜索工具颠覆百度搜索,直接给出结果

这可能是一款足够颠覆搜索引擎的AI工具,绝对是AI产品中的国货之光。 它就是秘塔AI搜索,主打的亮点就是没有广告,我们进入官网之后,可以在对话框输入我们想要了解的事件。 比如最近比较热门的是中国AI教父李一舟,它会执…

netlink原理及应用

什么是netlink netlink是一种基于网络的通信机制,允许内核内部、内核与用户态应用之间甚至用户态应用之间进行通信;netlink的主要作用是内核与用户态之间通信;它的思想是,基于BSD的socket使用网络框架在内核和用户态之间进行通信…

Python算法题集_括号生成

Python算法题集_括号生成 题22:括号生成1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【堆栈回溯】2) 改进版一【切片回溯】3) 改进版二【列表缓存逐层扩充】 4. 最优算法5. 相关资源 本文为Python算法题集之一的代码示例 题22&am…

#单片机(TB6600驱动42步进电机)

1.IDE:keil 2.设备:保密 3.实验:使用单片机通过普通IO口控制TB6600驱动42步进电机 4.时序图: TB6600 ENA、ENA-DIR-、DIRPUL-、PULB-、BA、A-VCC、GND使能电机(直接悬空不接)方向脉冲输入(普通IO口模拟即可&#xff…

回归啦!!!

消失的日子在实习,今天最后一天了来看看自己的学习日志,有没有可以和小伙伴交流的部分吧! 目录 一、产品one ①简介 ②底层原理 ③知识点一 作用一:日志采集 作用二:实时监测 作用三:规则匹配 作用…

足底筋膜炎的症状及治疗

足底筋膜炎症状:足底筋膜炎通常表现为足跟部疼痛,尤其是在晨起或长时间站立、行走后加重。疼痛可能向足底前部或足弓处放射,严重时可能影响行走。此外,患者还可能出现足跟部肿胀、皮肤温度升高、局部压痛等症状。 足底筋膜炎治疗方…

WinForm、Wpf自动升级 AutoUpdater.NET

Github AutoUpdater.NET 目录 一、IIS部署 更新站点 二、创建Winform 一、IIS部署 更新站点 IIS默认站点目录下创建 目录 Downloads、Updates Updates目录创建文件 UpdateLog.html、AutoUpdaterStarter.xml UpdateLog.html&#xff1a; <html><body><h1…

FPGA开源项目分享——2D N-Body重力模拟器

​导语 今天继续康奈尔大学FPGA 课程ECE 5760的典型案例分享——2D N-Body重力模拟器。 &#xff08;更多其他案例请参考网站&#xff1a; Final Projects ECE 5760&#xff09; 1. 项目概述 项目网址 Grav Sim 项目说明 该项目的目标是创建一个用DE1-SOC进行硬件加速的2…

FPGA-VGA成像原理与时序

什么是VGA: VGA, Video Graphics Array。即视频图形阵列,具有分辨率高、显示速率快、颜色丰富等优点。VGA接口不但是CRT显示设备的标准接口,同样也是LCD液晶显示设备的标准接口,具有广泛的应用范围。在FGPA中,常广泛用于图像处理等领域。 VGA 显示器成像原理 在 VGA 标准刚兴…

YOLO算法改进Backbone系列之:PVTv2

摘要&#xff1a;最近&#xff0c;Transformer在计算机视觉方面取得了令人鼓舞的进展。在本研究中&#xff0c;本文通过增加(1)线性复杂度注意层、(2)重叠贴片嵌入和(3)卷积前馈网络三种设计&#xff0c;改进了原始的金字塔视觉转换器(PVT v1)&#xff0c;提出了新的基线。通过…

机器学习笔记 YOLOv9模型相关论文简读

一、YOLOv9简述 自 2015 年 Yolov1 推出以来,已经出现了多个版本。 基于Darknet的YOLOv2、YOLOv3和YOLOv4 YOLOv5 YOLOv8 基于 Ultralytics。 SCALED-YOLOv4 使用 Pytorch 而不是 Darknet。 YOLOR是YOLOv4的改进。 YOLOX是YOLOv3的改进。 YOLOv6专注于工业应用。 YOLOv7 来自 …

iOS消息转发流程

当向Objc对象发送消息时&#xff0c;如果找到对象对应的方法&#xff0c;就会进入消息转发流程&#xff0c;给开发者提供一些最后的机会处理消息无法发送问题&#xff0c;以免出现程序崩溃。 1. 回调对象的resolveInstanceMethod方法&#xff0c;在这个方法中&#xff0c;允许开…

【golang】go module依赖的git tag被覆盖 如何处理 | 因测试产生大量的git tag 如何清除 最佳实践

一、场景 当我们把本地和远程git仓库的 tag全部删除&#xff0c;我们另外的项目依赖于这个被删除tag无法更新版本 如何处理&#xff1f; 如上图&#xff1a; 这里我创建了一个 v0.0.1 的tag&#xff0c;然后删除了这个tag&#xff0c;然后又创建了一个新的 v0.0.1的tag&#xf…

【图论】【并集查找】【C++算法】928. 尽量减少恶意软件的传播 II

作者推荐 动态规划的时间复杂度优化 涉及知识点 图论 并集查找 LeetCode928. 尽量减少恶意软件的传播 II 给定一个由 n 个节点组成的网络&#xff0c;用 n x n 个邻接矩阵 graph 表示。在节点网络中&#xff0c;只有当 graph[i][j] 1 时&#xff0c;节点 i 能够直接连接到…

(每日持续更新)jdk api之PipedOutputStream基础、应用、实战

博主18年的互联网软件开发经验&#xff0c;从一名程序员小白逐步成为了一名架构师&#xff0c;我想通过平台将经验分享给大家&#xff0c;因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验&#xff0c;晚上进行用心精简、整理、总结、定稿&…

7. 构建简单 IPv6 网络

7.1 实验介绍 7.1.1 关于本实验 IPv6&#xff08;Internet Protocol Version 6&#xff09;也被称为IPng&#xff08;IP Next Generation&#xff09;。它是Internet工程任务组IETF&#xff08;Internet Engineering Task Force&#xff09;设计的一套规范&#xff0c;是IPv4…

Android minigbm框架普法

Android minigbm框架普法 引言 假设存在这么一个场景&#xff0c;我的GPU的上层实现走的不是标准的Mesa接口&#xff0c;且GPU也没有提专门配套的gralloc和hwcompoer实现。那么我们的Android要怎么使用到EGL和GLES库呢&#xff0c;并且此GPU驱动是支持drm实现的&#xff0c;也有…

Docker中使用Tomcat并部署war工程

系列文章目录 文章目录 系列文章目录前言一、构建镜像二、运行镜像三、列出正在运行的容器四、停止正在运行的容器 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文…

蓝桥杯Python B组练习——python复习2

蓝桥杯Python B组练习——python复习2 一、简介 复习python&#xff0c;参考书《Python编程从入门到实践》&#xff0c;[美]Eric Mathes著。前一部分见专栏——蓝桥杯Python B组练习 这一部分不全&#xff0c;不想写了 二、字典 1.一个简单的字典 来看一个游戏&#xff0…

Vue2:用node+express写一个轻量级的后端服务

1、桌面创建demo文件夹 进入demo&#xff0c;执行如下命令 npm init输入名称&#xff1a; test_server然后一路回车 2、安装express框架 npm i express3、新建server.js 在demo文件夹中&#xff0c;新建server.js const express require(express) const app express()…