ChatGPT fine tune微调+prompt介绍

目录

  • 1 如何使用ChatGPT
    • 1.1 图片生成 (image generation)
    • 1.2 对话(chat)
    • 1.3 中文纠错 (Chinese Spelling Correct)
    • 1.4 关键词提取 (keyword extract)
    • 1.5 抽取文本向量 (Embedding)
    • 1.6 微调 (fine tune)
  • 2 如何写好prompt
    • 2.1分类任务
    • 2.2 归纳总结
    • 3.3 翻译
    • 2.4 API接口多样性控制
  • 3 实用资料

1 如何使用ChatGPT

首先我们需要安装openai

pip install openai

安装好openai以及获得API key后,我们就可以调用接口了,首先我们来看下openai能够提供的模型有什么:

import openai
openai.api_key = "sk-Wljk3BVhN0VieGCwAzEXT3BlbkFJ*******"models = openai.Model.list()for model in models['data']:print(model['id'])

我们可以看出,目前提供的模型有如下:
在这里插入图片描述
接下来大概介绍一下我们应该怎样去调用接口,获取我们想要的结果。

1.1 图片生成 (image generation)

import openai
import json# 设置API密钥
openai.api_key = "sk-Wljk3BVhN0VieGCwAzEXT3BlbkFJ*******"def image_genaration(prompt):response = openai.Image.create(prompt=prompt,n=1,size="1024x1024")image_url = response['data'][0]['url']return image_urlif __name__=='__main__':prompt='a delicious dessert'result = image_genaration(prompt)print(result)

prompt=‘a delicious dessert’, 其中返回url地址,我们将地址复制到浏览器中,打开看到如下图:
在这里插入图片描述
prompt=‘母亲在厨房忙碌着’,OpenAI返回的效果图如下:
在这里插入图片描述
人物画像细节生成还不够逼真。来试一试中国的古诗词效果,
prompt=‘踏花归去马蹄香’

马蹄上应该画出一些蝴蝶🦋来表达马蹄的花香味啊,不太满意~😞

1.2 对话(chat)

api接口调用代码如下所示:

import openai
import json# 设置API密钥
openai.api_key = "sk-Wljk3BVhN0VieGCwAzEXT3BlbkFJ*******"
def chat(prompt):response = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "user", "content":prompt}]
)answer = response.choices[0].message.contentreturn answerif __name__=='__main__':prompt='人口最多的国家'result = chat(prompt)print(result)

结果如下:
在这里插入图片描述

1.3 中文纠错 (Chinese Spelling Correct)

我们可以通过合理的写prompt,基于问答形式,让gpt-3.5做NLP任务。比如对中文纠错,我们可以这样写prompt,让chagpt能够做纠错NLP任务。如下所示:

def correct():prompt="改正错词输出正确句子:\n\n我在京东电商平台买了苹果耳几和华为体脂称"  #建议prompt: 改正错词输出正确句子:\n\n input_sentenceresponse = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "user", "content":prompt}]
)answer = response.choices[0].message.contentreturn answerif __name__=='__main__':result = correct()print(result)

结果如下:
在这里插入图片描述

1.4 关键词提取 (keyword extract)

def keyword():prompt="对下面内容识别2个关键词,每个词字数不超过3个字:\n\n齐选汽车挂件车内挂饰车载后视镜吊坠高档实心黄铜玉石出入平安保男女 红流苏-玉髓平安扣"  #建议prompt: 对下面内容识别n个关键词,每个词字数不超过m个字:\n\n input dataresponse = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "user", "content":prompt}]
)answer = response.choices[0].message.contentreturn answerif __name__=='__main__':result = keyword()print(result)

在这里插入图片描述
对于不同的prompt,输出的结果差异也较大。所以对于具体的任务场景,我们需要尝试不同的prompt, 根据结果的反馈,不断的调整和优化prompt,从而得到更加准确的结果

1.5 抽取文本向量 (Embedding)

def embedding():content = '苹果手机'response = openai.Embedding.create(model="text-embedding-ada-002",input=content
)answer = response.data[0].embeddingreturn answerif __name__=='__main__':result = embedding()print(len(result))print(result)

得到结果如下:
在这里插入图片描述
是一个1536维度的向量,我们可以基于文本的向量去做很多任务,比如计算两个向量的余弦值,计算相似性分值等。

