零门槛,GPT提示词连新手也能学会

来源:优游网责编:网络时间:2024-10-30 12:11:34

提示可以包含一些特定的关键字或短语来指导模型生成匹配特定主题或风格的内容。例如,如果我们想生成一篇关于“人工智能”的文章,我们可以使用“人工智能”作为提示,让模型生成一篇关于人工智能的介绍、应用、发展等的文章。

提示还可以包含一些特定的指令或要求,以控制生成文本的语气、风格、长度等。例如,我们可以使用“请用幽默的语气描述人工智能的发展过程”作为提示,让模型生成一篇幽默的文章。

简而言之,Prompt是一种灵活多样的输入方式,可以用来指导大型语言模型生成各种类型的内容。

2.什么是提示工程

提示工程是一种通过设计和调整输入(提示)来提高模型性能或控制其输出结果的技术。

在模型回复的过程中,首先获取用户输入的文本,然后对文本特征进行处理,并根据输入的文本特征预测后续文本。原理是下一个token预测。

快速工程是模型性能优化的基石,具有以下六个基本原则:

说明应清晰并提供参考资料。复杂的任务应该分成子任务,以便给LLM时间“思考”(给定流程)。使用外部工具系统地测试变化

3.什么是LangGPT

LangGPT是Language For GPT-like LLMs的缩写,中文名为Structured Prompt word。 LangGPT是一款帮助您编写高质量提示词的工具。其理论基础是我们提出的一套模块化、标准化的提示词书写方法——结构化提示词。我们希望揭开提示工程的神秘面纱,为公众提供一套可操作、可复制的提示词方法论、工具和交流社区。我们的愿景是让每个人都能写出高质量的提示词。 LangGPT 社区文档:https://langgpt.ai

3.1LangGPT结构

LangGPT框架参考了面向对象编程的思想,设计为基于角色的两层结构。一个完整的提示词包含两层模块和内部元素。模块代表需要或提示LLM的方面,如:背景信息、建议、约束等。内部元素是模块的组成部分,是属于某一方面的具体要求或辅助信息,分为作业类型和方法类型。

一个好的结构化提示模板,从某种意义上来说,构建了一个良好的全局思维链。例如,LangGPT 中显示的模板是根据以下思维链设计的:

角色——简介——简介下的技能——规则(角色必须遵守的规则)——工作流程(满足上述条件的角色的工作流程)——初始化(正式开始工作的初始化准备)——开始实际使用

提示设计框架

CRISPE,参考:https://github.com/mattnigh/ChatGPT3-Free-Prompt-List

能力和角色:您希望ChatGPT扮演什么角色。 Insight:背景信息和上下文(坦白说,我认为使用Context更好) Statement:你想要ChatGPT做什么。个性:您希望ChatGPT 以什么风格或方式回答您。实验:要求ChatGPT 提供多个答案。

上下文: 提供任务背景信息目标: 定义法学硕士需要执行的任务风格: 指定法学硕士应具有的写作风格语气: 设置法学硕士回复的情感基调受众: 表示回复的对象,响应:提供完成回复格式的提示,如下:

# 背景# 我是一名个人生产力开发人员。在个人发展和生产力领域,对系统的需求日益增长,该系统不仅可以帮助个人设定目标,而且可以将这些目标转化为可行的步骤。许多人很难从愿望转变为具体行动,这凸显了有效的目标到系统转换过程的必要性。 ########## 目标#你的任务是指导我创建一个全面的系统转换器。这涉及将流程分解为不同的步骤,包括确定目标、采用“5 个为什么”技术、学习核心行动、设定意图和进行定期审查。目的是提供分步指导,将目标无缝转化为可行的计划。 ########## 风格#以信息和指导风格编写,类似于个人发展指南。确保每个步骤都清晰、连贯地呈现,以满足渴望提高生产力和实现目标的受众的需求。 ########## 语气#自始至终保持积极和激励的语气,培养授权和鼓励的感觉。它应该感觉像是一个提供有价值见解的友好指南。 #受众#目标受众是对个人发展和生产力提高感兴趣的个人。假设读者寻求实用的建议和可行的步骤,将目标转化为切实的结果。 ########## 响应格式# 提供目标到系统转换过程的结构化步骤列表。每个步骤都应该明确定义,整体格式应该易于遵循,以便快速实施。 ##############开始分析#如果你明白了,就问我的目标。

4.如何使用gpt来生成LangGPT结构格式的提示词

4.1 传统方式

了解了以上背景知识后,我们要简单地按照规范写出提示词还是有点困难的。我们可以使用gpt为我们创建并生成LangGPT结构格式的提示词,然后在此基础上进行修改。这将大大加快我使用提示词的准备速度。

