玩转GPT--在线文本生成项目[可入坑~科普系列]

文章目录

  • 前言
  • 效果
  • 页面说明
    • 文字个数
    • top_K
    • Top_P
    • temperature
    • 聊天上下文关联记忆
  • 项目部署
    • 获取项目
    • 获取模型
    • 运行
  • 彩蛋
  • 总结

前言

没办法,最近ChatGPT杀疯了,没忍住,还是想look,look。没办法,哪个帅小伙能够忍受的了一个可以和自己对话的神奇的玩意儿。而且还是近距离去接触这个东西,如果你对自己的设备还有足够自信的话,咱们还能够给自己重新训练出一个模型,或者自己准备数据集,然后训练自己的“贾维斯”。嘿嘿,想想,这可比女朋友有意思多了!同时也作为一个跨年博文,咱们新的一年可以玩点儿别的东西。并且不要担心,这是一篇面向大众的“科普”难度的文章,只需要按照文章进行操作即可。同样的项目基于GPT2进行开发(没办法GPT3玩不起来),当然这个项目也是一个python项目。

okey废话不多说,现在咱们就开始吧~

效果

首先我们来看到项目的运行吧~
当咱们的项目运行完毕之后,效果是这样的:
在这里插入图片描述

你将得到一个可以在网页端正常使用的dome,并且你可以在这里选择你的模型:
在这里插入图片描述
在这里插入图片描述

页面说明

OK,之后的话我们来说一说这个刚刚咱们在页面上的这些参数是什么意思,并且关于聊天模型的话,还多出了一些参数。那么这些参数是什么意思呢,我们待会来一一说明。

文字个数

首先我们来看到这个参数的含义:
在这里插入图片描述
这个参数的意思呢其实就是说你想要让你GPT模型生成多少个文字(最长)。如果你想要生成的文字越多,那么相应的计算消耗也会更大一些,当然这是极端情况下。

top_K

在这里插入图片描述

之后的话我们来看到top_k的含义。那么要解释这个含义的话,我们这里要简单说明一下GPT在生成文本的时候最后是怎么生成的。
他是这样的:

在这里插入图片描述
这个模型是啥,我们把它抽象成一个算法就好了,一个黑格子。

那么假设我们生成的句子是由3个词组成的句子,并且在我们的词库里面假设有20个词.那么这个概率矩阵是这样的:
在这里插入图片描述

那么Topk的意思就是说,那么会对这些词语的概率进行一个排序,选取前多少个,然后在这多少个里面通过我们的一些优化算法去选出词来(这里我们不是单纯选择概率最大的)

Top_P

在这里插入图片描述

之后的话是咱们Top_P的含义。这个的话,其实和咱们的top_k有点类似。啥意思呢,其实也是我们需要去选词,但是呢,词语太多了,那么我们就从左到右,去把这些词的概率加起来,假设我们设置top_k为0.9,那么加到概率之后大于等于0.9的时候,我们就停止假设从左往右加了20个位置的概率,那么我们就把这20个位置的概率进行运算,选择里面的top_k。换一句话说,这个概率越大,可能被选到的词就越多。其实也是为了多样性嘛。如果我们只是选择top_k的话,假设概率大的词语在后面一点,那么前面的词就比较难选到。

temperature

在这里插入图片描述

之后是这个东西,这个是啥玩意呢。其实它是在我们得到概率之后每个概率都处于这个数。什么意思呢,
假设,我们生成的句子有三个词语,词的种类有20个,那么得到的就是3x20的一个概率矩阵。现在的话,我们把这些概率都同时处于一个数字,叫做temperature。

这样做的好处是啥呢,
举个例子,就是,假设有一个概率0.2和0.5。如果0.2和0.5同时除以一个比1大的数字,比如10.那么就会变成0.02和0.05由于0.02和0.05相差不大,因此原来概率0.2的词被选到的概率就会和0.5差不多。反之如果除以一个比1小的数子,假设除以0.5,那么就会得到0.4和1这样二者之间的差距就变大了。那么这个时候原来概率为0.2的词被选中的概率就更低了。

那么这样做会有啥效果呢,那就是如果temperature设置的更大一些,那么输出的文本就会有更多多样性。可能就不会那么契合你的输入,或者说,回答的内容会更加广泛一点儿。

聊天上下文关联记忆

在这里插入图片描述

