本文来自方正证券研究所于2023年4月24日发布的报告《ChatGPT在投资研究工作中的应用初探——ChatGPT应用探讨系列之一》,欲了解具体内容,请阅读报告原文,分析师:曹春晓 S1220522030005;刘洋 S1220522100001,联系人:邓璐
摘要
本文介绍了人工智能领域中的ChatGPT模型,以及该模型在金融领域可能应用,从日常工作到数据分析,再到API接口和其他应用领域,对ChatGPT进行了详细的探讨。
首先,ChatGPT的工作原理和应用场景。ChatGPT是一种预训练语言模型,通过学习海量的语言数据,可以预测下一个单词或者句子的概率分布。因此,ChatGPT可以用于文本生成、对话、翻译等多种场景,非常适合需要处理大量自然语言数据的应用。其次, ChatGPT在日常工作中的应用,包括文本和表格交互。通过简单的使用技巧,我们可以让ChatGPT帮忙整理文本信息、生成文字点评等,提高我们的工作效率。此外,我们还可以使用ChatGPT进行表格交互,进行文字和数据分析。然后,使用Python代码来利用ChatGPT进行数据获取、分析和输出。我们介绍了使用ChatGPT生成Python代码,完成数据库接口和PDF读取等方法来获取数据,并进行批量处理和策略分析。最后,我们还介绍了如何使用ChatGPT输出可视化图像和标准化文档,使得数据更加清晰易懂。再者,使用API接口来处理大量数据,并且给出了API接口的应用案例。使用Python代码来访问ChatGPT的API接口,可以实现批量问答和大规模的数据处理和分析。API接口的应用案例包括文本摘要、文本分类和对话系统,这些都是基于ChatGPT的应用,可以大大提高工作效率和准确度。最后,我们介绍了其他应用领域,包括Auto-GPT和GitHub Copilot。Auto-GPT是一个GPT联网自动思考的工具,可以帮助我们自动产生新的想法和创意。GitHub Copilot是一个智能编程助手,可以自动生成代码,并且提供代码片段和语法提示等功能,大大提高了编程的效率和质量。模型迭代不及预期、ChatGPT回答结果不一、文本与代码生成有误。
OpenAI开发的人工智能聊天机器人程序ChatGPT,是目前最先进的自然语言处理技术之一,它可以模拟人类的语言和思维方式,根据用户提供的问题和输入,给出较为准确的回复。ChatGPT在许多领域中都有广泛的应用,例如在线客服、智能助手、语言教育、机器翻译等。ChatGPT于2022年12月正式推出,推出时是基于GPT-3.5架构的大型语言模型并通过强化学习训练,在2023年1月末的月活用户就突破了1亿,仅耗时2个月,超越tiktok成为了用户增长速度最快的消费级应用程序;2023年3月15日,OpenAI再次推出多模态大规模预训练模型GPT-4,相较于GPT-3.5,可接受图片和文本双输入。在可预见的未来,随着ChatGPT进一步的更新与迭代,ChatGPT将在各个行业有着全新的应用场景以及更高的渗透率。本篇文章主要介绍ChatGPT的基本情况以及操作初探,为了更好的体现ChatGPT的实用性,部分文字或图片来源于ChatGPT-4的回答并经验证后所撰写。目前推出的ChatGPT是基于OpenAI GPT-4架构的大型语言模型。其工作原理可以分为以下几个关键步骤:预训练:首先,ChatGPT会在大量的文本数据集上进行预训练。这些数据来自于互联网,包括各种书籍、文章和网页等。预训练的目的是使模型能够学习语言结构、文本模式和基本知识。在这个阶段,模型主要学习预测下一个词的能力。微调:经过预训练后,模型会在特定的任务上进行微调。这一步骤包括使用带有人工标注的数据集来优化模型表现。微调的过程可以根据不同的应用场景定制,以使模型更好地满足特定任务的需求。生成文本:ChatGPT通过生成文本来回答用户的问题或执行特定任务。生成文本的过程称为“解码”。在解码阶段,模型根据已有的输入(如用户问题)生成一个词序列,以形成一个连贯的回答。Transformer结构:GPT-4采用了Transformer结构,这是一种先进的深度学习架构,用于处理自然语言处理任务。Transformer结构利用自注意力(self-attention)机制来捕捉输入序列中的长距离依赖关系。这使得模型能够更好地理解文本语境并生成相关的回答。总的来说,ChatGPT通过预训练和微调两个阶段学习语言知识和任务特定技能,然后,它利用Transformer结构生成连贯、有意义的回答。ChatGPT作为一种高级的自然语言处理(NLP)技术,具有广泛的应用场景。以下是一些常见的应用示例:
1.客户服务:ChatGPT可以作为智能客服助手,回答用户的问题、解决问题或提供产品和服务信息。2.虚拟助手:在智能手机、智能家居或其他设备上,ChatGPT可以用作个人助手,帮助用户执行任务、设置提醒或提供实时信息。3.内容生成:ChatGPT可用于撰写文章、博客、邮件或社交媒体内容等,帮助用户更高效地进行内容创作。4.问答系统:ChatGPT可以为各种在线问答平台、知识库或论坛提供自动回答功能。5.语言翻译:ChatGPT可以用于实时翻译不同语言之间的对话,帮助跨语言沟通。6.情感分析:通过对文本进行情感分析,ChatGPT可以帮助企业了解客户对产品或服务的情感态度。7.代码生成:ChatGPT可以辅助程序员编写代码,通过自然语言输入生成相应的代码片段。8.在线教育:在教育领域,ChatGPT可以作为虚拟导师,解答学生的问题、提供学习资源或评估学习进度。9.创意写作:ChatGPT可用于协助创意写作,如编写故事、剧本、诗歌等。10.游戏开发:在游戏领域,ChatGPT可以用于生成对话和剧情,提供更丰富的游戏体验。这些只是ChatGPT潜在应用的一部分,随着技术的不断发展,未来可能还会出现更多新的应用场景。ChatGPT的技术基础为大语言模型(LLM),最擅长的功能就是语言文本的生成和交互。ChatGPT本质上仍然是和微软小冰一样的聊天机器人,和文本交互有关的应用既是ChatGPT最基本的功能也是ChatGPT最擅长的功能。与文本交互相关的工作能有效减少金融从业者的负担。在使用ChatGPT之前,需要清楚它的几个问题:1.知识更新:ChatGPT的知识截至2021年9月,因此某些信息可能已经过时或不准确。2.误导性答案:ChatGPT可能会给出错误或误导性的答案。请对其提供的答案保持审慎,并在必要时进一步验证。3.输入限制:与ChatGPT的对话(包括问题和ChatGPT的回答)需要在Token限制范围内。如果对话中的Token数量超过限制,需要缩短或简化文本以确保输入在限制范围内。4.记忆限制: ChatGPT在长对话中可能遇到记忆问题。当对话内容超过令牌限制时,ChatGPT可能无法准确回顾和理解之前的对话内容。在这种情况下,可能需要简化或缩短提问以使其在限制范围内。因此在进行文本交互时,输入内容和提问方式应注意简洁明了,若内容较多,可考虑分开输入、逐步提问,并对输出内容进行验证。我们可以通过以下几个例子来帮助读者更好地理解ChatGPT的运用。精炼文本观点:我们可以通过文本交互,让ChatGPT帮助我们将复杂信息生成精练观点,例如输入一段取自基金招募说明书中的投资策略,要求它提取优缺点和标签。从回答上来看,ChatGPT能较好理解目标需求和被分析的文本。但从它生成的答案来看,在深入度和精准性上还不够完善。这也表明ChatGPT能较好地完成工作的初期阶段,但仍需要对ChatGPT输出的内容进行改进和完善。生成相似文本:向ChatGPT输入几段基金点评的文本,内容主要是未来展望方面,要求它输出相似的市场展望点评。这段回答比起第一段回答显得更加准确和深入,为我们在使用ChatGPT时的技巧提供几点启示:1、提供足够的上下文。在提问时,提供足够的上下文信息有助于ChatGPT理解问题。2、提问精确具体。对ChatGPT进行提问时,力求做到提问精确,并且给予一定的约束。比如限定ChatGPT输出某一方面的内容,限定ChatGPT输出内容的篇幅和字数等等。有时我们希望发挥ChatGPT出众的分析能力,运用ChatGPT来进行财务数据和金融数据的分析,简化我们日常的工作量。但ChatGPT本身只能通过文字交互的方式进行内容输入,如何直接要求ChatGPT完成指定任务,并将Excel中的表格输入和输出就成为了一个问题。输出表格:有时我们会希望ChatGPT提供的不是文本回答而是表格回答,因为用表格进行内容表达显得更加的简洁和干练,这时我们可以这样对ChatGPT发问,明确要求ChatGPT提供表格,而且ChatGPT提供的表格可以从浏览器上直接复制粘贴进Excel,然后就可以用在日常工作中了。输入表格:目前没有办法直接向ChatGPT输入表格文件,但ChatGPT能够理解以Markdown格式表现的表格。因此我们可以使用中介工具Typora将Excel表格转化为Markdown格式,这样ChatGPT就能有效读取了。Typora的下载官网是:https://typora.io/。接下来我们也用一个例子讲解如何进行ChatGPT的表格交互,以下是以Excel表格表示的涪陵榨菜近期的股票数据,我们要求ChatGPT对这段表格进行点评和计算每日收益率:可以看到ChatGPT按照我们的要求对以表格输入的数据进行了简略的点评,并输出了收益率表格。最后还给出了每日收益率的计算公式便于我们查验。可以看出,在表格分析层面,ChatGPT有着较好的文本分析和数据分析能力,减少从业人员机械重复工作的工作量。文本、表格交互:以基金点评为例。在进行日常工作的时候,我们经常需要根据搜集到的财务或金融数据为基础进行文字表达的工作,此类工作可以说是研究员平日最常完成的工作之一,具有高度的可重复性。如果能让ChatGPT学会工作中所需要的文字表达方式,将会很大程度上提高工作效率。以下是一个利用基金数据让ChatGPT学会基金点评的实例。首先我们以表格的方式输入华商新趋势优选的相关数据,基于数据的文字点评,要求ChatGPT参照华商新趋势优选的点评范例,对另一只基金英大国企改革进行点评:ChatGPT很好地复现了对之前基金的文字点评风格,生成的文字稍加修改就可以直接使用。给定其他基金数据,继续利用ChatGPT进行对于其他基金点评,生成点评所用的时间将大大减少。3 ChatGPT应用:Python代码,自动生成由于ChatGPT在进行文字和表格交互时,会面临输入和记忆限制,无法处理复杂问题和庞大数据,因此可以考虑利用ChatGPT输出代码的方式,本地运行程序,从而解决复杂问题。ChatGPT进行代码生成有一些潜在优势,主要包括:(1)快速生成,ChatGPT能够迅速生成代码片段,节省编写代码的时间,尤其是在处理常见任务或简单问题时;(2)灵活性,由于ChatGPT受过大量编程示例的训练,它具有很高的灵活性,可以生成多种编程语言(如Python)的代码。这使得ChatGPT能够适应各种编程需求;(3)提供启发,ChatGPT可以提供代码解决方案的启示,帮助在面临问题时找到新的思路和解决方法;(4)学习辅助,对于初学者,ChatGPT可以用作学习工具,提供代码示例和解释,帮助更好地理解编程概念和实践。要利用ChatGPT生成Python代码,需要我们提出明确、具体的问题或需求,并包含有关代码的详细信息。在这当中,我们用户扮演着产品经理的角色,而ChatGPT扮演着程序员的角色。等ChatGPT生成代码后,需要在使用生成的代码之前进行适当的验证和调整。我们可以通过以下数据获取、数据分析和数据输出等角度的例子来帮助读者更好地理解ChatGPT的在代码生成上的运用。WindAPI接口是指Wind资讯金融终端提供的一组编程接口,允许开发人员使用多种编程语言(如C++, Java, Python等)编写程序来访问Wind资讯金融终端的数据和功能。通过WindAPI接口,开发人员可以访问Wind资讯金融终端提供的众多数据和功能,包括市场行情数据、财务数据、新闻资讯、图表分析、交易模拟等。我们的需求:用ChatGPT写一段Python代码,目的是使用WindPy库下载000001.OF近1年的复权单位净值和沪深300的收盘价,并计算两个数据之间的相关性。代码运行的结果:将代码运行后,得到000001.OF近1年的复权单位净值和沪深300的收盘价之间的相关性为0.12。Wind底层数据库是指Wind资讯金融终端所使用的数据存储系统,主要负责存储和管理金融数据。相较于Wind金融终端,Wind底层数据库的数据存储能力更强,可以存储海量的金融数据,包括历史和实时的行情数据、财务数据等。我们的需求:用ChatGPT写一段Python代码模板,目的是通过Oracle方式连接Wind底层数据库,其中用户名:xxx;密码:xxx;端口号:xxx;主机和服务名:xxx;地址:xxx。在连接底层数据后,我们需要从数据库中的表wind.ChinaMutualFundDescription,提取F_INFO_WINDCODE为006228.OF的所有数据。代码运行的结果:我们获得了表wind.ChinaMutualFundDescription中F_INFO_WIND-CODE为006228.OF的所有数据。Python具有丰富的PDF库和工具,例如PyPDF2、pdfminer、pdfquery等,可以通过简单的语法快速实现读取和处理PDF文件,并且支持PDF文本、图片、表格等各种元素的提取和处理。我们的需求:用ChatGPT写一段Python代码,目的是在Python3.7语言环境中读取A基金.pdf和B基金.pdf文件,并且提取正文中报告期内基金投资策略和运作分析该节的内容,分别记录基金A和基金B,并将结果输出到txt中。代码运行的结果:我们获取了两篇年报PDF中关于投资策略和运作分析这章节的内容。Python拥有众多的数据处理库和工具,如NumPy、Pandas、Scikit-Learn等,可以方便地进行数据的读取、清洗、分析、建模和可视化等各种操作,且可以编写脚本实现自动化处理,可以实现批量处理数据,大大提高了处理效率和准确性。我们的需求:用ChatGPT写一段Python代码,读取目标文件夹下所有表格数据,从所有表格中提取代码为000001.OF的所有指标。表格名字命名规则为:股票买卖总额年月.xlsx,表格的第二行为列标题。从所有表格中提取代码为000001.OF的所有指标,记录相应年月(从表格的名字中获取),并将数据整理成一个新的表格,存在指定文件夹中。代码运行的结果:从目标文件下的28个excel数据中,提取出了000001.OF的数据。Python不仅拥有众多的数据处理库和工具,如Pandas、NumPy、Matplotlib、Seaborn等,方便进行数据的读取、清洗、分析和可视化等各种操作,支持多种数据格式和数据来源,包括API、CSV、Excel等,而且拥有强大的统计分析和机器学习能力,可以对基金收益数据进行各种分析和建模,如回归分析、聚类分析、时间序列分析等,帮助投资者更好地理解和预测基金收益。我们的需求:用ChatGPT写一段Python代码,目的是在读取nav.xlsx数据的基础上,第一列为日期,格式是日期格式;第二列为基金的复权单位净值,基于复权单位净值,计算这只基金在这段时间的年化收益率、年化波动率、最大回撤、年化夏普指标。代码运行的结果:这只基金在这段时间的年化收益率、年化波动率、最大回撤、年化夏普指标分别为-5.56%、20.18%、15.03%和-0.56。Python不但拥有众多的数据处理库和工具,而且拥有强大的统计分析和机器学习能力,可以对股票数据进行各种分析和建模,可以帮助投资者更好地理解股票策略、预测股票走势和价格。我们的需求:用ChatGPT写一段Python代码,目的是在读取A股日度行情.feather的基础上,列名S_INFO_WINDCODE代表股票代码,TRADE_DT代表交易日,S_DQ_ADJCLOSE代表收盘价,S_DQ_ADJOPEN代表开盘价,计算每只股票每月月底数据,进而计算月涨跌幅,月涨跌幅的定义为月末收盘价/上月收盘价-1,根据所有股票的月涨跌幅从小到大分10组,并通过输出下个月这10组收益率的平均值,进而简单分析一下这个动量/反转策略。代码运行的结果:通过输出下个月这10组收益率的平均值,进而求得高收益组和低收益组的收益差为-0.03,这表明在该时间段内,低收益组的平均收益率要高于高收益组的平均收益率,表明在这段时间内,样本股票出现了明显的反转效应(即过去表现较差的股票未来表现相对较好)。Python不但语法简单易用,使得指标筛选股票的代码编写变得简单快捷,可以快速地完成数据的处理和分析;而且拥有强大的统计分析能力可以帮助投资者更好地理解和筛选符合自己投资风格的股票。我们的需求:用ChatGPT写一段Python代码,目的是用多个指标综合筛选股票。在读取电子行业股票指标.xlsx的基础上,第一列是WindCodes代表股票代码,第2-5列分别是ROE_AVG、YOYEPS_BASIC、MKT_CAP_ARD、PE_TTM,分别代表ROE、EPS增速、市值和市盈率。筛选出ROE、EPS增速、市值排名靠前,但市盈率排名靠后的前十个股票。代码运行的结果:ROE、EPS增速、市值排名靠前,但市盈率排名靠后的前十个股票代码如图所示。Python不仅拥有众多的图像库和工具,如Matplotlib、Seaborn、Plotly等,可以方便地进行各种图像的绘制和定制,支持多种图像类型,包括静态图像和动态图像,而且其图像库和工具具有很高的可定制性,可以自定义图像的各种属性和样式,包括颜色、大小、标签、标题等,满足不同种类的需求。我们的需求:我们需要ChatGPT写一段Python代码,目的是利用bar_chart_race库,使用GDP.xlsx中的数据做一个随时间变化的条形图的视频(动态图像,mp4格式),并设置字体为SimHei。GDP.xlsx的第一列为年份,第二到第八列为不同国家,画面右下角显示时间,时间会由小到大变化,变化条形图发生变化,所有参数默认设定。代码运行的结果:稍修改后生成GPD.mp4的动态视频。首先,Python拥有众多的数据处理库和工具,如Pandas、NumPy、Matplotlib、Seaborn等,可以方便地进行数据的读取、清洗、分析和可视化等各种操作进而进行点评;其次,Python拥有丰富的可视化库和工具,如Matplotlib、Seaborn、Plotly等,可以根据需要绘制各种图表,包括线图、柱状图、散点图、热力图等,有利于绘图;最后,Python支持多种输出格式,包括HTML、PDF、PNG、JPG等,方便用户进行不同场景的输出和共享。我们的需求:用ChatGPT写一段Python代码,目的是在Python3.7语言环境中读取close_date.csv的数据,第一列为日期,并生成一段对不同指数的价格的点评、绘制图像,最后把点评和图像输出,插入Excel中。相较于PowerPoint,一方面Python可以通过自定义函数或库来扩展其功能,满足更多特定需求,使得PPT的制作更加灵活和高效;另一方面,Python可以通过编写脚本来自动化PPT的制作过程,如自动生成幻灯片、插入图表、插入数据等,提高制作效率。此外,PPT通常需要多人协作制作,在协作过程中容易出现版本不同步的问题,而Python可以通过代码管理工具来实现更好的版本控制,避免不同版本的幻灯片被混淆或丢失。我们的需求:用ChatGPT写一段Python代码,目的是利用WindPy库提取000001.OF、000006.OF和000015.OF近一年的复权单位净值,生成PPT。PPT第一页为大标题“基金的收益分析”,第二页到第四页为这三只基金的收益分析。收益分析包括:章节标题为基金名称;左边放图:近1年各个基金走势图;右边放表:近1年各个基金年化收益、最大回撤、夏普比率的表格。代码运行的结果:生成了如左图所示四张PPT。经美化PPT的指示后,生成如右图所示的PPT。4 API接口:进阶应用,处理量大数据
4.1 API接口介绍:Python访问ChatGPT
ChatGPT的API接口为用户提供了访问ChatGPT的方式,用户可以通过本地API接口向ChatGPT发送请求并获取响应,从而更为便捷地在本地使用ChatGPT的部分功能。API接口可以支持的功能包括文本摘要、文本分析、生成文本、问答对话等。
使用ChatGPT的API接口可以快速地完成自然语言处理任务,大大提高处理效率,尤其是在需要处理大量文本数据时,可以明显地降低人工处理时间和成本。同时API接口可以满足不同应用场景的需求,根据用户的需求来提供定制化设置。
以python的ChatGPT API接口为例。首先需要在https://openai.com/blog/chatgpt中注册账号,之后在https://platform.openai.com网站创建自己的API keys。获得相应权限以后,在python中安装openai插件,即输入 pip install openai,调用时只需要import openai 并输入openai.api_key = "您的API keys",即可利用python使用ChatGPT的部分功能。
4.2 API应用案例分析:摘要、分类和对话
API接口在python中的使用方法主要是通过构建prompt来完成的。prompt是一个字符串,它描述了用户通过API向ChatGPT发送的请求。用户可以在prompt中指定要查询的问题、需要API返回的信息类型以及其他的一些参数。具体的prompt的构建方法和使用方式取决于API的具体实现。下面具体研究python的ChatGPT的API接口,实现文本摘要、文本分类和问答对话功能。
(1)总结内容摘要
对于无摘要的文章或长篇论文,可利用ChatGPT的文章摘要功能进行内容总结。这里我们选取方正证券研究所于2023年3月31日发布的报告《智能时代,指向未来 —中证人工智能主题指数投资价值分析》的内容进行总结,由于ChatGPT每次输入有字数限值要求,因此采用读取每页文章进行文本摘要的方法来提取文章的主要内容。可以得到如下结果,其中max_tokens可以控制输出字符长度。按照上述方法调取研报每页的主要内容,输出结果到txt文件,结果如表43。如果存在某页没有输出结果的情况,可能是因为该页以图表为主,文字部分较少且与前后文内容类似,故无输出。文章摘要功能能够很好的帮助用户快速阅读文章,抓住文字核心部分内容。
对于多篇有摘要的文章,可以利用ChatGPT的API接口对这些摘要进行汇总,并提取主要信息。例如汇总3篇指数投资价值研报摘要,并对其中的指数部分内容进行总结,可以简洁明了的知道每篇研报的主要内容。同样,可以利用max_tokens控制输出字符数,通过prompt构建方法。将每篇研报摘要的主要内容汇总起来,输出到新的txt文件中,可以得到如下结果:可以利用ChatGPT的API接口对输入文本中进行情感分析,得到文本内容的倾向性来得知它是积极的还是消极的。以新闻为例,可以读取文件夹中的所有个股新闻文件,利用ChatGPT的API接口对新闻进行分类,输出新闻的倾向性。读取4.19中科曙光、4.20海康威视以及寒武纪的新闻进行文本情感分析,可以得到以下结果。具体的分类标准可以通过修改prompt的要求来实现。可以通过修改question中的问题,在Python中利用API接口中实现与ChatGPT的对话。5 其他应用:Auto-GPT与Python版CopilotAuto-GPT是一个近期广为关注的基于Chat-4和Chat-3.5的Github项目,自项目创立以来,该项目的关注度得到了指数级增长,截止2023年4月24日,Auto-GPT在github上已经得到了惊人的10.7W星,在4月17日,这个数目还是7.8W星,可以看出这个项目受到了全世界关注AIGC的用户的关注,并且关注度还在以一个非常惊人的速度上涨。为什么Auto-GPT能够收获如此广泛的关注?其关键在于项目名称中的“Auto”部分,Auto-GPT能自己给自己下达任务,从而达到只需要做好任务和AI角色的初始设定,就能够生成结果的效果。而在此之前,在我们运用ChatGPT的时候,需要不断和ChatGPT进行对话,不断为其设定新目标,不断进行微调,才能达到我们想要的结果。所以这个项目的前景是非常美好的,甚至有人认为Auto-GPT在未来将取代Chat-GPT。为了体验Auto-GPT的实际效果,我们安装并测试了Auto-GPT,下面介绍Auto-GPT的安装方法和实测感受:首先要在下载网址https://git-scm.com/download/win下载Github网站的Git应用,之后打开下载的Git,输入git clone https://github.com/Torantulino/Auto-GPT.git;接下来打开cmd,输入cd Auto-GPT;然后在cmd继续输入 pip install -r requirements.txt。这样Auto-GPT项目的下载安装就完成了。要使用Auto-GPT,需要使用ChatGPT官网所提供的Openai key。将Openai key输入环境文件.env(需要先把文件.env.template重命名名为.env)中,Auto-GPT就正式配置完成了。接下来打开cmd,连续输入cd Auto-GPT、python scripts/main.py、python –m autogpt就可以使用Auto-GPT的全部内容。Auto-GPT的工作流程从原理上理解是简单易懂的。首先由人类给Auto-GPT取名,然后给Chat-GPT设定一个角色,紧接着为Auto-GPT分配至多五个任务让其执行。Auto-GPT在执行任务时,会将任务拆解成若干个小任务,包括但不限于生成Python脚本,访问本地文件,进行Google搜索并分析网页,储存生成的文本,执行Python文件等等。Auto-GPT在使用过程中与Chat-GPT截然不同的地方是,在使用过程中用户不需要对运作过程进行太多关注,只需要看着Auto-GPT自己给自己设定目标、分配任务,自己生成文件,用户所需要做的绝大多数操作就是输入y(表示同意,允许Auto-GPT执行下一步)即可。另外Chat-GPT的数据库只更新到2021年9月份,其信息的时效性比较差,难以达到金融业所需要的时效性要求,但是Auto-GPT被赋予了联网的功能,在这方面做出了补充。然后Chat-GPT无法访问本地文件,导致很多工作难以完成,但是Auto-GPT被赋予了一定的本地文件访问权限(可开启或关闭),这使得它在处理问题时能起到更加强大的作用。Auto-GPT主要依赖GPT-4和GPT-3.5模型,两种模型的分工不同,在默认的设置中,GPT-4用来执行需要缜密思考的步骤,而GPT-3.5用来执行需要快速响应的步骤。Auto-GPT有数据存储功能,它会将工作记录保存在文件auto-gpt.json中以便下一次使用Auto-GPT时进行上次未完成的工作。虽说Auto-GPT的功能看起来很美好,但它毕竟还是一个实验性的项目,还存在着诸多不足:1、价格昂贵且成本不好控制,由于Auto-GPT使用的是Openai的接口,价格是按照Openai的价格来收费,如果以较为乐观的视角看待的话,Auto-GPT完成每次任务的开销是100人民币左右。2、Auto-GPT还不能很好理解操作者的意图,而且由于它执行步骤的时候实际上是处于黑箱状态,所以用户也很难在Auto-GPT运行的过程中对其进行调整。最终的结果可能会出现得到的答案和想要的答案相差甚远的情况。3、Auto-GPT可能会出现死循环的情况,它有时不能正确完成任务,无法保存文件,有时会不断地出现“do_nothing”即没有任务可完成的情况,这降低了用户的使用体验,延长了任务完成的时间,而且提高了用户的资金投入。以上几个问题不解决,Auto-GPT仍将是一个实验性的项目而难以得到大范围的推广。但是从长远来看,Auto-GPT这种能够自己进行思考的应用是有一定的使用前景的。它的前景表现在:1、只需要设定角色、安排任务,Auto-GPT就能自己完成任务,能够在很大程度上减少人类的工作量;2、Auto-GPT的思考过程是自动进行的,人类的干涉比较少,可能能得到带来惊喜的开创性结果,或能适用于一些开创性任务,如因子发掘等。5.2 GitHub Copilot:编程效率提升GitHub Copilot是GitHub、OpenAI、微软联合打造了一个全新的代码生成 AI,通过输入的代码描述,结合上下文自动补全可能出现的代码,从而加快程序员们编写代码的速度。GitHub Copilot的工作原理就是使用人工智能技术对大量的代码不断进行训练和学习,进而可以结合用户的代码上下文、注释、函数签名等进行代码补全和编写,从一定程度上使得代码编写更高效和轻松。GitHub Copilot是一个基于云的服务,它支持多种集成开发环境,包括Visual Studio Code、JetBrains IDE、GitHub Codespaces、GitHub CLI以及Sublime Text,可以通过安装GitHub Copilot插件在编辑器中使用。同时它也支持多种编程语言,包括Python、JavaScript、TypeScript、Ruby等。GitHub Copilot目前的费用,个人版是每人每月10美元,每年100美元,企业版是每用户每月19美元。目前GitHub Copilot正在进行重大升级,GitHub Copilot X版本正处于测试阶段。新版本将进一步提高GitHub Copilot的辅助代码编写能力。X版本中还增加了智能提示和建议的功能,帮助用户更好地理解和修改代码,提升代码质量。5.2.2 GitHub Copilot的功能及应用GitHub Copilot的功能非常强大。自动代码补全功能,这是指GitHub Copilot可以根据用户的代码上下文和语法提示自动补全代码;它还可以根据用户的注释自动生成代码;GitHub Copilot的模仿能力也很强,它可以根据用户写过的代码例子快速生成模板和重复的代码;同时它也能提供与代码匹配的测试,只要用户导入单元测试包即可给出与代码匹配的测试;如果用户有需要对现有的代码进行结构调整或者性能调整,GitHub Copilot还可以提供准确的重构建议,帮助用户改进代码质量并减少错误。比如要绘制散点图,GitHub Copilot可以根据函数名预测用户编写函数的目的进而补全代码。GitHub Copilot可以根据用户写下的代码注释来编写整个代码。在Copilot执行操作时,将结果缓存下来,以便后续重复使用,提高效率。GitHub Copilot会根据函数名、注释以及上下文对代码进行自动补充和预测,用户可以根据Previous、Next查询不同的预测结果,最后通过Accept选择最符合预期的代码。对于程序员而言,GitHub Copilot可以非常有效的提高开发效率,减少编写代码的时间,也可以利用它进行代码检查、重构和测试,提高代码的可读性和准确度;同时GitHub Copilot作为插件在编辑器中使用,用户可以非常方便地与之交互,通过简单的命令实现多种功能。但是GitHub Copilot的开发同样也存在一些问题,Copilot的预测结果仅仅是基于机器学习模型的猜测,无法保证代码的完全正确,仍然需要用户的检查和测试;同时,在GitHub Copilot训练使用代码时,不会给出相应代码来源,存在版权问题;以及GitHub Copilot是一个基于云的服务,会导致一定的代码外泄风险。模型迭代不及预期、ChatGPT回答结果不一、文本与代码生成有误。
本篇文章来源于微信公众号: 春晓量化