体验链接:Aitrend ChatBot (无需环境,无需账号,打开即用,完全免费,回答能力同ChatGPT)
- 背景介绍
- 本文主要谈关于如何使用ChatGPT(实际使用主力工具为Notion AI),应用官方API接口,搭建一个完整的聊天机器人。
- 本文的核心目的不是教会读者如何去搭建一个机器人,而是学会如何使用Notion AI去辅助自己编程,或者解决更多的问题。并由此谈一谈我在使用过程中的一些心得。
- 关于我
- 本人并非是专业的程序员,只是一名对ChatGPT十分感兴趣的数据分析师,熟悉Python和基础的HTML以及CSS的知识。
- 搭建这个主要是想锻炼下自己的能力,以及了解GPT到底有多大的潜力,以及在应用于的Notion AI的GPT到底能发挥多大的潜力,未来ChatGPT到底有没有机会取代程序员。
- 准备工作及环境搭建
- 基础框架:Python+Flask+HTML
- 环境:国外服务器+域名
- 使用 Notion AI 训练模型【重点】
开始前:网上找了一个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命令也直接让它输出。
- 使用Notion AI搭建网页过程中的心得
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的一些使用心得和技巧,对此如有兴趣可以点下关注~