【有手就行】打造智能成语接龙游戏机器人,寓教于乐新体验!

打造智能成语接龙游戏机器人——基于Appbuilder-SDK的创意实践

探秘Appbuilder:轻松构建前端应用,开启交互新体验

首先使用百度智能云千帆Appbuilder创建一个应用,本实例将创建一个成语接龙应用,见下图所示:

  • 你可以依据你需要的应用能力来调用相应的组件
  • 如果您的应用需要外部知识库,您也可以在平台直接添加到外部知识库到平台应用
  • 您可以依据设计角色指令,从而精确的控制应用的作用范围,确定其扮演的角色,并且确定其输出结果的格式与风格,同时,您还可以规定应用不得执行哪些操作
  • 设计开场白、推荐问以及追问,使应用更加利于使用

最后,您可以点击发布选项发布您创建的应用
接下来来到你的个人空间

您可以获取到您创建的应用的应用id,并且在个人主页中获取到自己的appbuilder-api
接下来将展示如何使用Appbuilder-SDK来调用您创建的应用

惊艳亮相!在Appbuilder前端界面,使用您亲手打造的成语接龙应用

超越界面限制!用Appbuilder-SDK灵活调用你的Agent应用,解锁代码态全新玩法

除了在Appbuilder的前端网页使用我们创建好的Agent应用,我们还可以使用Appbuilder-SDK实现代码态的调用Agent应用,接下来将展示如何使用Appbuilder-SDK实现代码态的调用Agent应用

配置您的api-key和app-id

# 安装appbuilder-sdk
!pip install appbuilder-sdk
import os
import appbuilder

# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5
os.environ["APPBUILDER_TOKEN"] = "密钥"
# 自己创建的应用对应的id
app_id='应用id'

使用Appbuilder-SDK调用您创建的应用机器人

player = appbuilder.AppBuilderClient(app_id)
conversation_id = player.create_conversation()
i=1
while i<=10:
    print("----------第%d轮比拼----------" % (i,))
    q = str(input("请输入成语: "))
    msg = player1.run(conversation_id, q)
    answer = msg.content.answer
    print("成语接龙机器人: ", answer)
    i+=1

探索AI边界!用Appbuilder-SDK让应用自我对话,ERNIE模型性能一测便知

除了实现用户与Agent应用进行交互,我们还可以实现Agent应用的自我问答,我们甚至可以通过调用不同的模型通过Agent应用的自我问答来测试不同的模型性能。
我们可以创建两个应用,分别调用ERNIE-4和ERNIE-3.5模型进行循环测试

class IdiomSolitaire:
    def __init__(self, real_player, app_id1, app_id2):
        self.player1 = appbuilder.AppBuilderClient(app_id1)
        self.player2 = appbuilder.AppBuilderClient(app_id2)
        self.real_player = real_player

    def run(self):
        conversation_id1 = self.player1.create_conversation()
        conversation_id2 = self.player2.create_conversation()
        if self.real_player:
            print("---------游戏开始,请输入一个成语---------")
            q = str(input("真实玩家: "))
        else:
            q = "龙年大吉"
        i = 1
        while True:
            print("----------第%d轮比拼----------" % (i,))
            msg = self.player1.run(conversation_id1, q)
            answer = msg.content.answer
            print("LLM玩家1: ", answer)
            # answer作为下一个玩家的输入
            q = answer

            msg = self.player2.run(conversation_id2, q)
            answer = msg.content.answer
            print("LLM玩家2: ", msg.content.answer)
            q = answer
            if self.real_player:
                q = str(input("真实玩家: "))
            i += 1

# 无真实玩家
def main1():
    idiom_solitaire = IdiomSolitaire(False, app_id1,app_id2)
    idiom_solitaire.run()


# 真实玩家
def main2():
    idiom_solitaire = IdiomSolitaire(True,app_id1,app_id2)
    idiom_solitaire.run()


if __name__ == "__main__":
    app_id1='ERNIE-4-app-id'
    app_id1='ERNIE-3.5-app-id'
    main1()
    # main2()

为我们的应用加点料!轻松添加多样组件,让Appbuilder创造更多可能!

除了调用我们已经创建好的Agent应用,Appbuilder-SDK还支持拓展组件的调用,通过添加组件让我们的应用更加富有活力

Appbuilder-SDK新技能解锁!短文本在线合成语音,TTS组件助你实现语音交互新体验!

tts = appbuilder.TTS()
cwd = os.getcwd()

Generate_text="生成的成语文本"

# 使用baidu-tts模型, 默认返回MP3格式
inp = appbuilder.Message(content={"text": Generate_text})
out = tts.run(inp)
mp3_sample_path = os.path.join(cwd,"result.mp3")
with open(mp3_sample_path, "wb") as f:
    f.write(out.content["audio_binary"])
print("成功将文本转语音,mp3格式文件已写入:{}".format(mp3_sample_path))

Appbuilder-SDK玩法大揭秘!更多趣味组件等你探索,尽享创意开发新乐趣!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值