当前关注:【promptulate专栏】ChatGPT框架——两行代码构建一个强大的论文总结助手
前言本文节选自笔者博客:https://www.blog.zeeland.cn/archives/019hasaa
如果你经常阅读论文,那么你肯定会遇到以下几个问题:
【资料图】
论文晦涩难懂看不明白怎么办?有很多论文需要看,没有那么多精力怎么办?如何快速总结记录论文的一些关键点为我所用?关于上面的几个问题,本文将会基于当前Python新兴的大语言模型开发框架promptulate来演示使用如何用两行代码快速构建上手构建一个属于自己的论文总结工具。
Promptulate一个强大的大语言模型自动化与应用开发框架,支持智能决策、消息持久化、外部工具调用、角色预设等功能,开箱即用。 通过promptulate,你可以轻松构建起属于自己的LLM应用程序。
项目地址: https://github.com/Undertone0809/promptulate
官方文档: promptulate document
作为一个强大的大语言模型应用开发框架,其主要有以下特性:
大语言模型支持:支持不同类型的大语言模型的扩展接口对话终端:提供简易对话终端,直接体验与大语言模型的对话角色预设:提供预设角色,以不同的角度调用GPT长对话模式:支持长对话聊天,支持多种方式的对话持久化外部工具:集成外部工具能力,可以进行网络搜索、执行Python代码等强大的功能KEY池:提供API key池,彻底解决key限速的问题智能代理人:集成ReAct,self-ask等高级Agent,结合外部工具赋能LLM中文优化:针对中文语境进行特别优化,更适合中文场景数据导出:支持markdowm等格式的对话导出对话总结:提供API式的对话总结、翻译、标题生成高级抽象,支持插件扩展、存储扩展、大语言模型扩展在架构上,promptulate
主要由以下几部分组成:
Agent
更高级的执行器,负责复杂任务的调度和分发framework
框架层,实现不同类型的prompt框架,包括最基础的Conversation
模型,还有self-ask
和ReAct
等模型。llm
大语言模型,负责生成回答,可以支持不同类型的大语言模型memory
负责对话的存储,支持不同的存储方式及其扩展,如文件存储、数据库存储等tools
提供外部工具扩展调用,如搜索引擎、计算器等preset roles
提供预设角色,进行定制化对话provider
为framework和agent提供tools和其他细粒度能力的集成Promptulate快速上手安装最新版打开终端,输入下面命令下载promptulate
最新版,-U
表示更新到最新版,如果你已经下载promptulate
旧版本,那么执行此命令会更新到最新版。promptulate
当前正处于快速发展阶段,因此你可能需要经常更新最新版以享用最新的成果。
pip install -U promptulate
基本使用KEY配置下列文档全部使用
OPENAI GPT3.5
进行测试
在使用promptulate
之前,你需要先导入你的OPENAI_API_KEY
import osos.environ["OPENAI_API_KEY"] = "your-key"
在你第一次使用的时候,需要使用os.environ["OPENAI_API_KEY"]
导入"OPENAI_API_KEY" 的环境变量,但是在第一运行之后promptulate
会进行缓存,即后面再运行就不需要再导入key了。如果你的key过期了,可以尝试重新按照上面的方法导入key,或者你也可以把cache
文件给删除掉,Windows的cache
在当前目录下,linux的cache
在/tmp
下。
详细文档请跳转LLM
promptulate
的架构设计可以轻松兼容不同的大语言模型扩展,在promptulate
中,llm负责最基本的内容生成部分,因此为最基础的组件。
下面的示例展示了如何使用OpenAI进行交互。
from promptulate.llms import OpenAIllm = OpenAI()answer = llm("请解释一下引力波的放射与广义相对论的必然关系")print(answer)
输出结果如下:
广义相对论是一种描述引力如何影响时空的物理学理论,它指出当物质和能量聚集在一起时,它们弯曲了周围的时空,引起了引力。质量和能量更大的物体会导致更大的时空弯曲,这就是为什么地球会围绕太阳旋转。根据广义相对论,当物质或能量在空间中运动时,它们会产生引力波,就像在水面上产生涟漪一样。引力波是一种类似电磁波的波动,但它们是由物质和能量的弯曲引起的,而电磁波是由电荷的振动引起的。引力波是极微弱的,但是当强烈的引力场存在(例如在引力天体碰撞或超新星爆炸等事件中),它们可以被探测到。事实上,2015年,激光干涉引力波天文台利用引力波探测器直接探测到了引力波,并为广义相对论提供了强有力的证据。因此,引力波的放射与广义相对论必然关系紧密。通过引力波,我们可以更加深入地了解时空的性质,并进一步验证这个理论。
Key池promptulate
为OpenAI进行特别优化,构建了Key池,如果你使用的是GPT3.5
5美元的账号,一定会遇到限速的问题,这个时候,如果你有一堆Key,就可以很好的解决这个问题。promptulate
的LRU KEY轮询机制巧妙的解决了限速的问题,你可以使用LLM随意地进行提问(前提是你有够多的key)。此外,如果你既有GPT4
和GPT3.5
的KEY,KEY池也可以不同模型的KEY调度,你可以按照下面的方式将key导入到你的key池中。
from promptulate.llms import OpenAIfrom promptulate.utils import export_openai_key_poolkeys = [ {"model": "gpt-3.5-turbo", "key": "xxxxx"}, {"model": "gpt-3.5-turbo", "key": "xxxxx"}, {"model": "gpt-3.5-turbo", "key": "xxxxx"}, {"model": "gpt-4", "key": "xxxxx"},]export_openai_key_pool(keys)llm = OpenAI()for i in range(10): llm("你好")
上面的示例中,当你使用了export_openai_key_pool(keys)
之后,cache会进行缓存,因此在下一次执行的时候,你就无需再导入key或key pool就可以使用OpenAI进行推理了。
需要注意的是,cache会初始化key pool中的数据,因此如果你的一些key失效了,可以尝试重新执行该命令进行初始化操作,或者你可以使用如下删除key_pool中的指定key。
from promptulate.utils.openai_key_pool import OpenAIKey, OpenAIKeyPoolkey_pool: OpenAIKeyPool = OpenAIKeyPool()key_pool.delete("your key")
使用下面的方式可以进行查询当前key_pool中的所有key。
from promptulate.utils.openai_key_pool import OpenAIKey, OpenAIKeyPoolkey_pool: OpenAIKeyPool = OpenAIKeyPool()keys = key_pool.all()for key in keys: print(key)
输入如下所示:
{"__name__": "OpenAIKey", "__unique_id__": "62f56487-d528-4f5c-84bb-9c2a3df7354e", "model": "gpt-3.5-turbo", "key": "key1"}{"__name__": "OpenAIKey", "__unique_id__": "ac3abd29-c62e-458d-b3cc-3f825594910f", "model": "gpt-3.5-turbo", "key": "key2"}{"__name__": "OpenAIKey", "__unique_id__": "c90ab3c2-e6c0-4a16-a2f9-a298d6290218", "model": "gpt-3.5-turbo", "key": "key3"}{"__name__": "OpenAIKey", "__unique_id__": "c13b1965-5034-4463-9409-2ad90ba1d260", "model": "gpt-3.5-turbo", "key": "key4"}
使用Promptulate构建论文总结工具下面展示如何使用promptulate
构建属于自己的论文总结工具。
上面章节说到过,promptulate
具有tools模块,tools模块为LLM提供了调用外部工具扩展的能力,可以说tools是走向智能化的第一步,通过tools来为LLM构建一套感知反馈系统,可以为LLM应用开发提供更多的可能性。
当前promptulate
支持以下几种工具:
在promptulate
中,为了构建更加智能的Agent,一些提供给Agent的Tool也是有大语言模型调用权限的,它们一般有一些简单的能力处理功能。如果你有需要,你可以直接使用这些带有LLM的Tool,本文将会介绍的PaperSummaryTool就是一个带有大语言模型的Tool。
接下来我们使用PaperSummaryTool来演示一下给Tool赋能LLM之后的表现,下面的示例展示了使用PaperSummaryTool搜索论文attention is all you need
from promptulate.tools.paper.tools import PaperSummaryToolfrom promptulate.utils.logger import get_logger, enable_logenable_log()def main(): tool = PaperSummaryTool() result = tool.run("attention is all you need") # you can also input an arxiv id as follows # result = tool.run("2303.09014") print(result)if __name__ == "__main__": main()
输出结果如下
标题:注意力就是你所需要的摘要:目前主流的序列转换模型基于复杂的循环或卷积神经网络,采用编码器-解码器结构。表现最好的模型还通过注意力机制连接编码器和解码器。我们提出了一种新的简单网络架构——Transformer,仅基于注意力机制,完全摒弃了循环和卷积。在两个机器翻译任务上的实验表明,这些模型在质量上优于其他模型,同时更易于并行化,训练时间显著缩短。我们的模型在WMT 2014年英德翻译任务上实现了28.4 BLEU的成绩,超过了现有最佳结果,包括集成模型,提高了2个BLEU。在WMT 2014年英法翻译任务中,我们的模型在8个GPU上训练3.5天后,实现了新的单模型最优BLEU得分41.8,训练成本仅为文献中最佳模型的一小部分。我们证明Transformer在其他任务上具有很好的泛化能力,成功地将其应用于英语成分句法分析,无论是大规模还是有限的训练数据。关键词:Transformer, attention mechanism, machine translation, BLEU score, parallelizable, training time, generalization.关键见解:- 传统的序列转换模型基于复杂的循环或卷积神经网络,而最好的模型通过注意力机制连接编码器和解码器。- 本文提出了一种新的简单网络架构——Transformer,仅基于注意力机制,完全摒弃了循环和卷积。在机器翻译任务上,这种模型在质量上表现更好,同时更易于并行化,训练时间显著缩短。- 本文的模型在WMT 2014英德翻译任务上取得了28.4 BLEU的成绩,在WMT 2014英法翻译任务上取得了41.8 BLEU的成绩,成为了单模型下的最佳结果。经验教训:- 注意力机制是一种有效的连接编码器和解码器的方式,可以提高序列转换模型的性能。- 简单的网络架构也可以取得很好的效果,不一定需要复杂的循环或卷积结构。- Transformer模型具有很好的泛化能力,可以成功应用于其他任务,如英语成分句法分析。相关建议:- 进一步探究Transformer网络结构的优化方法,提高其在不同任务上的表现。- 尝试将Transformer应用于其他自然语言处理任务,如文本分类、命名实体识别等。- 研究如何在Transformer中引入外部知识,如知识图谱等,以提高其对语义的理解和表达能力。- 探索如何将Transformer应用于多语言翻译任务,以实现更加高效和准确的跨语言翻译。- 研究如何在Transformer中引入对抗训练等方法,以提高其对抗攻击的鲁棒性。相关论文:[1] [Convolutional Sequence to Sequence Learning](https://www.semanticscholar.org/paper/43428880d75b3a14257c3ee9bda054e61eb869c0)[2] [Massive Exploration of Neural Machine Translation Architectures](https://www.semanticscholar.org/paper/4550a4c714920ef57d19878e31c9ebae37b049b2)[3] [A Structured Self-attentive Sentence Embedding](https://www.semanticscholar.org/paper/204a4a70428f3938d2c538a4d74c7ae0416306d8)[4] [Factorization tricks for LSTM networks](https://www.semanticscholar.org/paper/79baf48bd560060549998d7b61751286de062e2a)[5] [Structured Attention Networks](https://www.semanticscholar.org/paper/13d9323a8716131911bfda048a40e2cde1a76a46)[6] [Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer](https://www.semanticscholar.org/paper/510e26733aaff585d65701b9f1be7ca9d5afc586)[7] [Neural Machine Translation in Linear Time](https://www.semanticscholar.org/paper/98445f4172659ec5e891e031d8202c102135c644)[8] [Can Active Memory Replace Attention?](https://www.semanticscholar.org/paper/735d547fc75e0772d2a78c46a1cc5fad7da1474c)[9] [Xception: Deep Learning with Depthwise Separable Convolutions](https://www.semanticscholar.org/paper/5b6ec746d309b165f9f9def873a2375b6fb40f3d)[10] [Google"s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation](https://www.semanticscholar.org/paper/dbde7dfa6cae81df8ac19ef500c42db96c3d1edd)
输出结果已经被排版成markdown格式的数据,因此很适合被渲染出来显示。
此外,上面的例子中,含有多步的LLM推理(四次推理过程)和多次API调用(从Arxiv和Semantic Scholar中获取论文、引用等相关数据),但是prompulate
的事件总线并行机制大大化简了推理总时间,平均推理时间保持在十几秒(具体事件取决于网络环境)。
因为采用并行机制,因此在使用有LLM能力的Tool或者Agent时会在同一时间内快速地多次调用API,如果你的key有限速问题,推荐你使用key-pool来解决key限速的问题(如果你是5美元的key)。
总结本文主要介绍了如何使用大语言模型开发框架promptulate构建一个论文总结助手,通过promptulate,我们还可以构建很多有意思的应用程序,如让GPT调用搜索引擎,文件检索等,后续的文章会陆续更新。
标签:
推荐
- 当前关注:【promptulate专栏】ChatGPT框架——两行代码构建一个强大的论文总结助手
- 500ml卸妆水能飞机托运吗_500ml卸妆水可以托运吗 天天速递
- 日本投资公司将以64亿美元收购半导体设备制造商JSR
- 携程和同程抢票哪个好点_携程和同程抢票哪个好
- 亓姓分布在哪里 亓姓 焦点讯息
- 基金在周末会有涨跌吗?有没有收益?
- 南向资金今日净买入31.93亿港元 工商银行净卖出额居首 独家焦点
- 世界看热讯:深圳乐佳医疗美容门诊部使用未依法注册的医疗器械案
- 华建集团(600629.SH):下属公司签署7408万元建设工程设计合同|热门
- 当前观点:青岛某武术俱乐部发生故意伤害案致一人死亡,3人被查获
- 天天热门:时空猎人3怎么玩新手 时空猎人咋玩
- 焦点简讯:是德科技携手温莎大学进行车载网络安全培训
- 全球观热点:极兔速递增聘瑞银、建银、招银为香港IPO上市整体协调人
- 环球视点!《原神》蒲公英籽快速收集路线分享2023
- 【天天热闻】新闻自由法_关于新闻自由法简介
- Linux删除sd卡分区_sd卡分区
- 每日动态!2023佛山阳光mini动漫嘉年华在哪里举办?
- 焦点日报:3259元!JBL蘑菇型超低景观扬声器已上架
- 最高法:全国法院一审审结毒品案件数量持续下降
- 每日看点!中大力德录得7天5板
- 个人贷款资金违规用于购房,招行上海分行合计被罚超千万-世界热头条
- 【新视野】ピンクパイナップル雾谷伯爵家の六姉妹_雾谷伯爵家的六姐妹动漫免费
- 上海柴云做双眼皮修复怎么样?上海眼王柴云靠谱吗?
- 每日观点:红肉菠萝蜜多少钱一斤_菠萝蜜多少钱一斤
- 经典模拟电路分享|环球热讯
- 清蒸鲍鱼步骤鲍鱼蒸多久(清蒸鲍鱼要蒸多少分钟呢简介介绍)
- 出嫁从夫番外篇百度云_出嫁从夫番外篇|环球今热点
- 全球速看:甘肃省发布强对流黄色预警
- 新能源汽车车辆购置税优惠政策延长,预计减免总额达5200亿元
- 2022年湖南各市州GDP曝光!第二梯队成亮点
- “你好,艺术家”——“予寻”品牌暨2023予寻YUXUN艺术共创计划在京启动
- 天天快看点丨海南房价升值优势分析,海南省过冬在哪买房便宜?
- 天津启动金融支持民营经济高质量发展专项行动 为民营经济注入更多金融活水
- 卖核心、被“截和” AC米兰成近期转会市场焦点 天天速递
- 环球快讯:淘宝旗舰店的东西是正品吗?可信吗?
- 57家商贸企业共销售5.6亿元
- 端午节期间“粽情”文化味儿 文旅消费带火节日经济
- 福奇:美国虚假信息和阴谋论盛行 对国家未来感到担忧_环球速讯
- 天天热讯:心脏支架手术过程视频(什么是心脏支架手术)
- 全球新动态:太平洋保险公司的金瑞人生怎么样我想给我老公买保险
- 请问一下兼职签了合同,但合约上没有截止日期,怎么解约呀?
- 俄媒:俄军已在莫斯科市郊架设机枪阵地
- 哈利波特与魔法石的故事梗概500字_哈利波特与魔法石 的故事梗概
- SE社长承认游戏部门存在问题 集中资源发展重要项目|环球今亮点
- 当前观点:借机反攻?乌方发文:一切在俄罗斯才刚刚开始
- 【全球速看料】5岁宝宝口臭是什么原因(女人得口臭是什么原因)
- 全球快消息!普里戈任称瓦格纳已控制罗斯托夫地区包括机场在内的军用设施
- 最新消息:民生证券:受益于全方位的电力改革 电力行业有望开启α行情
- 6月24日(周六)将举行由运动品牌“sfida”...-每日快报
- 面相学:暴露你今生有无富贵命的3种眼皮,你是哪种?别割眼皮了
- 重庆第1眼 | 这条路,通向“看得见”的人心里!
- 在山谷的时区里 今日观点
- 当前观察:这是国乒?男双混双全部出局,多人被印度选手淘汰,5单项1金难求
- 永远不要在别人身上找安全感
- 云南省个旧市发布大雾黄色预警_焦点滚动
- 微短剧也开始流行创投,3到10分钟内如何杀出生路?_重点聚焦
- 当前聚焦:福州私立中学排名表最新_福州私立中学排名
- 狂犬病发作症状会咬人吗_狂犬病发作症状 焦点快播
- 中文翻唱日语的歌曲有哪些 原来这些经典中文歌都翻唱自日语歌
- 无氧铜棒_关于无氧铜棒介绍
- 世界热点!郑州区域划分图最新图_郑州区域划分图最新
- 每日视讯:新型悬挑式脚手架规范 悬挑脚手架构造要求
- 利雅得新月看上了利物浦萨拉赫 法老也要去沙特?
- 【世界快播报】新闻8点见丨北京中考明日开考,这些事需注意;多地开展安全排查
- 店铺转让信息怎么写特别一点的(店铺转让信息怎么写)
- 苏家屯区气象台发布高温黄色预警信号 天天速读
- 原创诗歌:《这事由他一手操办》-天天速读
- 各级工会积极做好高温天气作业职工劳动保护工作
- 上海汾阳路五官科医院附近宾馆_上海汾阳路五官科医院地址
- 什么样的人要交税_什么人要交税
- 世界焦点!泰坦号观光艇内爆5名乘员已死亡 其中3人为亿万富翁
- 书法篆刻印章在线生成(在线篆刻印章生成器)
- 全球聚焦:交通部门增加增强服务举措 确保旅客出行畅通
- 交通部门增加增强服务举措 确保旅客出行畅通|每日精选
- 每日关注!国际奥委会全会撤销对国际拳联的承认
- 下周策略-当前信息
- 取消就业报到证 人社部门提示毕业生转档要点-天天关注
- vivo X80 Pro锁屏时间设置教程-当前时讯
- 天天观察:多样活动营造浓厚学习氛围
- 泽连斯基解除乌克兰驻白俄罗斯大使职务_全球热点
- iphone7刷机模式_iphone刷机模式
- 当前热议!鲜花椒鲈鱼_关于鲜花椒鲈鱼简述
- 天天报道:夏天最适合减肥了,这个方子最能减肚子,还不伤脾胃与阳气
- 风眼是什么_风眼
- 沪苏“双11”正式牵手!苏州轨道交通11号线将于6月24日上午11点开通运营
- 现场比赛包粽子,第八届社区文化节为市民带去福利|环球看点
- 天天热门:金力永磁(06680.HK):已回购注销14,016股限制性A股
- 全球观察:特斯拉盘前跌近4% 摩根士丹利下调评级为“持股观望”
- 火箭vs雄鹿_火箭vs雄鹿回放-世界热消息
- 环球速讯:巴菲特再度加仓 “日特估”烈火烹油
- 每日关注!塞翁失马焉知非福感悟_塞翁失马焉知非福
- 端午微动画丨粽山论剑-全球热点
- 舍不得孩子套不住狼的意思是什么意思_舍不得孩子套不住狼 全球快看点
- 环球观天下!传统制造业如何转型升级加“数”跑?福建这些企业打了样
- 今日热议:财鑫闻丨人民币破7.2 公募基金半年度净值博弈白热化,如何破局?
- 旋转座椅对乘员安全影响的仿真试验研究 世界聚看点
- 70后老板,拿下河南跨境电商“第一股”,一年进账54亿
- 泽连斯基:对俄反攻不是好莱坞大片,乌军不会受压而加速
- 盛世荣宠txt下载(盛世荣宠之妖妃嫁到txt下载)
- 世界快讯:草地赛季首秀失利,郑钦文与新教练磨合尚需时日
X 关闭
行业规章
X 关闭