我让API版的ChatGPT长了记性!

Posted -派神-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我让API版的ChatGPT长了记性!相关的知识,希望对你有一定的参考价值。

OpenAI的API接口是基于请求/响应模式的,每次请求的上下文是独立的,不会被记录和保存。因此,ChatGPT机器人无法记录和理解上一次请求的内容,也不会把上下文信息带入到下一次请求中。请看下面我通过API调用的方式和ChatGPT的聊天记录:

很显然API版的ChatGPT没有记住我第一个问题里面的内容,在随后对我提的所有问题,ChatGPT开始了一本正经的胡说八道!是否有办法避免这种情况的发生,同时让API版的chatGPT和平台版的chatGPT有一样的用户体验呢?办法还是有的!!!首先看看没有记性的ChatGPT长什么样。

无记忆能力的ChatGPT

下面是我通过API的方式来调用ChatGPT,每次只把用户的当前问题喂给ChatGPT, 然后ChatGPT也只会针对当前问题做出回答,仅此而已:

# 以下是我写的chat.py文件的聊天机器人代码
import openai
#申请的api_key
openai.api_key = "XXXXXXXXXXX"
def get_answer(question):
    response = openai.Completion.create(
    model="text-davinci-003",
    prompt=question,
    temperature=0.5, 
    max_tokens=2048)    
    return response.choices[0].text

def ask_question():
    flag=True
    #问候语
    print()
    greeting="\\033[1;31mChatGPT: 我是ChatGPT聊天机器人,我可以回答您的任何问题!如果您想退出,请输入:quit\\033[0m"
    print(greeting)
    print()
    while(flag==True):
        question = input()
        if(question!='quit'):
            answer=get_answer(question)
            answer = answer[2:]
            print(f"\\033[1;31mChatGPT:answer\\033[0m")
            print()
        else:
            flag=False
            print("\\033[1;31mChatGPT:后会有期,bye!\\033[0m")       

ask_question()

运行上面这段代码后如果你提出类似我上面聊天记录里的问题,那么ChatGPT的回答会让你很失望!因为机器人无法参考之前的历史聊天内容,机器人只理解当前问题的含义,所以有时候无法做出令人满意的正确回答。

长记性的ChatGPT

如何能让ChatGPT长点记性呢?办法还是有的,经过我的一番尝试,终于让API版的ChatGPT有了记忆能力,为了让ChatGPT长记性,我们要做的就是在每次提问的时候将历史聊天记录再加上当前的问题一起喂给ChatGPT,这样机器人在回答当前问题时就会参考历史的聊天记录,从而使ChatGPT长了记性,不再会胡说八道了。

# 以下是我写的chat.py文件的聊天机器人代码
import openai
#申请的api_key
openai.api_key = "XXXXXXXXXXX"
def get_answer(history):
    response = openai.Completion.create(
    model="text-davinci-003",
    prompt="\\n".join(history),
    temperature=0.5, 
    max_tokens=2048)    
    return response.choices[0].text