1.6 微调 (fine tune)

openAI提供了接口可以用我们自己的数据进行fine tune,得到适应我们自己业务场景的新模型。假如我们需要训练一个适应我们自己领域知识的聊天机器人,我们可以按照下面流程来做fine tune。

  • 数据准备

我们可以先把数据转成csv格式,需提供prompt列和对应的completion列,其中prompt相当于问题,completion就是对应的答案,如下是我们要用来fine tune模型的result.csv训练样本内容显示:
在这里插入图片描述
然后我们可以用openAI提供的数据处理工具对数据转成json格式的文件

openai tools fine_tunes.prepare_data -f result.csv

执行完后,我们会得到一个对应的json文件:result_prepared.jsonl

  • 模型微调训练
    接下来我们就可以用已有的模型 (ada, babbage, curie, davinci) 进行fine tune,官方给出的具体可以用来做微调的模型主要如下:
    在这里插入图片描述
    首先需要指定我们自己的API key:
export OPENAI_API_KEY="sk-Wljk3BVhN0VieGCwAzEX*********"

然后开始训练:

openai api fine_tunes.create -t result_prepared.jsonl -m ada

在这里用我们自己的数据result_prepared.jsonl,基于base model: ada模型提交fine tune任务。提交后会返回给我们一个JOB ID,通过这个job id我们可以跟进模型在远程服务器训练情况:

 openai api fine_tunes.follow -i ft-sWKDNnTmUyOGEdpvbAOvEaZt

我们可以看到结果如下:
在这里插入图片描述
可以看到我们的模型训练好了模型名称叫做:ada:ft-personal-2023-03-27-03-24-09,然后我们就可以试用我们训练好的模型看效果了,测试如下:

openai api completions.create -m ada:ft-personal-2023-03-27-03-24-09 -p <YOUR_PROMPT>

其中<YOUR_PROMPT>写入我们要测试的问题就好。

现在我们可以去远程服务器上查看下我们fine tune好的模型是否已经有了:

models = openai.Model.list()

发现有了刚刚fine tune的模型:
在这里插入图片描述
对于分类,实体识别等任务,OPNAI官网也提供了如何做处理数据,让模型做fine tune,详情可以参考官网https://platform.openai.com/docs/introduction/overview

2 如何写好prompt

prompt如何表达,对于chatgpt返回的答案会差异很大,通过prompt正确的表达问题,chatgpt才会返回更合适的结果。通过自己这些天的尝试以及官网给的提示,感受就是在写prompt时候,可以通过说明,例子,限制条件,修饰词等具体表达问题,这样chatgpt会给出更加精准的答案。接下来,我们对几种常见的任务,prompt应用如何写。

2.1分类任务

我们可以对prompt这么构造:
判断content属于A,B,C,D哪一种分类
content: detail
分类:

对应的查询结果如下:
在这里插入图片描述

2.2 归纳总结

提供了非常强大能力,能够基于学到的广泛知识,给出问题解决方案,合理的建议,实施步骤,商业计划,人物描写等等。所以我们可以合理写prompt,更有意思的答案。
在这里插入图片描述

哈哈,看起来不够大胆,于是进一步发问
在这里插入图片描述
给出的这些答案果然更加激动人心。

3.3 翻译

我们可以将一种语言翻译成我们大多数其他语言。对于翻译任务,我们只需要写prompt表达我们的意愿就是:
将下面内容翻译成英语,日语,德语
content

在这里插入图片描述

2.4 API接口多样性控制

在调用API接口的时候,我们可以通过设置两个参数=='temperature’和’top_p’来控制生成文本的多样性和可控度==。当temperature较高时,生成的文本会更加随机和多样化,而当temperature较低时,生成的文本会更加保守和可控。top_p参数用于控制生成文本的可控度,它会限制模型生成文本时可以选择的token的数量。具体来说,当top_p越低时,模型只考虑概率分布中累计概率最高的一部分token,而忽略其他低概率的token。这样一来,生成的文本就更加可控,因为只有那些最可能的token才会被考虑。而当top_p越高的时候,生成的文本可能会更加灵活和多样,因为模型会考虑更多的低概率token。每次调用的时候,我们可以设置这两个参数:
在这里插入图片描述

3 实用资料

大模型训练平台:https://github.com/hpcaitech/ColossalAI
相关资料:中文精选资源清单

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

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