例子:

零门槛,GPT提示词连新手也能学会

我们有一个SQL语句:

select m.ip_address, m.name, count(*)from ( select a.id, a.ip_address, b.name, a.create_time from dwa_user_ip a left join dwa_user_name b on a.ip_address=b.ip_address where a.create_time '2024-01-19') mgroup by m.ip_address, m.nameorder by count(*) desc 我们希望通过GPT帮助我优化它。传统的做法是这样的

用户输入一条SQL 语句,例如'select m.ip_address,m.name,count(*) from (SELECT a.id, a.ip_address, b.name, a.create_timeFROM dwa_user_ip aLEFT JOIN dwa_user_name b ON a.ip_address=b. ip_addresswhere a.create_time '2024-01-19') m group by m.ip_address,m.name order by count(*) desc' 请帮助我们优化SQL语句。这样我们把它发送给GPT,它就会返回给我们。

GPT 将返回给我们SQL 语句优化的解释,并返回优化后的SQL 语句。总的来说,这个答案很好,有解释和优化答案。这里有一个问题是,如果我们问的问题很简单,GPT随机性比较大,每次的答案可能都不一样,不一定能满足用户的需求。另外,对于用户来说,问题总是与相关要求混在一起,不够人性化。所以我们需要对其进行改进,即使用LangGPT结构格式中的提示词来成为系统提示词。

4.2 GPT生成LangGPT结构格式的提示词

我们将以下对话发送到GPT

用户输入一条SQL 语句,例如'select m.ip_address,m.name,count(*) from (SELECT a.id, a.ip_address, b.name, a.create_timeFROM dwa_user_ip aLEFT JOIN dwa_user_name b ON a.ip_address=b. ip_addresswhere a.create_time '2024-01-19') m group by m.ip_address,m.name order by count(*) desc' 只返回优化后的SQL,以markdown格式输出,不输出其他内容。请根据以上内容编写提示词,并使用LangGPT提示词(prompt)语法编写一个SQL语句优化提示词专家。

GPT向我返回生成的符合LangGPT结构格式的系统提示词。

#角色: SQL优化专家##简介-姓名: SQL优化师-专长: SQL语句分析与优化-仅输出:优化后的SQL语句,采用markdown格式##背景你是一位精通SQL优化的专家,能够快速分析SQL报表并提供优化方案。你的任务是接收用户输入的SQL查询,对其进行分析和优化,然后只输出优化后的SQL语句,而不提供其他解释或注释。 ## 目标- 分析用户提供的SQL 语句- 识别并解决性能问题- 重写SQL 提高效率- 只输出优化的SQL 语句## 约束- 只输出优化的SQL 语句,采用markdown 代码块格式- 否提供解释、注释、或其他附加信息- 保持SQL 原有的功能和结果不变- 如果SQL 已经是最优的,则按原样返回## 技能- 深入理解SQL 语法和优化技术- 能够识别并解决常见SQL 性能问题issues 问题- 熟悉各种SQL优化策略,如索引优化、查询重写等。## 工作流程1仔细阅读用户提供的SQL语句2。分析SQL 结构并识别潜在的性能问题3。应用适当的优化技术重写SQL4。使用markdown代码块格式输出优化后的SQL##输出格式```sql【这里是优化后的SQL语句】通过上面的方法,我们让GPT明白我们需要生成LangGPT结构格式的提示词,让他写给我的一个系统提示词。

4.3 使用chatbox验证

打开聊天框专属设置

接下来我们只输入需要输入的SQL

select m.ip_address,m.name,count(*) from (SELECT a.id, a.ip_address, b.name, a.create_timeFROM dwa_user_ip aLEFT JOIN dwa_user_name b ON a.ip_address=b.ip_addresswhere a.create_time '2024- 01-19') m group by m.ip_address,m.name order by count(*) desc 在chatbox聊天对话窗口中输入申诉SQL语句

这样,通过限制系统提示,我们就造就了一个SQL优化专家。对于用户来说,输入条件较少,返回的信息也是按照我请求的信息返回的。

5.用代码来实现

有些朋友可能会觉得这个操作不方便。如果无法批量实现,是否可以通过编码的方式批量实现?下面给出测试代码

优化SQL.py

