【有手就行】使用appbuilder打造你自己的贴吧对话机器人

【有手就行】使用appbuilder打造你自己的贴吧对话机器人

近期,贴吧上的AI对话机器人备受欢迎,热度极高。那么如何构建我们自己的AI对话机器人呢?那么我今天就拿我们LPL现在的当红选手jackeylove来举个例子。

无代码态

这部分你不需要任何的代码基础,只需要会使用鼠标就可以

Step 1 对话机器人创建

打开百度appbuilder官网,点击立即使用,这里我们可以点击左上角的创建应用,但是我们都是懒蛋,怎么可能自己去创建呢(自己设计提示词Prompt可太累了吧)?直接告诉appbuilder我要创建什么样的AI
请添加图片描述
appbuilder会为你创建一个Jackeylove选手问答机器人,让我们点开来看看吧
请添加图片描述

Step 2 对话机器人设计

可以看到appbuilder已经为我们创建好了对话机器人,但是因为我们没有添加组件和知识库,机器人对我们的问题的回答是不符合我们预期的(它只是介绍了自己是一位职业选手,但是并没有其他的信息)
请添加图片描述
这个时候我们只需要在组件中添加百度搜索组件就可以让我们的机器人更加生动请添加图片描述
接下来的对话就更加的充实与真实了
请添加图片描述

Step 3 创建知识库并使用请添加图片描述

大家是不是觉得在提到jackeylove选手的时候这些对话过于平淡了,是的,我们现在得串起来了
(将组件中的百度搜索去掉「哼!谁需要你的这些荣誉信息,谁不知道一样的」),来到我们LPL的“后花园”——抗压背锅吧找找我们的需求吧。(果然没有让我们失望)请添加图片描述
我们选取我们需要的帖子,并点击进去复制每个帖子的url,回到appbuilder主界面,进入我们的个人空间,进入知识库
请添加图片描述
点击创建知识库,填写相关的信息。并选择读取url链接信息(我这里每一个url选择不自动更新),将我们刚才选中的帖子的url复制入url栏中请添加图片描述
我这里选了五个比较合适的贴子作为知识库,之后我们只需要点击一键解析,appbuilder就可以把帖子中的信息解析成知识库啦,之后我们点击确认创建,jackeylove选手的知识库我们呢就创建好了。接下来回到我们的机器人界面,将我们创建的知识库添加到机器人的知识库中(因为我们jackeylove选手的外号太多了,我怕大模型无法识别,因此重新改了一下提示词Prompt),接下来我们再和jackeylove选手对话。请添加图片描述
哈哈,认错态度还挺积极请添加图片描述
还挺理性的啊!
最后,我们只需要点击发布,就可以在自己的个人空间看到我们自己创建的对话机器人啦

代码态

注意: Appbuilder还提供了代码态的智能体构建

调用我们创建好的app

您可以获取到您创建的应用的应用id,并且在个人主页中获取到自己的appbuilder-api
接下来将展示如何使用Appbuilder-SDK来调用您创建的应用(小编求求大家为我们的SDK点上一个star,磕头了,砰!砰!砰!,在使用过程中出现的问题也可以直接Issues)

用appbuilder-sdk灵活调用我们创建好的的Agent应用

!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'
jackeylove = appbuilder.AppBuilderClient(app_id)
conversation_id = jackeylove.create_conversation()
i=1
while True:
    print("----------第%d轮对话----------" % (i,))
    q = str(input("请输入您想对jackeylove说的话: "))
    msg = jackeylove.run(conversation_id, q)
    answer = msg.content.answer
    print("jackeylove: ", answer)
    i+=1

应用的调用文档具体操作方法可以查看appbuuilder-sdk应用调用文档

文字算什么意思,给我用语音回答

appbuilder-sdk支持appbuilder平台的各种组件调用,我们在这里展示TTS组件的使用

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


# 使用baidu-tts模型, 默认返回MP3格式
jackeylove = appbuilder.AppBuilderClient(app_id)
conversation_id = jackeylove.create_conversation()


q = str(input("请输入您想对jackeylove说的话: "))
msg = jackeylove.run(conversation_id, q)
answer = msg.content.answer
print("jackeylove: ", answer)
inp = appbuilder.Message(content={"text": answer})
out = tts.run(inp)
mp3_path = os.path.join(cwd,"jackeylove.mp3")
with open(mp3_path, "wb") as f:
    f.write(out.content["audio_binary"])
print("成功将jackeylove的文本转语音,mp3格式文件已写入:{}".format(mp3_path))

assistant-sdk还更多趣味组件等你探索。之前展示的baidu搜索组件也在 其中哟。

使用appbuilder-sdk实现外部知识库的挂载

之前我们在无代码态实现了外部知识库的挂载,接下来将展示如何使用appbuilder-sdk实现代码态的知识库挂载。

  • 使用代码态的好处就是可以与爬虫等框架相结合,实现批量的url抓取并将信息怪哉到知识库中,从而创建自己的应用
import appbuilder
import os
import requests

# 请前往千帆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"] = "..."

# 初始化已有线上知识库,dataset_id 可在平台console中查看获取,详情可在下方初始化参数部分查看
dataset_id = "..."
dataset = appbuilder.console.Dataset(dataset_id)
# 或创建全新知识库
dataset = appbuilder.console.Dataset.create_dataset("my_dataset")

file_url = '需要挂在的网页url'
file_data = requests.get(file_url).content
file_path = "./jackeylove.pdf"  # 待解析的文件路径
with open(file_path, "wb") as f:
    f.write(file_data)

# 上传文档到知识库
file_paths = ["./jackeylove.pdf"]
document_infos = dataset.add_documents(file_paths)
print(document_infos)

appbuilder-sdk实现知识库修改的文档

appbuilder-sdk其余功能

可直接查看文档了解用法

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值