赞
踩
近期,贴吧上的AI对话机器人备受欢迎,热度极高。那么如何构建我们自己的AI对话机器人呢?那么我今天就拿我们LPL现在的当红选手jackeylove来举个例子。
这部分你不需要任何的代码基础,只需要会使用鼠标就可以
打开百度appbuilder官网,点击立即使用,这里我们可以点击左上角的创建应用,但是我们都是懒蛋,怎么可能自己去创建呢(自己设计提示词Prompt可太累了吧)?直接告诉appbuilder我要创建什么样的AI
appbuilder会为你创建一个Jackeylove选手问答机器人,让我们点开来看看吧
可以看到appbuilder已经为我们创建好了对话机器人,但是因为我们没有添加组件和知识库,机器人对我们的问题的回答是不符合我们预期的(它只是介绍了自己是一位职业选手,但是并没有其他的信息)
这个时候我们只需要在组件中添加百度搜索组件就可以让我们的机器人更加生动
接下来的对话就更加的充实与真实了
大家是不是觉得在提到jackeylove选手的时候这些对话过于平淡了,是的,我们现在得串起来了
(将组件中的百度搜索去掉「哼!谁需要你的这些荣誉信息,谁不知道一样的」),来到我们LPL的“后花园”——抗压背锅吧找找我们的需求吧。(果然没有让我们失望)
我们选取我们需要的帖子,并点击进去复制每个帖子的url,回到appbuilder主界面,进入我们的个人空间,进入知识库
点击创建知识库,填写相关的信息。并选择读取url链接信息(我这里每一个url选择不自动更新),将我们刚才选中的帖子的url复制入url栏中
我这里选了五个比较合适的贴子作为知识库,之后我们只需要点击一键解析,appbuilder就可以把帖子中的信息解析成知识库啦,之后我们点击确认创建,jackeylove选手的知识库我们呢就创建好了。接下来回到我们的机器人界面,将我们创建的知识库添加到机器人的知识库中(因为我们jackeylove选手的外号太多了,我怕大模型无法识别,因此重新改了一下提示词Prompt),接下来我们再和jackeylove选手对话。
哈哈,认错态度还挺积极
还挺理性的啊!
最后,我们只需要点击发布,就可以在自己的个人空间看到我们自己创建的对话机器人啦
注意: Appbuilder还提供了代码态的智能体构建
您可以获取到您创建的应用的应用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实现代码态的知识库挂载。
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实现知识库修改的文档
可直接查看文档了解用法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。