from openai import OpenAIclient=OpenAI( api_key='EMPTY', base_url='http://xx.xx.xx.xxx:7002/v1',)model_type='/tmp/pretrainmodel/Qwen2-7B-Instruct'print(f'model_type: {model_type} ')messages=[ {'role': 'system', 'content': '您是SQL优化专家。您的任务是分析给定的SQL 查询并提供优化版本。只返回优化后的SQL,以markdown格式输出,不提供任何其他解释或注释。 '}]for query in ['select m.ip_address,m.name,count(*) from (SELECT a.id, a.ip_address, b.name, a.create_time\nFROM dwa_user_ip a\nLEFT JOIN dwa_user_name b ON a .ip_address=b.ip_address\nwhere a.create_time \'2024-01-19\') m group by m.ip_address,m.name order by count(*) desc']: messages.append({ 'role': '用户','内容':查询})resp=client.chat.completions.create(model=model_type,messages=messages,seed=42)response=resp.choices [0] .message.content print(f'query:) {query}') print(f'response: {response}') messages.append({'role': 'assistant', 'content': response}) # 流式传输['select m.ip_address,m. name,count(*) from (SELECT a.id, a.ip_address, b.name, a.create_time\nFROM dwa_user_ip a\nLEFT JOIN dwa_user_name b ON a.ip_address=b.ip_address\nwhere a.create_time \'2024- 01-19\') m group by m.ip_address,m.name order by count(*) desc']: messages.append({'role': 'user', 'content': query})stream_resp=client. chat.completions.create( model=model_type,messages=messages,stream=True,seed=42) print(f'query: {query}') print('response: ',end='')response='' for chunk in Stream_resp: 如果chunk.choices[0].delta.content 不是None: 响应+=chunk.choices[0].delta.content print(chunk.choices[0].delta.content, end='',lush=True) print() messages.append({'role': 'assistant', 'content': response}) 上述代码实际运行时,流式输出和非流式输出只能留一个,另一个可以注释掉。

依赖包安装

#安装openai客户端调用依赖包pip install openai 执行代码

python 优化SQL.py

用户评论

あ浅浅の嘚僾

终于有一个不用编程就能玩游戏的了!感觉像是在和AI一起聊天,就能生成各种奇特的游戏场景。

    有13位网友表示赞同!

非想

这个名字听起来很吸引人,确实很好上手,连我这种不太懂技术的也能操作得游刃有余。

    有9位网友表示赞同!

爱到伤肺i

提示词设计的真的很巧妙,玩起来很有创意,感觉像是在编故事一样。

    有13位网友表示赞同!

稳妥

对想接触 AI 游戏但又没经验的人来说真是一点门槛都没有,完全可以尝试下!

    有9位网友表示赞同!

你是梦遥不可及

这个游戏简直太好玩了!每次都能出乎意料的结果,和AI一起创作真是太有趣了。

    有20位网友表示赞同!

青墨断笺み

以前觉得AI游戏很高端,现在看来只要会用语言就能玩,很棒!

    有15位网友表示赞同!

苏莫晨

玩过很多类型的游戏,这个AI游戏的感觉完全不一样,很有未来感。

    有20位网友表示赞同!

■孤独像过不去的桥≈

虽然是“零门槛”,但是玩起来还是需要一定的想象力,才能给出更精彩的提示词。

    有10位网友表示赞同!

麝香味

推荐给所有喜欢玩创意游戏的玩家,尤其是想探索AI玩法的人!

    有12位网友表示赞同!

绝版女子

这种游戏可以锻炼语言表达能力和逻辑思维,简直是一举两得!

    有9位网友表示赞同!

无关风月

感觉这个游戏不仅好玩,还有着很强的学习价值。真希望能够持续更新更多内容!

    有9位网友表示赞同!

放血

简单易上手的同时又充满想象力,太适合在碎片时间玩了!

    有19位网友表示赞同!

纯真ブ已不复存在

作为人工智能领域的爱好者,我很期待看到这种游戏的发展趋势。

    有9位网友表示赞同!

炙年

这个游戏就像个无限的创作空间,总能让你惊喜连连!

    有18位网友表示赞同!

浅巷°

玩着玩着就沉迷了,感觉自己好像成为了AI大师!

    有19位网友表示赞同!

你身上有刺,别扎我

希望以后有更多和朋友一起合作的游戏玩法,那就更加有趣了!

    有18位网友表示赞同!

哭花了素颜

我终于明白为什么人工智能游戏越来越火热,它就是这么好玩!

    有7位网友表示赞同!

请在乎我1秒

玩这个游戏让我对未来科技有了更深的理解和期待!

    有9位网友表示赞同!

咆哮

这款游戏简直颠覆了我对游戏的认知,太棒了!

    有13位网友表示赞同!

猜你喜欢
最新游戏更多
热门专题更多
最新资讯更多