体验链接:Aitrend ChatBot (无需环境,无需账号,打开即用,完全免费,回答能力同ChatGPT)

开始前:网上找了一个python调用最新的API(GPT-3.5-Turbp)进行连续对话,并测试跑通。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openai
openai.api_key = "your_key"
def chatgpt():
messages = []
while True:
input_ = input("please input your questions: ")
messages.append({"role": "user", "content": input_})
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages
)
# for decoding in Chinese
answer = response['choices'][0]['message']['content'].encode('utf-8').decode('utf-8')
messages.append({"role": response['choices'][0]['message']['role'], "content": answer})
print(answer)
chatgpt()
阶段一:提问代码
Q:你好,我想要用python写一个连续对话的聊天机器人网页,你可以帮助我吗?(开始的问题是问题是用ChatGPT提问的,后面因为经常掉线切换到了Notion AI)
A:给了一个完整的py代码,以及HTML的代码
接着把上面写好的py和html代码贴到Notion AI中,debug中遇到的问题一个个丢给了Notion AI。
Q:上面的代码遇到了(xx)问题,怎么办
A:可能是(xx)原因,你可以这样做(xx)。
Q:给出更新后的代码(或者是py代码、html代码)
用更新后的代码放到IDE中测试,如果跑通就更新下Notion中的代码,没跑通就自行修改或者循环提问。经过不断提问一个0.1版本的demo基本就出来了。

阶段二:样式优化
Q:我想用Bootstrap框架美化一下网页,让它像一个专业的聊天机器人网站?
A:给出了CSS样式代码和更新后的html代码
接着就是不断的提问和优化,当代码满意的时候贴回Notion中,让它在此基础上继续优化和更新。

阶段三:网页部署
Q:我想要把搭建好的网页部署到服务器中,需要怎么做?
A:给出了一个流程,我在此基础上让它展开来一步步详细地说,针对每一步流程进一步提问,遇到不懂的或者需要什么Linux命令也直接让它输出。

1)ChatGPT这类AI能取代程序员吗?
A:目前还不能,但是会是程序员非常好的辅助,未来一个程序员也许就能做两到三个人的工作,造成工作上的挤兑,也许也是一种变相取代。
2)Notion AI的代码写得好吗?
A:还可以,感觉水平能有一个中级程序员的程度,代码的质量取决于你对它提问的深度,以及不断地让它在现有的代码上进行提问优化,涉及到复杂系统搭建的话情况也许会有所不同,此处不做讨论。
3)Notion AI在使用过程中有哪些局限性?
A:由于数据库只到2021年,即便我给出了最新的接口调用代码,它也总会把我的代码修改成调用GPT2的代码,所以它给出的代码也不能全信。
整个的尝试下来,其实超出了我原本对Notion AI原本只是用于写作的期待,它使用在其他也同样出色。甚至在某些方面的体验远优于ChatGPT,如可以随意地更新代码而不需要重新提问,输出的结果可以方便的保存,使用过程更加稳定可靠(相对于非收费的ChatGPT),也许在输出质量上还有一点差距,但是随着后面API迭代相信差距也会进一步缩小。
这次的聊天机器人搭建是一个小小的尝试,距离专业程序员搭建的网页还有很大的差距,但是ChatGPT的出现也确实让更多非专业的人能够完成从0到1的尝试,哪怕对于初学者也能有极大的学习效率提升。
未来我还会继续输出更多ChatGPT或者Notion AI的一些使用心得和技巧,对此如有兴趣可以点下关注~
设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
几个月前,我读了一篇关于rubygem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:
英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古
网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的
我创建了一个由于“在运行时执行的单例元类定义”而无法编码的对象(这段代码的描述是否正确?)。这是通过以下代码执行的:#defineclassXthatmyusesingletonclassmetaprogrammingfeatures#throughcallofmethod:break_marshalling!classXdefbreak_marshalling!meta_class=class我该怎么做才能使对象编码正确?是否可以从对象instance_of_x的classX中“移除”单例组件?我真的需要一个建议,因为我们的一些对象需要通过Marshal.dump序列化机制进行缓存。
我正在查看Ruby日志记录库Logging.logger方法并从sourceatgithub提出问题与这段代码有关:logger=::Logging::Logger.new(name)logger.add_appendersappenderlogger.additive=falseclass我知道类 最佳答案 这实际上删除了方法(当它实际被执行时)。这是确保close不会被调用两次的保障措施。看起来好像有嵌套的“class 关于Ruby元编程问题,我们在StackOverflow上找到一
我有可变数量的表格和可变数量的行,我想让它们一个接一个地显示,但如果表格不适合当前页面,请将其放在下一页,然后继续。我已将表格放入事务中,以便我可以回滚然后打印它(如果高度适合当前页面),但我如何获得表格高度?我现在有这段代码pdf.transactiondopdf.table@data,:font_size=>12,:border_style=>:grid,:horizontal_padding=>10,:vertical_padding=>3,:border_width=>2,:position=>:left,:row_colors=>["FFFFFF","DDDDDD"]pdf.