之后这个是我们聊天模型独有设置,这个是啥呢,就是模拟我们人类对话嘛,我们对话是需要联系上下文语境的。

那么这个参数的设置有什么讲究嘛?其实没啥,举个例子,就是假设你在和你女朋友或者男朋友聊天的时候,彼此之间的对话可能是围绕前面抛出的一个话题来说的,也就是说和上文是有一定联系的。总不可能是尬聊吧,没有话题,对方不配合是很难聊天下去的,非要这样做那就是“舔”了。

项目部署

获取项目

OK,终于到了咱们的项目部署了。

首先我们需要到这个地方:https://gitee.com/Huterox/gpt-play
是的为了方便访问,我将这个项目上传到了码云而不是github。之后在这个页面:
在这里插入图片描述
获取到项目。

获取模型

之后的话由于模型实在是太大了,因此这里我把文件上传到了百度云盘:
模型获取地址: 链接:https://pan.baidu.com/s/1dnVzzi8p8EqRoKQwtNu2Cw 提取码:6666

在这里插入图片描述
下载之后,将里面的文件:
在这里插入图片描述
放在项目的这个地方:
在这里插入图片描述

运行

之后的话,下载安装好对应的依赖:

transformers==4.25.1
pytorch==1.3.1
scipy==1.2.1
streamlit==1.0
pillow==9.0.1

在项目当中有个文件:
在这里插入图片描述
使用pip命令

pip install -r requirements.txt

即可安装,如果你已经有了部分依赖,那么你只需要下载你需要的即可。
(此外项目环境当中不能同时具备pytorch和TensorFlow环境)

之后在终端输入以下指令:
(切换到Server目录下)

streamlit run app.py

此时项目即可运行:默认地址:

http://localhost:8501

此时即可进入页面。

彩蛋

此外本项目中海油一个彩蛋,就是这个:
在这里插入图片描述
在输入某些关键词时,会触发这个。那么这部分的代码可以直接在app.py当中进行修改:

import sys
import os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)import streamlit as st
from Server.config import *
import time
from Server.controller import GPTgetSentence
from PIL import Image
#彩蛋图片
image = Image.open(curPath+'/imgae/huterox.jpg')
history = []def app():st.markdown("""## GPT RUN BY Huterox""")st.sidebar.subheader("参数配置")generator_number = st.sidebar.number_input("文字个数",min_value=0,max_value=512,value=128)top_k = st.sidebar.slider("top_k",min_value=1,max_value=20,value=10,step=1,)top_p = st.sidebar.slider("top_p",min_value=0.8,max_value=1.0,value=0.9,step=0.02)temperature = st.sidebar.slider("temperature",min_value=0.1,max_value=5.0,value=1.0,step=0.1)model_name,model_list = flow_get_model_name_list()if(len(model_name)==0):st.markdown("""`项目目录GPT2/model/norm_model下未检测到模型`""")else:choose = st.selectbox("选择GPT模型",model_name,index=0)if (choose == "对话模型"):max_history_len = st.sidebar.number_input("聊天上下文关联记忆", min_value=1, max_value=24, value=5)user_input = st.text_area("请输入文本",max_chars=512)if(st.button("点击生成结果")):tips = st.empty()tips.text("正在努力生成中,第一次加载模型运行较慢哟~")if(("Huterox" in user_input) or ("huterox" in user_input)):"""彩蛋触发,修改条件即可"""tips.text("这是毫无疑问的,无论如何,Huterox is awesome!!!")st.image(image, caption='Huterox is awesome!!!',width=350)passelse:start = time.time()if(choose=="对话模型"):result = GPTgetSentence(user_input,temperature,top_k,top_p,generator_number,history,max_history_len,100,True,model_list[model_name.index(choose)])else:result = GPTgetSentence(user_input, temperature, top_k, top_p, generator_number,history, 5, 100, False, model_list[model_name.index(choose)])res = st.text_area("生成结果",value=result)paytime = time.time()-starttips.text("耗时:"+str(paytime)+"s")if __name__ == '__main__':app()

总结

由于服务资源紧张(博主这里就不进行部署了,来个大哥,马上改代码部署上线(狗头))
okey~,这个就是咱全部的内容了,那么本次前沿系列就到此结束,后序有时间会将期间前沿系列过程中学习到的东西,进行整理成文(没办法时间不够,整理成文的时间花费有点大,说了会做这个系列,但是没说要把全部的进行整理(狗头),真没空)