相关文章

myChat - 第三方ChatGPT原生客户端,支持win和mac系统

前言 可能你没体验过 ChatGPT&#xff0c;但肯定听说过。苦于高高的围墙&#xff0c;无法便捷的使用 ChatGPT。那你就不能错过 myChat &#xff0c;一款第三方 ChatGPT 原生客户端。基于 OpenAI 提供的 ChatGPT 同款模型 GPT-3.5&#xff0c;可达到与 ChatGPT 类似的效果&…

ChatGPT APP来了,还可以直接订阅Plus账号,操作流程都这篇里面

大家好&#xff0c;我是可夫小子&#xff0c;关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加&#xff1a;keeepdance&#xff0c;备注&#xff1a;chatgpt&#xff0c;拉你进群。 OpenAI宣布推出聊天机器人ChatGPT的APP&#xff0c;目前已上架苹果App Store&#xf…

如何在iPhone上用ChatGPT替换Siri

To use ChatGPT with Siri on an iPhone or iPad, get an OpenAI API key and download the ChatGPT Siri shortcut. Enter your API key in the shortcut setup and select the GPT model you want to use, then hit “Add Shortcut.” Trigger the shortcut manually first t…

手把手教你做一个 ChatGPT !丝滑小白版,只需一张单卡 GPU,轻松开启个性化训练!...

大家好&#xff0c;我是贺同学。 一直以来密切关注 ChatGPT 的趋势&#xff0c;最近相关的话题可谓是热度不减&#xff0c;虽然从事互联网行业&#xff0c;但一直对 LLM 相关领域关注较少。 最近的 ChatGPT 的火热&#xff0c;让我对 LLM 相关开源社区也关注了起来&#xff0c;…

调戏chatGPT(一)玩个猜数字游戏

最近chatGPT火得不要不要的&#xff0c;本着热情拥抱新生事物的原则&#xff0c;我也去测试了一下&#xff0c;发现这货果然很智能&#xff0c;我们是不是已经处在AI技术革命性突破的前夜了呢。 chatGPT的功能远远不止聊天&#xff0c;所以我用一个专栏来展示一下&#xff0c;…

ChatGPT角色扮演,你会几个?!

ChatGPT 一款由OpenAI训练的大型语言模型&#xff0c;能够和你进行任何领域的对话。 只要你给出提示或提出问题&#xff0c;它就可以生成你想要的东西。 上面只是列了一部分&#xff0c;但是好的答案&#xff0c;需要好的提示词&#xff0c;也就是Prompts 国外很多大厂已经在抢…

ChatGPT设计的游戏火了!玩法代码一力搞定,自称「原创」却被指:抄袭了

鱼羊 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT&#xff0c;现在多了一重“游戏制作人”的身份。 不仅游戏玩法由它设计&#xff0c;连游戏代码和网页&#xff0c;也全部由ChatGPT搞定。 游戏界面长这样&#xff1a; ChatGPT还亲自给这个小游戏取了个名字&#xff1a;Sumplet…

ChatGPT实现游戏 NPC 对话

游戏 NPC 对话 玩游戏的一个必要过程&#xff0c;就是和 NPC 对话&#xff0c;领取任务&#xff0c;获取线索。有趣的游戏&#xff0c;会根据用户和 NPC 交流时的不同选择&#xff0c;触发不同剧情走向。甚至多个 NPC 之间还能有罕见的隐藏剧情&#xff0c;等待用户发掘。可以…

NPC 也有了生命?当 ChatGPT 注入游戏你能想象吗

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; 目录 引言&#xff1a;西部世界元宇宙&#xff0c;还记得吗ChatGPT 的世界&#xff1f; 下图就是一个 ChatGPT 小镇&#xff1a; 引言&#xff1a;西部世界 《西部世界》以一个虚构的游戏般的“西部世界”为背景…

如何使用ChatGPT开发Unity小游戏

写在前面 首先我们需要知道ChatGpt的语料学习机制&#xff0c;所以为了让它更加“精准扶贫”&#xff0c;钥匙君建议大家在提问之前先引导它进入你想要它成为的角色&#xff0c;ChatGpt在国外已经被“玩坏”&#xff0c;在游戏领域也切实提高了不少码农的工作效率&#xff0c;…

