最近GPT4仅靠一张草稿生成一个网页的图片被疯传。心动之下我决定升级chatGPT尝鲜,试试用一张草稿生成一个小程序,实测一下各项功能。
本想着ChatGPT升级后能用上GPT4的多模态识别的功能,然后就在等待界面跳转完成撒花庆祝之后…

发现虽然GPT4可以用了,但是图片上传却还没有更新,并且由于实在是太火爆了,所以只能每4小时发送50条消息。

所以,无奈之下,就只能先测试下相比之前的gpt3.5, gpt4的编码能力是否有了一个实质的提升。
于是我决定试试让他写一个微信小程序的评论界面,可以从我们这篇文章跳转进去。于是有了下面这段对话

但是这个界面展示出来过于简陋了当然,这个功能在gpt3.5中也能够有着很好的完成度。于是我接着让他去丰富界面元素。

于是优化之后有了下面这个界面样式(除了界面上的👍图标是我自己加上去的)

但是这样还是不够,这只是一个简单的界面,完成了基本的发送评论功能,但是当我希望再添加一个回复功能时,界面样式就乱了套了。于是这个就只能暂时作罢。于是回复评论就只能暂时作罢。既然上传不了图片,那我就把评论的样式用文字的形式打出来看看它能否实际理解,于是我这样问
你应该使得评论看起来像这样
我的用户名 2022/3/17 6:34
我觉得今天天气真不错 0
继续完善关于界面逻辑操作,比如用户点赞,每条评论只能点击一次,用户评论数限制。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7dYMdNco-1679166914873)(null)]
这里其实可以看出GPT4对于上一版本的推理能力的提升。在上一个版本中,当我需要它修改某段逻辑时,它会把完整代码重新写一遍,再然后可能就超过token限制了界面报错。在GPT4中,根据上下文,它可以明确指出与实现这个功能不相关的逻辑,并注释省略,再给出我的问题的答案。

要实现一个完整的功能,许多细节上的东西chatgpt还不能很好的实现,但是根据我们的提示去拆分功能点,它已经可以把这些功能点做到一个相对较好的整合了,更多的是针对通用场景代码的编写。不得不说的是,gpt4已经能够大大降低编码的时间了。
文末评论区迁移到了chatgpt写的界面去了,大家可以尝试互动。
虽然引导它完成这个界面属实花费了不少时间,但是确实发现它的语言组织能力比之前提升了不少。
所以我决定让它写一篇“码后感”
" 咱把刚刚对话的内容,写一篇博客介绍一下gpt4的实际应用,要求叙事丰富,语言幽默风趣,重点突出,引发思考。文体不限,诗歌除外,不少于1000字。"