最后,最后,提前祝贺大家新年快乐,注意是新年快乐,而不是圣诞快乐!!!

抗美援朝战争第二次战役
抗美援朝战争第二次战役是指,1950年11月7日~12月24日,中国人民志愿军在朝鲜人民军配合下,将美国为首的"联合国军"及其指挥的南朝鲜(韩国)军诱至预定战场后,对其突然发起反击的战役,是扭转朝鲜战局的一次战役。
第二次战役历时29天,是抗美援朝战争中战略意义最为重大的一次胜利。这一胜利,大大超过了毛泽东在志愿军入朝时及第二次战役前的预想。随着志愿军收复平壤、元山,美军开始大撤退,一直退到了三八线以南地区。志愿军不但彻底粉碎了“联合国军”所发动的“圣诞节攻势”,而且将战线由清川江推至三八线,收复了三八线以北(除襄阳外)的全部领土,解放了三八线以南的瓮津半岛及延安半岛,彻底扭转了朝鲜战局。
志愿军取得的胜利震惊了世界,在全世界打出了新中国的国威军威。正如美国《纽约先驱论坛报》所称的,这是“美国陆军史上最大的败绩”。它打破了美军不可战胜的神话,在国际舞台上彻底改变了中华民族在近代一直落后挨打的形象。至此,再也没有人会认为中国的这支“农民武装”式的军队是一支可以轻易侮辱的力量了。
在这里插入图片描述
RESPECT

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

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

相关文章

硅谷大佬逃离谷歌发长文控诉:公司已迷失方向,员工被困在系统里

来源丨机器之心 从大厂离职,然后写小作文,似乎已经成为了一种新的流行趋势。 近日,AppSheet 创始人 Praveen Seshadri 宣布离开谷歌。在一篇题为《Google 出了什么问题》的 Medium 长博客中,Seshadri 对谷歌的未来发展做出了严峻的…

谷歌打响全面反击战!全新 PaLM 2反超GPT-4,朝着ChatGPT微软开炮

源 | 量子位 万众瞩目,谷歌的反击来了。 现在,谷歌搜索终于要加入AI对话功能了,排队通道已经开放。 当然这还只是第一步。 大的还在后面: 全新大语言模型PaLM 2正式亮相,谷歌声称它在部分任务超越GPT-4。 Bard能力大更…

最新ChatGPT GPT-4 NLU应用之实体分类识别与模型微调(附ipynb与python源码及视频)——开源DataWhale发布入门ChatGPT技术新手从0到1必备使用指南手册(六)

目录 前言最新ChatGPT GPT-4 自然语言理解NLU实战之实体分类识别与模型微调主题分类精准分类解决手段模型微调步骤核心代码 其它NLU应用及实战相关文献 参考资料其它资料下载 前言 想象一下,如果您也可以训练一个为特定场景和目的量身打造的大型自然语言模型&#…

斯坦福大学打响 ChatGPT 反击战,阻止学生用 AI 写作业

整理 | 朱珂欣 出品 | CSDN(ID:CSDNnews) 自 OpenAI 于 2022 年 11 月发布 ChatGPT 以来, ChatGPT 可谓是风靡各个领域:修bug、写代码、写周报、绘画、写小说……不仅如此,ChatGPT 也没“放过”教育圈&a…

研究成果将会开源!复旦MOSS团队深度访谈来了

来自:复旦大学 由美国OpenAI公司开发的ChatGPT模型在全球点燃了新一轮AI革命,海内外关注度陡增。前不久,复旦大学计算机科学技术学院邱锡鹏团队发布类ChatGPT模型MOSS,新闻迅速登上微博热搜。 MOSS“火”了。2月20日发布当天就收到…

AIGC的发展与机遇

陈老老老板🦸 👨‍💻本文专栏:赠书活动专栏(为大家争取的福利,免费送书)试一下文末赠书,讲一些科普类的知识 👨‍💻本文简述:本篇内容的引用都已征…

自然语言处理数据增强魔法书:轻松解锁NLP技巧与方法

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

好物周刊#1:提示工程师养成指南

不要哀求,学会争取。若是如此,终有所获。 🎈 项目 ddrun 后端采用 midway3.0,后台采用 nuxt2.x,小程序采用 uniapp 实现的一套跑腿下单接单系统。 适用于校园、社区、城市等场景,可提供打印服务、跑腿服…