当ChatGPT遇上游戏引擎……

ChatGPT是由美国OpenAI公司开发的可以进行对话的聊天机器人。据称&#xff0c;它可以写故事、解决数学问题、写理论性论文。11月底&#xff0c;围绕这一机器人&#xff0c;OpenAI进行了两次更新&#xff1a;在11月29日发布了一个命名为“text-davinci-003”&#xff08;文本-达…

ChatGPT让游戏NPC活了!交流不再靠选项,问什么答什么,网友直呼童年梦想成真...

梦晨 发自 凹非寺量子位 | 公众号 QbitAI 这个游戏里的NPC&#xff0c;活了&#xff01; 不是傻傻重复几句固定台词&#xff0c;而是你问什么就答什么。 玩家也不是从几个固定选项中选&#xff0c;而是打字对话&#xff0c;想说什么就说什么。 在游戏中&#xff0c;玩家扮演一个…

使用 ChatGPT 启发游戏创意|基于 AI 5 天创建一个农场游戏,第 2 天

欢迎使用 AI 进行游戏开发! 在本系列中&#xff0c;我们将使用各种 AI 工具&#xff0c;在 5 天内创建一个功能完备的农场游戏。到本系列结束时&#xff0c;你将了解到如何将多种 AI 工具整合到游戏开发流程中。本系列文章将向你展示如何将 AI 工具用于&#xff1a; 美术风格游…

【第三篇:利用ChatGPT编写贪食蛇小游戏】

好像现在最近对ChatGPT讨论越来越热&#xff0c;ChatGPT的出现应该会引发“一次新的社会变革”&#xff0c;未来很多码农会失业啊&#xff01;与其坐着被改变&#xff0c;不如尝试主动改变&#xff0c;我今天就利用ChatGPT编写贪食蛇小游戏&#xff0c;看看一个小白是否真的可以…

我不谈ChatGPT

&#xff08;1&#xff09;数据 有两个未经证实的传闻&#xff1a; 1、客服问答&#xff1a;80%用户问的问题都是那20%常见问题&#xff0c;但是就是这样&#xff0c;占用了客服人员80%的工作量和工作时间2、资讯搜索&#xff1a;谷歌一位员工说&#xff0c;在互联网上&#xf…

ChatGPT评测

总结&#xff1a;ChatGPT很强大&#xff0c;用作学术方面的问答或者软件行业的辅助工具是有一定的作用&#xff0c;但是有些回答设置了限制&#xff0c;并且中文回答方面总是回答一半&#xff0c;需要一直让他继续说&#xff0c;篇幅不是很长&#xff0c;但是往往能说道精髓&am…

ChatGPT可以帮我们做哪些事?

从精确发现代码中的安全漏洞到随心所欲地写一篇文章或整个功能代码块&#xff0c;再到打开通往另一个维度的门户&#xff0c;OpenAI 新推出的 ChatGPT 改变了游戏规则&#xff0c;它的可能性似乎只受限于你的局限性。 — 1 — 你的愿望就是我的命令 上周&#xff0c;OpenAI 研究…

ChatGPT:那些让美国伟大的俄罗斯人

转载自 衣公子的剑量子位 | 公众号 QbitAI 人工智能三次震惊世界。1997年&#xff0c;2016年&#xff0c;2023年。 有意思的是&#xff0c;这三次&#xff0c;都由美国主导&#xff0c;却都和美国最大的对手苏联&#xff08;俄罗斯&#xff09;有关。 1997年&#xff0c;IBM的深…

ChatGPT与文心一言对比思考

ChatGPT与文心一言对比思考 1. 目前在国内比较广泛被认知的ai模型有什么 我目前通过各种渠道注册到的账号有3个,按照了解到然后注册的顺序分别是 ChatGPTnewbing文心一言 3种ai的注册渠道 ChatGPT注册: 科学上网注册寻找外网手机号发送短信 newbing注册: 科学上网注册微软账…

openai chatgpt 相关

父文章 大数据模型 Prompt工程师指南[高阶篇]&#xff1a;对抗性Prompting、主动prompt、ReAct、GraphPrompts、Multimodal CoT Prompting等_人工智能_汀丶_InfoQ写作社区 chatgpt 正向案例 - chatgpt 正向案例 - gpt案例翻译 进步 目前的搜索引擎非常适合查询路程等信息获…