当前位置: 首页 > news >正文

Self-Instruct构造Prompt的例子

  1. 人工构造一批Prompt做种子。(Starting with a small seed set of human-written tasks)
  2. 每次把一些种子+后来生成的Prompt,放到Input里做few-shot examples,用LLM生成更多的Prompt;(Using the LLM to generate new instructions based on the seed tasks)
  3. 过滤掉质量太差的,修正能要的;(Filtering and refining the generated instructions)
  4. 把生成的所有Prompt,输入LLM得到输出结果;(Creating input-output instances for the new instructions)
  5. Input+Output,做LLM的训练样本(Using the generated dataset to fine-tune the LLM)

第2步,LLM生成:

import random
from transformers import AutoTokenizer, AutoModelForCausalLM# Load a pre-trained language model
model_name = "bigcode/starcoderbase-1b"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)# Seed tasks (simplified for demonstration)
seed_tasks = ["Write a function to calculate the factorial of a number.","Create a class to represent a bank account.","Implement a binary search algorithm."
]def generate_instruction(prompt):inputs = tokenizer(prompt, return_tensors="pt")outputs = model.generate(**inputs, max_new_tokens=50)return tokenizer.decode(outputs[0], skip_special_tokens=True)def self_instruct(num_iterations):generated_tasks = []for _ in range(num_iterations):# Sample existing taskssampled_tasks = random.sample(seed_tasks + generated_tasks, min(3, len(seed_tasks) + len(generated_tasks)))# Create a prompt for generating new instructionsprompt = "Generate a new programming task based on these examples:\n\n"prompt += "\n".join(sampled_tasks)prompt += "\n\nNew task:"# Generate a new instructionnew_task = generate_instruction(prompt)# In practice, you would filter and refine the generated task heregenerated_tasks.append(new_task)return generated_tasks# Run Self-Instruct
new_tasks = self_instruct(5)
for i, task in enumerate(new_tasks, 1):print(f"Task {i}: {task}")

第3步过滤:

人工定义一些规则,过滤掉太差的;(也可以用LLM来做裁判)

目的:确保质量和多样性;

  • Filter out instructions that are too short or too long
  • Filter out instructions containing keywords unsuitable for language models (e.g. "image", "graph", "file", "plot")
  • Filter out instructions starting with punctuation
  • Filter out instructions starting with non-English characters
  • Filter out instructions that have high ROUGE-L similarity (above 0.7) with any existing instruction in the task pool

相关文章:

Self-Instruct构造Prompt的例子

