大型语言模(LLM)之提示词工程(四)

今天我学习了DeepLearning.AI的 Prompt Engineering 的在线课程,我想和大家一起分享一下该门课程的一些主要内容。以下是我写的关于该课程的前两篇博客:

  1. 大型语言模(LLM)之提示词工程(一)
  2. 大型语言模(LLM)之提示词工程(二)
  3. 大型语言模(LLM)之提示词工程(三)

今天我们来学习第三部分内容:转换(Transforming)。

转换(Transforming)

今天我们将探索如何使用大型语言模型进行文本转换任务,例如语言翻译、拼写和语法检查、语气调整和格式转换。

首先我们需要设置通过API来访问大型语言模型(LLM)的主要代码:

 为防止出现Rate limits问题,我们需要安装一个为回退和重试提供函数装饰器的库 backoff

# pip install backoffimport openai
import backoff  openai.api_key ='YOUR_OPENAI_API_KEY'@backoff.on_exception(backoff.expo, openai.error.RateLimitError)
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"]

翻译

大型语言模型LLM,一般会使用多种语言的资源进行训练的大型语言模型。 这使模型能够进行多语言翻译工作。 以下是如何使用此功能的一些示例。

下面是将英语翻译成西班牙语的例子:

#将英语翻译成西班牙语prompt = f"""
Translate the following English text to Spanish: \ 
```Hi, I would like to order a blender```
"""
response = get_completion(prompt)
print(response)

 下面是让LLM识别文本是属于哪种语言:

prompt = f"""
Tell me which language this is: 
```Combien coûte le lampadaire?```
"""
response = get_completion(prompt)
print(response)

 将文本翻译成法语、西班牙语和英语:

prompt = f"""
Translate the following  text to French and Spanish
and English pirate: \
```I want to order a basketball```
"""
response = get_completion(prompt)
print(response)

 将文本翻译成正式和非正式的西班牙语:

prompt = f"""
Translate the following text to Spanish in both the \
formal and informal forms: 
'Would you like to order a pillow?'
"""
response = get_completion(prompt)
print(response)

 通用翻译器

想象一下,假如您在一家大型跨国电子商务公司的IT部门负责 人。客户正在用他们各自的的母语向您发送有关 IT 问题的消息。 您的员工来自世界各地,且只他们只用自己的的母语。 此时你就需要一个万能翻译器!

user_messages = ["La performance du système est plus lente que d'habitude.",  # System performance is slower than normal         "Mi monitor tiene píxeles que no se iluminan.",              # My monitor has pixels that are not lighting"Il mio mouse non funziona",                                 # My mouse is not working"Mój klawisz Ctrl jest zepsuty",                             # My keyboard has a broken control key"我的屏幕在闪烁"                                               # My screen is flashing
] 

下面我们要把上述不同语言的客户问题翻译成英语和中文 :

for issue in user_messages:prompt = f"Tell me what language this is: ```{issue}```"lang = get_completion(prompt)print(f"Original message ({lang}): {issue}")prompt = f"""Translate the following  text to English \and Chinese: ```{issue}```"""response = get_completion(prompt)print(response, "\n")

 语调转换

LLM可以根据不同的受众输出不同语调的内容。下面是一段英语俚语的对白,我们要求LLM将其转换成商业信函语调。

prompt = f"""
Translate the following from slang to a business letter: 
'Dude, This is Joe, check out this spec on this standing lamp.'
"""
response = get_completion(prompt)
print(response)

 格式转换

LLM还可以在不同的格式之间进行转换。 提示语应描述输入和输出格式。下面我们要将一个来自于JSON格式的python字典转换为HTML格式:

data_json = { "resturant employees" :[ {"name":"Shyam", "email":"shyamjaiswal@gmail.com"},{"name":"Bob", "email":"bob32@gmail.com"},{"name":"Jai", "email":"jai87@gmail.com"}
]}prompt = f"""
Translate the following python dictionary from JSON to an HTML \
table with column headers and title: {data_json}
"""
response = get_completion(prompt)
print(response)

接下来我们要展示这个HTML页面:

from IPython.display import display, Markdown, Latex, HTML, JSON
display(HTML(response))

 

 拼写检查/语法检查

这里我们有一些常见的语法和拼写问题的例子以及大型语言模型(LLM)的回应。

要向 LLM 发出您希望它校对您的文本的信号,您可以指示模型“校对”或“校对并更正”。下面的几段文本中存在语法错误或者拼写错误,我们要让LLM来检查并纠错文本中的错误。

text = [ "The girl with the black and white puppies have a ball.",  # The girl has a ball."Yolanda has her notebook.", # ok"Its going to be a long day. Does the car need it’s oil changed?",  # Homonyms"Their goes my freedom. There going to bring they’re suitcases.",  # Homonyms"Your going to need you’re notebook.",  # Homonyms"That medicine effects my ability to sleep. Have you heard of the butterfly affect?", # Homonyms"This phrase is to cherck chatGPT for speling abilitty"  # spelling
]
for t in text:prompt = f"""Proofread and correct the following textand rewrite the corrected version. If you don't findand errors, just say "No errors found". Don't use any punctuation around the text:```{t}```"""response = get_completion(prompt)print(response)

下面我们尝试让LLM来对中文的句子进行纠错,看看它是否能找出错误:

text = [ "我们的公司是一家专业的电脑唯修,服务态度好,价格公道",  "他们在学校里学习了很多关于历史,数学和科学呢的知识。", "我们去了一家新开的餐厅,才很好吃,服务员也很友好。", "你得先做完作业,在出去玩!",  "那青山碧岭中随风起伏的阵阵林涛声,仿佛是大自然奏响的一枝交响乐.",  "七夕,只是牛郎与织女的节日,与俄们这些凡人无关。", "我的人生有两件非常幸运的事情,一个是遇见了你,一个是将和你走过余生。"  
]
for t in text:prompt = f"""检查一下下面的本文是否存在错别字或者语法错误,如果有错误就重新改写句子。你在回复的时候必须输出2个句子,一句是原始文本,另一句是修改后的文本,如果没有发现任何错误,就说“没有找到错误”。请使用以下格式输出:原始文本:这里是原始文本修改后的文本:这里是修改后的文本原始文本:{t}"""response = get_completion(prompt)print(response)print()

 总体感觉LLM对中文的错别字还是比较熟悉,对一些很明显的错别字纠错成功率可以达到100%,但是对于最后一句,我们运行了多次程序后发现有时候LLM对最后一句的回复是:没有找到错误。大家可以尝试一下看看LLM对中文错别字的识别率到底有多少。

下面我们给LLM提供一篇英语短文,让它来对短文纠错:

text = f"""
Got this for my daughter for her birthday cuz she keeps taking \
mine from my room.  Yes, adults also like pandas too.  She takes \
it everywhere with her, and it's super soft and cute.  One of the \
ears is a bit lower than the other, and I don't think that was \
designed to be asymmetrical. It's a bit small for what I paid for it \
though. I think there might be other options that are bigger for \
the same price.  It arrived a day earlier than expected, so I got \
to play with it myself before I gave it to my daughter.
"""
prompt = f"proofread and correct this review: ```{text}```"
response = get_completion(prompt)
print(response)

 由于短文内容比较长,我们使用一个校对工具来看看LLM到底做了哪些修改:

from redlines import Redlinesdiff = Redlines(text,response)
display(Markdown(diff.output_markdown))

 这里我们可以清晰的发现LLM对原文做的修改。

下面我们让LLM将上述原文修改为APA风格的文章(APA 风格是学术期刊文章和书籍等学术文件的写作风格和格式)

prompt = f"""
proofread and correct this review. Make it more compelling. 
Ensure it follows APA style guide and targets an advanced reader. 
Output in markdown format.
Text: ```{text}```
"""
response = get_completion(prompt)
display(Markdown(response))

 总结

今晚我们学习了如果让大型语言模型LLM实现多语言翻译功能、语言识别、错别字/语法检查、语调转换等功能。希望今天的内容能对大家有所帮助!

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

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

相关文章

VScode v1.75新特性

今天打开VScode看到了新版本 v1.75 的通知,我立即(一如既往地)安装了它。 简介 这个新版本中最引起我注意的是创建不同PROFILES的可能性。 现在我们可以为不同的开发场景创建配置文件,并拥有“基于工作流的不同 VScode 配置”&…

VScode配置C++(win11)以及Vscode的一些使用问题

目录 一、下载VScode(省略) 二、下载编译器 mingw 三、配置 .vscode 四、补充:配置好后,输出中文会乱码 五、文件参数讲解 六、多文件编译:修改task.json 七、中文问题 一、下载VScode(省略&#xf…

微软VSCode的常用操作和常用设置

微软的Visual Studio Code(VSCode)编辑器是因为其简洁高效,轻量级,是很多程序员的选择,如何快速上手并使用,本文将对vscode在C/C下的应用进行简单介绍。 软件下载 建议大家去官方网站按需进行下载&#x…

VScode配置task和launch支持C++11

title: VScode配置task和launch date: 2022-12-12 20:57:26 cover: categories: VisualCode tags: debug VScode配置task和launch支持C11 刚开始使用VScode一般都是使用默认的task和lunch配置去执行代码或者debug,一旦修改了相关目录或者改动一些参数,…

2023最新最全vscode插件精选

文章简介 本文介绍最新、最实用、最强大的 vscode 精选扩展。好用的扩展,犹如神兵利器,帮助程序员在代码的世界中,所向披靡,战无不胜! 作者介绍 随易出品,必属精品,只写有深度,有质…

将vscode打造为你的开发工具的首选

文章目录 前言vscode主要配置vscode的两个主要快捷键创建你的代码模版Java配置JDK和Gradle环境主要插件常见的配置launch.json配置运行测试用例常见问题常用快捷键 Python主要插件settings.json配置launch.json配置示例 Javascript/typescript常用插件settings.json样例 Golang…

20230512-VSCode-配置C++17-win11-22h2

20230512-VSCode-配置C17-win11-22h2 一、软件环境 标签:C VSCode w64devkit gcc12分栏:C操作系统:Windows11 x64 22h2编译器:vscode-1.78.2 w64devkit-1.18.0 二、操作步骤 1. 下载安装VScode 官网 打开官网【https://code…

VsCode超实用插件推荐,让你的开发效率火力全开

辅助开发类: 1. Vetur VUE开发必备插件 1.语法高亮,包括 vue/html css/sass/scss/less/stylus js/ts 2.语义高亮,除了支持template模板以外,还支持大多数主流的前端开发脚本和插件 3.语法错误检查,包括 CSS/SCSS/LE…

VScode插件推荐以及settings配置

1.[Deprecated] Bracket Pair Colorizer 2:一个可定制的扩展,用于为匹配的括号着色。 2.Ant Design Vue helper:antDesign的扩展工具(别的ui框架也有这样的插件,可以根据自己的需求下载)。 3.Auto Close …

搭建自己的聊天室平台、公司内部聊天平台,Rocket.Chat搭建及使用

一,简介 rocket.chat是一个开源的社交软件,即可以直接在web页面使用,也可以下载APP(Android,IOS,Windows,Mac OS) 主要功能:群组聊天,直接通信,私聊群,桌面…

网络内部搭建NTP服务器

医院内部很多服务器及科室客户端电脑经常出现时间不一致的状况,导致收费、挂号及检查等项目出现问题。因为现在医院都部署了银医,通过微信、支付宝等互联网应用实现挂号、收费、报告查询等。所以可以在医院内外网互联的前置机上部署一个NTP服务&#xff…

解决登录提示Access denied,You do not have access to chat.openai.com

在登录使用相关AI对话服务时,登录提示: Access denied You do not have access to chat.openai.com. The site owner may have set restrictions that prevent you from accessing the site. 原因是IP被阻挡了,参考解决: 解决访问…

报错https://chat.openai.com/ api/auth/ session 429怎么办

报错https://chat.openai.com/ api/auth/ session 429怎么办 记录一下今天遇到的bug 场景是这样的:我正常进入chatgpt的提问页面,然后一直转圈,重新登陆,清楚浏览器缓存,都不行。 文章目录 报错https://chat.openai.c…

用了cloudflare后,网站提示Sorry, you have been blocked怎么解决?

其实cloudflare还是非常智能的,但有时候为了安全起见,我们在网站后台修改参数的时候会被CF拦截,我就遇到了好几次提示Sorry, you have been blocked的情况。 遇到这种情况后,我首先找了官方的说明文档,但操作了半天好…

最新版腾讯防水墙(二代)识别

2022最新版腾讯防水墙(二代)识别 戳这里→康康你手机号在过多少网站注册过!!! 友情推荐:新一代安全短信 * 验证码地址:https://007.qq.com/online.html * 使用OpenCv模板匹配 * 成功率90%左右…

使用大型语言模(LLM)构建系统(七):评估1

今天我学习了DeepLearning.AI的 Building Systems with LLM 的在线课程,我想和大家一起分享一下该门课程的一些主要内容。之前我们已经学习了下面这些知识: 使用大型语言模(LLM)构建系统(一):分类使用大型语言模(LLM)构建系统(二):内容审核、…

chatgpt赋能Python-python_def函数报错

如何关闭Python Console 在Python编程中,Python Console是一个常用的工具,它可以用来测试和调试代码、查看变量和函数等等。但是,在一些情况下,你可能需要关闭Python Console以便进行其他操作。那么,如何关闭Python C…

chatgpt赋能Python-python_nonetype报错

Python NoneType报错:原因、解决方法和预防措施 Python 是一种面向对象的高级编程语言,用于快速编写脚本和应用程序。但是,当我们在编写 Python 代码时,可能会遇到 NoneType 报错;这是一种类型错误,它发生…

main函数的行参(argc、argv)实例解释

目录 前言 一、问题描述 二、行参含义 三、题目应用 1、代码(重点在中文批注处) 2、执行测试 前言 在做CS50 Week3的problem set--plurality时,遇到main函数里带了两个行参(int argc, string argv[])…

LLM探索:GPT类模型的几个常用参数 Top-k, Top-p, Temperature

Top-k抽样模型从最可能的"k"个选项中随机选择一个如果k10,模型将从最可能的10个单词中选择一个Top-p抽样模型从累计概率大于或等于“p”的最小集合中随机选择一个如果p0.9,选择的单词集将是概率累计到0.9的那部分Temperature控制生成文本随机性…