人工智能大数据,工作效率生产力
Ctrl + D 收藏本站,更多好用AI工具
当前位置:首页 » 最新消息

吴恩达|chatgpt 提示词工程师学习笔记。

2025-03-09 8

目录

一、提示指南

写提示词的2大原则:

模型的限制

二、迭代

三、总结

四、推断

五、转换

六、扩展

七、对话机器人


吴恩达和openai团队共同开发了一款免费的课程,课程是教大家如何更有效地使用prompt来调用chatgpt,整个课程时长1个半小时,也提供了对应的环境和代码,大家可以去学习。

课程链接:ChatGPT Prompt Engineering for Developers – DeepLearning.AI

(小伙伴也可以在B站自行搜索,有搬运的视频)

推荐重点看下一、二和代码的demo,其他的是一些case,对我来说价值没那么大

一、提示指南

  • 写提示词的2大原则:

    • 原则1:书写清晰具体的指令
      • 使用分隔符,帮助chatgpt更好地分辨指令和内容
      • 让chatgpt提供结构化的输出,比如html,json
      • 让chatgpt做任务前,确认当前条件是否满足
      • few-shot prompting,给几个完成任务的成功案例,然后让模型照葫芦画瓢
    • 原则2:给模型一些意见去思考
      • 将任务拆解成几个具体的步骤,让chatgpt按步骤完成任务
      • 让模型自己想出问题的解法,而不是直接给个答案问是否正确。
  • 模型的限制

    • 模型会尝试编造一些不存在的回答
      • 让模型找到相关信文档,再基于文档回答问题。追溯文档可以帮助你快速定位是否会虚假回答

二、迭代

步骤:

  1. 给出清晰具体的prompt –给出一把中世纪椅子的产品说明
  2. 分析为什么结果不符合预期–太长了
  3. 按照修改思路和prompt–将产品说明限定在50字之内
  4. 重复上述过程,直至获得满意的结果

后面的几节课给出了如何使用prompt+chatgpt完成一些常见的NLP任务。基本实例如下,每节课根据目标不同,prompt也要做出相应的修改。

import openai import os from dotenv import load_dotenv, find_dotenv _ = load_dotenv(find_dotenv()) # read local .env file openai.api_key = os.getenv('OPENAI_API_KEY') def get_completion(prompt, model="gpt-3.5-turbo", temperature=0): messages = [{"role": "user", "content": prompt}] response = openai.ChatCompletion.create( model=model, messages=messages, temperature=temperature, ) return response.choices[0].message["content"] prompt = f""" Translate the following English text to Spanish: \ ```Hi, I would like to order a blender``` """ response = get_completion(prompt) print(response) 

三、总结

给出的例子是让chatgpt总结用户的评论,

后续修改prompt,让它为物流、定价部门总结评论,那对应的结果也会不同

四、推断

现在可以用chatgpt+prompt做一些文本分类的任务,并且效果还不错

  • 使用chatgpt做情感分析
  • 主题提取
    • 给定对应的主题,让chatgpt判断是这当中的哪一个

五、转换

  • 翻译
    • 让chatgpt翻译一段文本
    • 让chatgpt辨别一段文本属于什么语言
  • 语气的转化
    • 让chatgpt将文本以商业信函的格式重新写一遍。
  • 转化格式
    • 使用chatgpt将json转化为html
  • 语法&拼写检查
    • 使用python 中的redlines来查看前后的区别
from redlines import Redlines diff = Redlines(text,response) display(Markdown(diff.output_markdown))

六、扩展

这里介绍了温度,一个模型参数,用以改变模型响应的多样性的。

温度越高,随机性越大。当需要构建一个可靠和可预测的系统时,温度应当为0。当需要更有创意的方式使用模型时,可以使用更高的温度。随着temperature越高,越有可能产生概率更低的结果
调用方式也很简单,在之前的函数中传递temperature参数。

response = get_completion(prompt, temperature=0.7)

七、对话机器人

之前的任务中,都是单一消息,单一回复。而在对话机器人中,会有多轮对话,且有多个角色。

一般来说,会有以下三个角色:

吴恩达|chatgpt 提示词工程师学习笔记。插图1

system:提供了整体的指导方针,比如告诉chatgpt,它是一个助手。用以引导助手,用户感知不到它的存在。

assistant:在我们的感知中,就是chatgpt

user:就是使用者,提出问题,使用prompt的人

可以使用system message让助手扮演某种角色,比如教授小学生的老师。

调用代码:

def get_completion_from_messages(messages, model="gpt-3.5-turbo", temperature=0): response = openai.ChatCompletion.create( model=model, messages=messages, temperature=temperature, # this is the degree of randomness of the model's output ) # print(str(response.choices[0].message)) return response.choices[0].message["content"] messages = [ {'role':'system', 'content':'You are an assistant that speaks like Shakespeare.'}, {'role':'user', 'content':'tell me a joke'}, {'role':'assistant', 'content':'Why did the chicken cross the road'}, {'role':'user', 'content':'I don\'t know'} ] response = get_completion_from_messages(messages, temperature=1) print(response)

原文链接:https://blog.csdn.net/qq_17246605/article/details/130668588

相关推荐

阅读榜

hellenandjeckett@outlook.com

加入QQ群:849112589

回顶部