python实现的AI版飞花令

python实现的AI版飞花令

一 前言“春城无处不飞花”,在遥远的古代,古人就开始有饮酒作乐的智慧,伴随着“飞花令”的诞生,文学创作者饮酒作乐必须要飞花令助兴了。然而在AI时代的今天,虽然酒文化不及古时的清淡高雅,但是一切似乎都变的那么的简单,你只需要跟一个机器说上那么两句话,就可以玩转飞花令游戏了,这就是大模型时代的魅力所在。

本文是基于千帆大模型,尝试使用其接口实现的一个chat机器人,当然可以玩飞花令游戏,让我们一起看看这个模型语言理解能力吧。

二 实战2.1 注册账号并实名认证个人版本打算尝试腾讯混元模型,可惜其没有开放个人API,而千帆模型提供了个人版本,所以这里姑且使用千帆,截至2024年一月初可以在不提前够买的情况下进行按量付费,开通后的界面如下:

申请成功的界面开通后可以创建应用,生成id和token。

2.2 Python版bot实现在上面的界面中也提供了样例脚本,我们可以基于其做一些编码,最终的代码如下:

代码语言:python代码运行次数:0运行复制#-*- coding:utf-8 -*-

import requests

import json,sys

API_KEY = "xxxxx"

SECRET_KEY = "yyyyyy"

def get_access_token():

"""

使用 AK,SK 生成鉴权签名(Access Token)

:return: access_token,或是None(如果错误)

"""

url = "https://aip.baidubce.com/oauth/2.0/token"

params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}

return str(requests.post(url, params=params).json().get("access_token"))

url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=" + get_access_token()

def chatbot(his_msg:list)->list:

user_msg=input("you: ")

if user_msg=='exit':

sys.exit(0)

his_msg.append({

"role": "user",

"content": user_msg

})

payload = json.dumps({

"user_id": "feihualing",

"temperature": 0.5,

"penalty_score": 2,

"messages": his_msg

})

headers = {

'Content-Type': 'application/json'

}

response = requests.request("POST", url, headers=headers, data=payload)

new_resp = json.loads(response.text)

print(f"bot: {new_resp['result']}")

his_msg.append({

"role": "assistant",

"content": new_resp["result"]

})

return his_msg

if __name__ == '__main__':

his_msg=[]

while True:

his_msg=chatbot(his_msg)

上面我把temperature设置成了0.5,以便让结果更精确一点,

然后在命令行终端运行如上代码,执行效果如下

代码语言:txt复制you: 我们玩下飞花令游戏吧

bot: 好的,我们可以玩飞花令游戏。请你先说第一个字或词组吧!

you: 月

bot: 月色如水,月光皎洁。

you: 窗前明月光

bot: “窗前明月光”是李白的《静夜思》中的名句,接下去的诗句是什么呢?

you: 这是飞花令游戏

bot: 对不起,我误解了你的意思。让我们继续玩飞花令游戏吧!请说出下一个含有“月”字的词语或诗句:

回答:“但愿人长久”。

you: 回答错误

bot: 非常抱歉,让我再试一次。请说出下一个含有“月”字的词语或诗句:

回答:“清风半夜鸣蝉”。

you: 回答错误

bot: 非常感谢您的参与,让我再试一次。请说出下一个含有“月”字的诗句:

回答:“举头望明月”。

you: 对了

bot: 非常好,现在轮到我说一个含有“月”字的词语或诗句了: “月光如水”。 接下去的飞花令你来定吧。

you: 说一个 以鸟为关键词的飞花令游戏

bot: 好的,让我们来一场以鸟为关键词的飞花令游戏。请先说出第一个含有“鸟儿”或与它相关的词语、诗句:

回答:“百啭无人能解”。 (注意此句出自黄庭坚《清平乐•春归何处》。)

you: 不会

bot: 非常抱歉,我出错了。让我再试一次:请说出下一个含有“鸟儿”或与它相关的词语、诗句:“月落乌啼霜满天”。接下去你来定吧!

you: 不对

bot: 非常抱歉,让我再试一次。“鸟语花香”如何?接下去你来定吧。

you: 不对,要诗句

bot: 好的,那下一句可以是“春花秋月何时了”。接下去你来定吧!

you: 要有鸟字

bot: 好的,那下一句可以是“双飞燕子几时回”。接下去你来定吧!

you: 不对

bot: 非常抱歉,让我再试一次。“月落乌啼双燕飞”如何?接下去你来定吧!

you: 不对

bot: 非常抱歉,我可能真的没有理解对。让我们再试一次吧!请说出下一个含有“鸟”字的词语或诗句:

回答:“月明星稀”。 (这句诗出自曹操的《短歌行》)。

you: 不对

bot: 非常抱歉,我再来一次。“一行白鹭上青天”如何?接下去你来定吧!

you: 不对要含有鸟字

bot: 非常抱歉,让我再试一次。“鸟宿池边树”。接下去你来定吧!

you: 对了

bot: 非常好,现在轮到你说一个含有“鸟”字的词语或诗句了: “莺歌燕舞”。 接下去的飞花令你来定吧。

you: exit我们可能需要进一步训练这个工具才能让他成为一个飞花令高手。

三 总结本文在对AI好奇的基础上,水文一篇,尝试探索千帆大模型平台,基于这个平台尝试调用其接口实现python版本的机器人,让其完成飞花令游戏,从结果可以看出,这个模型可能还需要更多的训练才能让其顺利完成飞花令的游戏,当然在之前的混元体验过程中,我也明确感受到了混元大模型的语言理解的威力,让我们更近一步期待混元能对个人开放更多能力,让我再实现一个基于混元的飞花令机器人。

相关推荐

苹果手机黑名单设置在哪里
365bet亚洲

苹果手机黑名单设置在哪里

📅 07-17 👁️ 3875
2025年卫衣十大品牌榜中榜
365bet亚洲

2025年卫衣十大品牌榜中榜

📅 08-04 👁️ 7972