它如何做到让我们持久且不感疲劳

写在前面 随着科技的进步和数字化生活的兴起,人们长时间使用显示器的需求增加,越来越多的人戴眼镜并且面临眼睛问题。显示器屏幕灯在当今社会也逐渐扮演着不可或缺的角色。 首先,显示器屏幕灯能够提供必要的亮度,确保我们在各种…

打不过就拉拢!ChatGPT和MidJourney已经成我小秘书!太爽了

大家好,我是晓衡。 这两周,我战斗力爆棚了!每天大概睡了四~五个小时,而且中午也没有休息过,但精神却还很亢奋。 直到周一下午,身体才有种被掏空的感觉,晚上 10 点就睡了。可能是兴奋劲还在&…

最强组合HuggingFace+ChatGPT=「贾维斯」现在开放demo了!

来源:新智元 前段时间,浙大&微软发布了一个大模型协作系统HuggingGPT直接爆火。 研究者提出了用ChatGPT作为控制器,连接HuggingFace社区中的各种AI模型,完成多模态复杂任务。 整个过程,只需要做的是:用…

【ChatGPT实战】13.使用ChatGPT帮你搞定房屋装修

房屋装修是一项既令人兴奋又令人操劳的事情。随着人工智能技术的不断发展,在房屋设计方面我们可以借助ChatGPT和Midjourney这两个工具来更好地设计你的房屋装修。 在这篇文章中,我们将介绍如何使用ChatGPT和Midjourney这两个工具,来帮助你轻…

ChatGPT赋能Scrum实践

对于Scrum实践者来说,以ChatGPT为代表的的大语言模型是很有效的工具,但要用好这个工具需要一些技巧,本文介绍了60个适用于Scrum实践的提示,可以帮助ChatGPT有效输出适用于Scrum实践的内容。原文: 60 ChatGPT Prompts Plus Prompt …

人工智能的新时代:讯飞星火大模型Vs ChatGPT

近日,科大讯飞召开了星火认知大模型成果发布会,会上表示讯飞星火大模型将突破开放式问答,对标ChatGPT,在中文能力上超过ChatGPT,在英文能力上与ChatGPT相当。对此,你怎么看? 一、你有使用过这种…

5620亿参数,最大多模态模型控制机器人,谷歌把具身智能玩出新高度

关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 计算机视觉研究院专栏 作者:Edison_G 机器人越来越像人了!谷歌等的这项研究将现实世界的信息通过传感器纳入多模态语言模型&a…

终结者最强大脑!谷歌发布史上最大「通才」模型PaLM-E,5620亿参数,看图说话还能操控机器人...

新智元报道 本文转载自新智元。 谷歌近日公布了一个炸弹级「通才」模型PaLM-E,足足有5620亿参数。它是一种多模态具身视觉语言模型,从引导机器人执行任务,到回答关于可观察世界的问题,全都能搞定。 大语言模型的飞速「变异」&am…

摊牌了,微软始料未及,Excel和WPS用户:我们已经在使用了

ChatGPT嵌入 Power Platform 3月6日,微软公司宣布,将 ChatGPT 的技术扩展到其 Power Platform 无代码开发平台上,这将允许其用户在很少甚至不需要编写代码的情况下,就能开发自己的应用程序。 从人工智能到ChatGPT,一次…

领域知识网络即服务:知识助力产业升级“无形的手”?

文|智能相对论 作者|叶远风 你用过ChatGPT了吗? 这个风靡全球的AI应用,以出圈的方式展现着AI的能量。 一个对话的界面,可以聊任何你想聊的话题,可以写出任何你想要的文字。 似乎有无限的人类知识,被集中到了一起&…

炸了!谷歌发布史上最大通才模型PaLM-E,5620亿参数!看图说话还能操控机器人...

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>【计算机视觉】微信技术交流群 转载自:新智元 【导读】谷歌刚刚上线了一个炸弹级「通才」模型PaLM-E,足足有5620亿参数。它是一种多模态具身视觉语言模…

Arduino实训-可移动机械臂(智能小车)

Arduino课程设计的实训要求通过UNO开发板设计工程项目并且与自主开发的AndroidAPP实现连接,最后选择了完成一个可移动机械臂。下面是最终成果图。 最终的效果:可通过手机开发的AndroidApp实现控制小车上的蓝牙模块进行连接并且控制小车的运动和机械臂的运…