最后,我完全沉浸在了GPT-4助手的智慧之中🤯
在上一个版本中,chatgpt一直被诟病的就是数学能力,但在这次升级之中,官方直接放出评测结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cbPvkwSG-1679166911114)(https://cdn.jsdelivr.net/gh/filess/img1@main/2023/03/17/1679053689090-75a50875-bac5-43eb-9f1e-0769f775c540.png)]
官方放出评测结果:信心满满在GPT-4的官方发布会上,OpenAI直接公布了关于其数学能力的评测结果。这是对GPT-4在数学方面表现的一种信任和自信的体现。根据评测报告,GPT-4在处理数学问题时的表现已经有了显著提升。不仅如此,它还在某些复杂的数学任务中展现出了出奇制胜的能力,让人惊叹不已。
更强大的数学解题能力:从基础到高级GPT-4在数学能力方面的提升并不局限于简单的四则运算。事实上,GPT-4已经能够处理一系列复杂数学问题,包括代数、微积分、概率论等领域。这使得它在帮助用户解决数学难题时更具价值。对于那些一直苦恼于数学问题的用户来说,GPT-4无疑是一个福音。
深度理解与推理:数学问题不再令人头疼GPT-4在数学能力方面的提升不仅体现在解题能力上,还表现在对数学概念的深度理解和推理能力上。在处理数学问题时,GPT-4能够更好地理解题目中的概念和关系,并根据这些信息进行有针对性的推理。这使得它在解决数学问题时更具策略性和准确性。
用户体验的巨大提升:数学辅导不再遥不可及随着GPT-4在数学能力方面的突破,用户在使用过程中也将享受到更好的体验。不管是学生在解决作业问题时,还是工程师在处理实际项目中的数学挑战,GPT-4都将成为一个强有力的助手。
还是使用经典题目来提问
鸡兔同笼,共有30个头,88只脚。
求笼中鸡兔各有多少只?

这波有理有据,可以得出正确答案。
那如果是肯德基呢?

为了实验它的逻辑能力,我找了一道密码破译的题目。已知这段密文是维吉尼亚密码,简单点说就是需要分析词频,然后再遍历不同长度的密钥找到能与英文单词的常见频率一一对应上。看看结果如何。
Zemlpxphmj tizgeyel zqqlvmtgw ygwlofsgw h tssniy-eshuxlt vpfi vh lpilz crk nsdu, wbegluw hph mcmswvl. Uxbfiuvw zgrkkrn krcgwakkhvmvpw vp Qpuwpqr aq xog Muviypeaksucp Zrejg Wacxpqr sgeypik vlpu jptwa jeuf. wawhlpxz yiyg wlv jvt xog ieemakrn gbwgvpgrjg sm yeaelppk aji scyuel vh xogmy tizgeyel pp tltwvp jyqq Dcpsqtz Hppila Hejkppvc pp Zptkppmh. Vlhv ieemagqlpx mchlf aogr Vtfpves Ugpgrjgw’ Hpxhtiz tsjmia, ylpel dcw zgx aq hlnmcgv aji jcvnq, wbhjltik cr hpstcpf fyykrn cwjgra.
可能是期望过高,这段密码始终没有成功破解不管是直接推出密码还是给出密钥长度提示,甚至给出了密钥,依然无法解密这段文本。


所以只能期待接下来的更新中是否会进一步地加强了。
我用gpt4写的小程序留言界面入口在这里,感兴趣的可以一起讨论。

使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何
我想要做的是有2个不同的Controller,client和test_client。客户端Controller已经构建,我想创建一个test_clientController,我可以使用它来玩弄客户端的UI并根据需要进行调整。我主要是想绕过我在客户端中内置的验证及其对加载数据的管理Controller的依赖。所以我希望test_clientController加载示例数据集,然后呈现客户端Controller的索引View,以便我可以调整客户端UI。就是这样。我在test_clients索引方法中试过这个:classTestClientdefindexrender:template=>
如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?
我有一个正在构建的应用程序,我需要一个模型来创建另一个模型的实例。我希望每辆车都有4个轮胎。汽车模型classCar轮胎模型classTire但是,在make_tires内部有一个错误,如果我为Tire尝试它,则没有用于创建或新建的activerecord方法。当我检查轮胎时,它没有这些方法。我该如何补救?错误是这样的:未定义的方法'create'forActiveRecord::AttributeMethods::Serialization::Tire::Module我测试了两个环境:测试和开发,它们都因相同的错误而失败。 最佳答案
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
我想让一个yaml对象引用另一个,如下所示:intro:"Hello,dearuser."registration:$introThanksforregistering!new_message:$introYouhaveanewmessage!上面的语法只是它如何工作的一个例子(这也是它在thiscpanmodule中的工作方式。)我正在使用标准的rubyyaml解析器。这可能吗? 最佳答案 一些yaml对象确实引用了其他对象:irb>require'yaml'#=>trueirb>str="hello"#=>"hello"ir
我的问题的一个例子是体育游戏。一场体育比赛有两支球队,一支主队和一支客队。我的事件记录模型如下:classTeam"Team"has_one:away_team,:class_name=>"Team"end我希望能够通过游戏访问一个团队,例如:Game.find(1).home_team但我收到一个单元化常量错误:Game::team。谁能告诉我我做错了什么?谢谢, 最佳答案 如果Gamehas_one:team那么Rails假设您的teams表有一个game_id列。不过,您想要的是games表有一个team_id列,在这种情况下
前言作为一名程序员,自己的本质工作就是做程序开发,那么程序开发的时候最直接的体现就是代码,检验一个程序员技术水平的一个核心环节就是开发时候的代码能力。众所周知,程序开发的水平提升是一个循序渐进的过程,每一位程序员都是从“菜鸟”变成“大神”的,所以程序员在程序开发过程中的代码能力也是根据平时开发中的业务实践来积累和提升的。提高代码能力核心要素程序员要想提高自身代码能力,尤其是新晋程序员的代码能力有很大的提升空间的时候,需要针对性的去提高自己的代码能力。提高代码能力其实有几个比较关键的点,只要把握住这些方面,就能很好的、快速的提高自己的一部分代码能力。1、多去阅读开源项目,如有机会可以亲自参与开源