【OpenAI官方课程】第四课:ChatGPT文本推断Summarizing

欢迎来到ChatGPT 开发人员提示工程课程(ChatGPT Prompt Engineering for Developers)!本课程将教您如何通过OpenAI API有效地利用大型语言模型(LLM)来创建强大的应用程序。

本课程由OpenAI 的Isa Fulford和 DeepLearning.AI 的Andrew Ng主讲,深入了解 LLM 的运作方式,提供即时工程的最佳实践,并演示 LLM API 在各种应用程序中的使用。

推断

在本课程中,您将从产品评论和新闻文章中推断情绪和主题。

设置

import openai
import osfrom dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv()) # 读取本地的 .env 文件openai.api_key  = os.getenv('OPENAI_API_KEY')
def get_completion(prompt, model="gpt-3.5-turbo"):messages = [{"role": "user", "content": prompt}]response = openai.ChatCompletion.create(model=model,messages=messages,temperature=0, # 这是模型输出的随机程度)return response.choices[0].message["content"]

产品评论文本

lamp_review = """
我需要卧室里的一个好看的灯,这个灯还带有额外的储物功能,价格也不太高。
发货速度很快。我们灯的绳子在运输过程中断了,公司很乐意寄给我们一个新的。
几天内就收到了。组装起来很容易。我缺了一个零件,所以我联系了客服,他们很快就给我寄来了缺失的部分!
Lumina 看起来是一家很关心客户和产品的好公司!!
"""

情绪(积极/消极)

prompt = f"""
以下产品评论的情绪是什么?
评论文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

产品评论的情绪是积极的。

prompt = f"""
以下产品评论的情绪是什么?
请以单个词回答,要么是 "积极",要么是 "消极"。
评论文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

积极

识别情感类型

prompt = f"""
识别以下评论作者表达的情感列表。列表中不超过五项。
以逗号分隔的小写单词列表形式呈现你的答案。评论文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

高兴的,满意的,感激的,印象深刻的,满足的

识别愤怒

prompt = f"""
以下评论作者表达了愤怒吗?
评论用三个反引号分隔。
以 "是" 或 "否" 回答。评论文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

从客户评论中提取产品和公司名称

prompt = f"""
从评论文本中识别以下内容:评论者购买的物品
制造该物品的公司
评论用三个反引号分隔。
将你的响应格式化为一个 JSON 对象,
以 "Item" 和 "Brand" 作为键。
如果信息不存在,请将值设为 "unknown"。
尽可能简洁。评论文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

{
“Item”: “灯”,
“Brand”: “Lumina”
}

同时执行多项任务

prompt = f"""
从评论文本中识别以下内容:情绪(积极或消极)
评论者是否表达了愤怒?(true 或 false)
评论者购买的物品
制造该物品的公司
评论用三个反引号分隔。
将你的响应格式化为一个 JSON 对象,
以 "Sentiment"、"Anger"、"Item" 和 "Brand" 作为键。
如果信息不存在,请将值设为 "unknown"。
尽可能简洁。
将愤怒值格式化为布尔值。评论文本:'''{lamp_review}'''
"""
response = get_completion(prompt)
print(response)

{
“Sentiment”: “积极”,
“Anger”: false,
“Item”: “带有额外储物的灯”,
“Brand”: “Lumina”
}

推断主题

story = """
最近政府进行的一项调查中,
公共部门员工被要求评价他们所在部门的满意度。
结果显示,NASA 是最受欢迎的部门,满意度达到 95%。一名 NASA 员工 John Smith 对调查结果发表评论,
他说:“我对 NASA 获得第一名并不感到惊讶。
那是一个极好的工作地方,有着出色的人才和令人难以置信的机遇。
我为能成为这样一个创新组织的一部分感到自豪。”NASA 的管理团队也对结果表示欢迎,
主任 Tom Johnson 表示:“我们很高兴听到我们的员工对 NASA 的工作满意。
我们有一个才华横溢、敬业的团队,他们不知疲倦地工作以实现我们的目标,
看到他们的辛勤工作取得成果真是太棒了。”调查还显示,社会安全局的满意度最低,
只有 45% 的员工表示对工作满意。
政府承诺解决调查中员工提出的问题,
努力提高所有部门的工作满意度。
"""

推断五个主题

prompt = f"""
确定以下文本中正在讨论的五个主题,
文本用三个反引号分隔。将每个项目设为一个或两个单词。将你的响应格式化为一个以逗号分隔的项目列表。文本示例:'''{story}'''
"""
response = get_completion(prompt)
print(response)

政府调查,工作满意度,NASA,社会安全局,员工关切

response.split(sep=',')

[‘政府调查’,
’ 工作满意度’,
’ NASA’,
’ 社会安全局’,
’ 员工关切’]

topic_list = ['政府调查','工作满意度','NASA','社会安全局','员工关切']

制作关于特定主题的新闻提醒

prompt = f"""
确定以下主题列表中的每一项是否是下文中的一个主题,
下文用三个反引号分隔。以列表形式给出每个主题的 0 或 1 的答案。主题列表:{", ".join(topic_list)}文本示例:'''{story}'''
"""
response = get_completion(prompt)
print(response)
nasa: 1
local government: 0
engineering: 0
employee satisfaction: 1
federal government: 1
topic_dict = {i.split(': ')[0]: int(i.split(': ')[1]) for i in response.split(sep='\n')}
if topic_dict['nasa'] == 1:
print("提醒:有关 NASA 的新闻!")

提醒:有关 NASA 的新闻!

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

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

相关文章

手拉手Vite+Vue3+TinyVue+Echarts+TailwindCSS

技术栈springboot3hutool-alloshi-coreVue3viteTinyVueEchartsTailwindCSS软件版本IDEAIntelliJ IDEA 2022.2.1JDK17Spring Boot3.1hutool-all5.8.18oshi-core6.4.1Vue35.0.10vite5.0.10axios1.6.7echarts5.4.3 ECharts是一个使用 JavaScript 实现的开源可视化库,可…

快速搭建ARM64实验平台(QEMU虚拟机+Debian)

文章目录 前言一、实验平台介绍二、安装步骤2.1 安装工具2.2 下载仓库2.3 编译内核并制作根文件系统2.4 运行刚才编译好的ARM64版本的Debian系统2.5 在线安装软件包2.6 在QEMU虚拟机和主机之间共享文件 三、单步调试ARM64 Linux内核参考资料 前言 最近翻阅笨叔的《奔跑吧Linux…

go-zero微服务入门教程

go-zero微服务入门教程 本教程主要模拟实现用户注册和用户信息查询两个接口。 准备工作 安装基础环境 安装etcd, mysql,redis,建议采用docker安装。 MySQL安装好之后,新建数据库dsms_admin,并新建表sys_user&#…

【Git】 删除远程分支

Git 删除远程分支有以下几种方法 服务端UI工具 Git 的服务端图形化工具主要是 web 端。常用的有 GitHub、Gitea、Gutlab 等。 这些工具都提供了分支管理,可以直接在各服务端找到相关功能,谨慎删除。 客户端UI工具 Git 拥有诸多客户端 UI 工具&#x…

详细分析Python中的unittest测试框架

目录 1. 基本知识2. API2.1 断言2.2 setUp() 和 tearDown() 3. Demo 1. 基本知识 unittest 是 Python 标准库中的一个单元测试框架,用于编写和执行测试用例以验证代码的正确性 提供了一种结构化的方法来编写测试,使得测试代码更加模块化和易于维护 以…

【ACW 服务端】页面操作Java增删改查代码生成

版本: 1.2.2-JDK17-SNAPSHOT 项目地址:wu-smart-acw 演示地址:演示地址 admin/admin Java增删改查代码生成 找到对应菜单 选择你需要的数据实例 选择数据库 选择数据库表 选择客户端(如果是本地ACW服务代码启动默认注册上的客户端ID是…

腾讯云主机Ubuntu22.04安装Odoo17

一、安装PostgreSQL16 参见之前的文章 Ubuntu22.04安装PostgreSQL-CSDN博客 二、安装Odoo17 本方案使用的nightly版的odoo,安装的都是最新版odoo wget -O - https://nightly.odoo.com/odoo.key | apt-key add - echo "deb http://nightly.odoo.com/17.0/n…

Maven【1】(命令行操作)

文章目录 一丶创建maven工程二、理解pom.xml三、maven的构建命令1.编译操作2.清理操作3.测试操作4.打包操作5.安装操作 一丶创建maven工程 首先创建这样一个目录,然后从命令行里进入这个目录: 然后接下来就在这个命令行里进行操作了。 这个命令是&…

Python学习笔记——PySide6设计GUI应用之UI与逻辑分离

1、打开PySide6的UI设计工具pyside6-designer,设计一个主窗口,保存文件名为testwindow.ui 2、使用PySide6的RCC工具把testwindow.ui文件转换为testwindow_rc.py文件,此文件中有一个类Ui_MainWindow(包含各种控件对象)…

设计模式浅析(八) ·外观模式

设计模式浅析(八) 外观模式 日常叨逼叨 java设计模式浅析,如果觉得对你有帮助,记得一键三连,谢谢各位观众老爷😁😁 外观模式 概念 外观模式(Facade Pattern)是一种设计模式,它为…

深度学习发展里程碑事件2006-2024

2006-2024年,深度学习发展经历众多的里程碑事件,一次次地刺激着人们的神经,带来巨大的兴奋。电影还在继续,好戏在后面,期待…… 2006年 深度信念网络(DBNs):Geoffrey Hinton与他的学…

备战蓝桥杯 Day10(背包dp)

01背包问题 1267:【例9.11】01背包问题 【题目描述】 一个旅行者有一个最多能装 M� 公斤的背包,现在有 n� 件物品,它们的重量分别是W1,W2,...,Wn�1,�2&#…

蓝桥杯刷题--python-10(2023填空题3)

0工作时长 - 蓝桥云课 (lanqiao.cn) import datetime time_str_list=[] while(True):tmp=input()if not tmp: breaktime_str_list.append(tmp)# time_list=[datetime.datetime.strptime(t,"%Y-%m-%d %H:%M:%S")for t in time_str_list] time_list.sort() sum=0 for i…

【代码随想录算法训练营Day25】● 216.组合总和III ● 17.电话号码的字母组合

文章目录 Day 25 第七章 回溯算法part02216.组合总和III自己的思路(✅通过) 17.电话号码的字母组合思路代码 Day 25 第七章 回溯算法part02 今日内容: ● 216.组合总和III● 17.电话号码的字母组合 216.组合总和III 如果把 组合问题理解了…

计算机组成原理(9)----硬布线控制器

控制单元CU若想发出对应的控制信号,则需要以下信息:指令操作码,目前的机器周期,节拍信号,机器状态条件,根据这些信息,CU就能确定在这个节拍下应该发出哪些"微命令",也就是…

SQL注入:使用预编译防御SQL注入时产生的问题

目录 前言 模拟预编译 真正的预编译 预编译中存在的SQL注入 宽字节 没有进行参数绑定 无法预编译的位置 前言 相信学习过SQL注入的小伙伴都知道防御SQL注入最好的方法,就是使用预编译也就是PDO是可以非常好的防御SQL注入的,但是如果错误的设置了…

计算机设计大赛 深度学习动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

从零学算法238

238.给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复…

Python自动化UI测试之Selenium基础实操

1. Selenium简介 Selenium 是一个用于 Web 应用程序测试的工具。最初是为网站自动化测试而开发的,可以直接运行在浏览器上,支持的浏览器包括 IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Googl…

SVN忽略已提交的文件(ignore,移出版本控制)

本文适用于已安装TortoiseSVN客户端的同学。 1、右键点击要忽略的文件夹或文件,鼠标移到“TortoiseSVN”,找到“Unversion and add to ignore list”,选择文件夹,弹出提示框确认忽略。 2、设置完忽略文件后,还需要做…