def ask_question():    
    flag=True
    # 存储会话历史
    history = []
    print()
    greeting="\\033[1;31mChatGPT: 我是ChatGPT聊天机器人,\\
    我可以回答您的任何问题!如果您想退出,请输入:quit\\033[0m"
    print(greeting)
    print()
    while(flag==True):
        question = input()
        if(question!='quit'):
            history.append(question)
            #将历史记录和当前问题一起喂给ChatGPT
            answer=get_answer(history)
            history.append(answer)
            answer = answer[2:]
            print(f"\\033[1;31mChatGPT:answer\\033[0m")
            print()

        else:
            flag=False
            print()
            print("\\033[1;31mChatGPT:后会有期,bye!\\033[0m")  

ask_question()

 运行上面这段代码后,我向机器人提出了之前聊天时的相同问题,下面看看长了记性的ChatGPT是怎么回答我的问题的。

 这回ChatGPT的回答让我很满意,机器人似乎有了记忆力,它能记住我之前对它提出的要求,然后做出了非常正确的回答。

总结

要让API版的ChatGPT有记忆能力,我们需要让ChatGPT能记住我们的历史聊天记录,因此我们在向ChatGPT提出问题的时候,需要将历史聊天记录再加上当前问题统统喂给ChatGPT,这样它就会产生令人满意的答案。

国内版的ChatGPT弯道超车的机会在哪里?

前言

从去年11月最后一天ChatGPT诞生,截至目前,ChatGPT的热度可谓是爆了。众所周知,ChatGPT是美国“开放人工智能研究中心”研发的聊天机器人程序,它是一个人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、写诗、视频、脚本、文案、翻译、写代码等任务。

ChatGPT和阿尔法狗都是人工智能发展到一定程度的必然产物,但是ChatGPT的诞生还是产生了颠覆认知的影响,尤其是随着ChatGPT不断地完善和进步,真的可以取代人类的日常工作。然而国内的行业巨头也在酝酿国产版的ChatGPT,就在刚刚过去的3月16日百度率先推出了“文心一言”。那么,国产版的ChatGPT功能效果怎么样?国产版的ChatGPT弯道超车的机会在哪里?本文就来浅谈一二。

虽然国外版的ChatGPT领先国内4个月的时间,好在国内版的ChatGPT:百度的“文心一言”在3月16日发布推出,但是文心一言的表现差强人意,虽然还没有达到与国外版的ChatGPT一决高下的能力,虽然百度的文心一言与国外版ChatGPT存在较大差距,但是开启了国内版ChatGPT的先河。接下来先再来回顾一下ChatGPT的概念。

ChatGPT是什么?

ChatGPT(全名:Chat Generative Pre-trained Transformer),是由美国OpenAI研发的聊天机器人程序 ,在2022年11月30日发布。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据实际聊天的上下文进行互动,真的可以像人一样来聊天交流,而且能完成撰写邮件、视频脚本、文案、翻译、写代码、写论文等任务,目前注册及使用人数已破亿。

个人理解,ChatGPT就是一个能“琴棋书画”的AI虚拟人,不仅会学着人类的思维在问答中互动,而且能够解决选择困难症的问题,更能解决比较专业的领域问题,是个百事通。

ChatGPT带来的影响

从去年至今,ChatGPT席卷全球,短短一周,注册用户就达100万,它是继 AI 绘画之后,由 OpenAI 上线的 ChatGPT 成了新的流量收割机,也引发了网友的一系列“花式整活”,让它写代码、写邮件、写情书、写论文等等。ChatGPT能够产出很出色的内容,一定程度上展现了AI能力发展新的里程碑,也是分水岭,存在着一些局限性,例如它的准确性目前还难以完全满足要求,目前,各大科技公司纷纷在尝试入局AIGC,而且ChatGPT目前尚未开源,商业模式也不甚清晰,能够给国内的AI科技公司留出一定的时间和空间。

国内的百度在3月推出类似ChatGPT的聊天机器人,而且阿里、京东、网易有道紧随其后纷纷表示计划开发类ChatGPT的产品。前段时间微信可以使用ChatGPT的功能,大家都在纷纷体验ChatGPT的功能。所以我觉得国内外关于类ChatGPT的产品会越来越多,而且会越来越完善,个人觉得还是比较看好国外的类ChatGPT产品,毕竟由于环境差异,欧美的人工智能起步和发展比国内要早,技术沉淀相对较多,但是随着国内人工智能技术的不断发展,国内的类ChatGPT产品也会很快的赶超国外的产品。

个人觉得ChatGPT和教育场景相关的产品相结合会发挥更好的优势,可以在AI口语老师、翻译、中文作文批改等细分学习场景中尝试探索,这样有助于助力国内教育的新腾飞,提高教育质量和水平也是非常有帮助的。还有就是ChatGPT和电商应用结合,推出智能问答机器人,更好的提高用户的体验,及时解决用户在网购中遇到的常见问题,解决人工客服的工作压力。

国内版ChatGPT的先天优势

国内版ChatGPT目前问世的产品数量有限,大部分仍处于“萌芽”或者“生长”阶段,但是国内的AI有很好的底子,以及国内的大数据领域也是走在全球的前列,还有具有国内特色的数据模型,这些都是国外ChatGPT所不具备的,这就是国内版ChatGPT所具备的先天优势。

而且百度作为国内领先的人工智能企业,一直在大语言模型领域不断探索和创新。文心一言是百度在ERNIE和PLATO系列模型的基础上,结合自身在搜索、知识图谱、多模态等方面的技术优势,打造出来的新一代知识增强大语言模型,也是国内第一个对标ChatGPT的产品。文心一言不仅能够生成各种类型和风格的文本内容,还能够理解和生成图片、音频、视频等多种媒体形式,实现了真正意义上的多模态生成。文心一言还能够根据用户提供或授权的数据和信息,进行个性化定制和优化,满足用户不同场景和需求下的内容创作。

国内版的ChatGPT可以通过国内云提供的服务,把农业、工业、金融、教育、医疗、交通、能源等重点领域,都会因此效率大幅提升,并在每一个行业快速形成新的产业空间,助力数字中国的实现。所以这些都是国内版ChatGPT具备的先天优势。

最后

从ChatGPT的诞生以及在短期内的井喷热度,有人说是第四次技术革命,又有人说是挑战人类工作的竞争者,还有人说是整治科技圈的利器,不管怎么说ChatGPT的出现在短时间内掀起的高潮和热度是必然事件。因为人工智能近几年的快速发展以及技术沉淀,诞生ChatGPT是意料之中的事情,而且我相信ChatGPT的出现是起点而不是终点,接下来肯定还会有类似ChatGPT的ChatGPT2号、ChatGPT3号的出现,同时我也相信国内的互联网企业能够紧追其上,早日实现国内版ChatGPT的弯道超车,也希望ChatGPT带来更多的是改变美好生活,而不是制造问题,祝愿ChatGPT再创佳绩、期待国内版ChatGPT早日出圈!

以上是关于我让API版的ChatGPT长了记性!的主要内容,如果未能解决你的问题,请参考以下文章

ChatGPT如何做投资?

如何用好免费的chatGPT

chatGPT使用方法

chatGPT使用方法

ChatGPT发展机遇和思考

从Eliza到ChatGPT,对话系统发展简史✨