人工构造一批Prompt做种子。(Starting with a small seed set of human-written tasks)每次把一些种子后来生成的Prompt,放到Input里做few-shot examples,用LLM生成更多的Prompt;(Using the LLM to generat…...

友好前端vue脚手架

企业级后台集成方案vue-element-admin-CSDN博客在哔站学习,老师说可以有直接的脚手架(vue-element-admin)立马去搜索,找到了这博主这篇文章 介绍 | vue-element-admin​​​​​​ 官方默认英文版: git clone https:/…...

SQL Server特性

一、创建表 在sql server中使用create table来创建新表。 create table Customers( id int primary key identity(1,1), name varchar(5) ) 该表名为Customers其中包含了2个字段,分别为id(主键)以及name。 1、数据类型 整数类型&#xff…...

华为HCIP Datacom H12-821 卷25

1.单选题 Smurf攻击一般使用以下哪种协议 A、TCP B、BGP C、ICMP D、DHCP 正确答案: C 解析: Smurf攻击是一种病毒攻击,以最初发动这种攻击的程序“Smurf”来命名。这种攻击方法结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目…...

如何在 Selenium Python 中解决验证码 | 2024 完整指南

由于在进行网络自动化时遇到验证码是让许多人感到不知所措的问题。这些验证码专为区分人类用户和自动化脚本而设计,对于使用Selenium进行网络爬虫或自动化任务而言,无疑是一个巨大的挑战。2024年的完全指南将为您提供全面的解决方案,帮助您高…...

ASCII码对照表【2024年汇总】

🍺ASCII相关文章汇总如下🍺: 🎈ASCII码对照表(255个ascii字符汇总)🎈🎈ASCII码对照表(Unicode 字符集列表)🎈🎈ASCII码对照表&#x…...

刷题之买股票的最佳时机(leetcode)

买股票的最佳时机 动态规划入门题。 最简单的模拟式解法&#xff1a; class Solution { public:int maxProfit(vector<int>& prices) {//也可以换一种思路&#xff0c;因为只交易一次&#xff0c;那么找出股票最便宜的时候买入&#xff0c;最贵的时候卖出&#xff…...

Apache Seata透过源码解决SeataAT模式整合Mybatis-Plus失去MP特性的问题

本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 Apache Seata透过源码解决SeataAT模式整合Mybatis-Plus失去MP特性的问题 透过源码解决SeataAT…...

1.2 如何让机器说人话?万字长文回顾自然语言处理(NLP)的前世今生 —— 《带你自学大语言模型》系列

本系列目录 《带你自学大语言模型》系列部分目录及计划&#xff0c;完整版目录见&#xff1a;带你自学大语言模型系列 —— 前言 第一部分 走进大语言模型&#xff08;科普向&#xff09; 第一章 走进大语言模型 1.1 从图灵机到GPT&#xff0c;人工智能经历了什么&#xff1…...

【QT】按钮类控件

按钮类控件 按钮类控件1. PushButton2. Radio Button3. Check Box4. Tool Button 按钮类控件 1. PushButton 使⽤ QPushButton 表示⼀个按钮&#xff0c;这也是当前我们最熟悉的⼀个控件了. QPushButton 继承⾃ QAbstractButton . 这个类是⼀个抽象类. 是其他按钮的⽗类. 在…...

RedHat运维-Linux软件包管理基础-RHEL9软件包管理基础

Linux软件包管理基础-RHEL9 1. 对于RHEL9来说&#xff0c;软件包管理基础分为增、删、改、查四个部分。对于增来说&#xff0c;有&#xff1a;增加一个仓库的信息文件、启用一个仓库的信息文件、安装rpm包、解压rpm包、安装软件、安装软件组、更新软件。在这里先讲软件包管理中…...

uniapp----- 判断小程序版本有没有更新

const updateManager uni.getUpdateManager();// 当向小程序后台请求完新版本信息&#xff0c;会进行回调updateManager.onCheckForUpdate(function (res) {console.log(是否有新版本, res.hasUpdate);});// 当新版本下载完成&#xff0c;会进行回调updateManager.onUpdateRea…...

Spring Boot的无缝衔接:深入解析与实践

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ &#x1f680;The begin&#x1f697;点点关注&#xff0c;收藏不迷路&#x1f6a9; 引言 在快速迭代的软件开发环境中&#xff0c;无缝衔接是提升开发效率、降低维护成本、增强系统稳定性的关键。Spring Boo…...

在Linux上查找文件的2个好用的命令

在Linux上查找文件&#xff0c;两个非常好用的命令是find和locate。 find命令 find命令非常强大&#xff0c;可以在指定目录下查找符合条件的文件。你可以根据文件名、文件类型、大小、修改日期等多种条件来查找文件。例如&#xff0c;要在当前目录及其子目录下查找所有扩展名…...

实现WebSocket聊天室功能

实现WebSocket聊天室功能 什么是WebSocket&#xff1f;WebSocket的工作原理服务器端实现客户端实现 在现代Web开发中&#xff0c;实时通信已经变得越来越重要。传统的HTTP协议由于其无状态和单向通信的特点&#xff0c;无法很好地满足实时通信的需求。而WebSocket协议则应运而生…...

qt opencv 应用举例

在Qt中使用OpenCV可以实现各种图像处理和计算机视觉任务。以下是一些Qt与OpenCV联合应用的具体举例&#xff1a; 1. 图像读取与显示 读取图像&#xff1a;使用OpenCV的imread函数可以方便地读取各种格式的图像文件&#xff0c;如.bmp、.jpg、.png等。这个函数返回一个Mat对象…...

QT5.12环境搭建与源码编译

一、概述 QT版本&#xff1a;QT5.12.10 Qt网址&#xff1a;http://download.qt.io/archive/qt/ 编译平台 ubuntu18.04 二、安装交叉编译工具链 1、获取交叉编译工具链 一般如果是编译系统如果有对应的gcc 就是用这个就可以了 比如rk3128 lin…...

Android中android.fg线程和android.ui线程分别代表什么?

Android中android.fg线程和android.ui线程分别代表什么&#xff1f; android.fg线程&#xff08;FgThread&#xff09;&#xff1a; FgThread是Android系统中一个特殊的线程&#xff0c;其类定义大致为public final class FgThread extends ServiceThread。它主要用于提供一个…...

MATLAB 2024b 更新了些什么?

MATLAB 2024b版本已经推出了预览版&#xff0c;本期介绍一些MATLAB部分的主要的更新内容。 帮助浏览器被移除 在此前的版本&#xff0c;当我们从MATLAB中访问帮助文档时&#xff0c;默认会通过MATLAB的帮助浏览器&#xff08;Help browser&#xff09;。 2024b版本开始&…...

SSM高校教师教学质量评估系统-计算机毕业设计源码03344

摘要 在高等教育中&#xff0c;教学质量是培养优秀人才的关键。为了提高教学质量&#xff0c;高校需要建立一套科学、有效的教师教学质量评估系统。本研究采用 SSM技术框架&#xff0c;旨在开发一款高校教师教学质量评估系统。 SSM框架作为一种成熟的Java开发框架&#xff0c;具…...

实战指南:Spring Boot集成Google OAuth 2.0实现免密登录与用户信息同步

1. 为什么需要Google OAuth 2.0登录 在开发面向海外用户的Web应用时&#xff0c;用户注册和登录流程的便捷性直接影响转化率。传统邮箱注册需要用户完成"填写邮箱-接收验证码-设置密码"的繁琐流程&#xff0c;而Google OAuth 2.0登录可以让用户一键完成身份验证。实…...

CMOS传感器PCLK计算实战:从Sony IMX系列到MIPI D-PHY的完整配置指南

CMOS传感器PCLK计算实战&#xff1a;从Sony IMX系列到MIPI D-PHY的完整配置指南 在嵌入式视觉系统的开发中&#xff0c;像素时钟&#xff08;PCLK&#xff09;的精确配置往往是决定图像采集质量的关键因素。无论是工业检测中的高速成像&#xff0c;还是消费电子中的高清视频流&…...

OpenClaw自动化测试:Qwen3-14b_int4_awq驱动接口调试与结果验证

OpenClaw自动化测试&#xff1a;Qwen3-14b_int4_awq驱动接口调试与结果验证 1. 为什么选择OpenClaw做接口测试自动化 去年接手一个前后端分离项目时&#xff0c;我每天要手动执行上百次Postman请求来验证接口逻辑。这种重复劳动不仅消耗时间&#xff0c;更可怕的是容易因疲劳…...

OpenClaw自动化测试:Phi-3-vision-128k-instruct多模态能力边界

OpenClaw自动化测试&#xff1a;Phi-3-vision-128k-instruct多模态能力边界 1. 测试背景与实验设计 去年在尝试用AI处理技术文档时&#xff0c;我发现纯文本模型经常无法理解流程图中的逻辑关系。这促使我开始探索多模态模型的实际能力边界。最近通过OpenClaw对接Phi-3-visio…...

2026年环境工程论文降AI工具推荐:数据监测和影响评估部分

2026年环境工程论文降AI工具推荐&#xff1a;数据监测和影响评估部分 72%。 我收到知网检测报告那一刻&#xff0c;说实话有点懵。我那篇论文写了快两个月&#xff0c;每个字都是自己敲的。但学校的要求摆在那——AI率低于20%才能送审。折腾了几天之后&#xff0c;靠嘎嘎降AI…...

Linux 的 link 命令

Linux 中的 link 命令用于创建硬链接&#xff08;hard link&#xff09;&#xff0c;这是 Linux/Unix 文件系统中的一种特殊文件连接方式。与符号链接&#xff08;symbolic link&#xff09;不同&#xff0c;硬链接直接指向文件的 inode&#xff0c;而不是通过路径名引用。 命…...

2025届最火的十大AI写作神器实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 降低AIGC也就是人工智能生成内容的痕迹&#xff0c;其关键要点在于&#xff0c;减少模式化表…...

终极指南:Cert-Manager事件溯源实现与审计追踪全解析

终极指南&#xff1a;Cert-Manager事件溯源实现与审计追踪全解析 【免费下载链接】cert-manager Automatically provision and manage TLS certificates in Kubernetes 项目地址: https://gitcode.com/gh_mirrors/ce/cert-manager Cert-Manager作为Kubernetes生态中自动…...

5分钟搞定GLM-4.7-Flash:Web界面+API调用,小白也能轻松上手

5分钟搞定GLM-4.7-Flash&#xff1a;Web界面API调用&#xff0c;小白也能轻松上手 1. 前言&#xff1a;为什么选择GLM-4.7-Flash 如果你正在寻找一个强大且易于使用的中文大语言模型&#xff0c;GLM-4.7-Flash绝对值得考虑。作为智谱AI最新推出的开源模型&#xff0c;它采用了…...

15 指挥AI写算法代码:排序、递归、数据结构快速生成

指挥AI写算法代码:排序、递归、数据结构快速生成 摘要 本文为《30天掌控AI编程:从指令到落地,手把手教你指挥AI写代码》系列第十五篇,属于第三阶段多场景实战核心内容。本篇聚焦算法与数据结构代码高效生成,打破传统算法学习需手动推导逻辑、死记语法、反复调试的困境,…...