以下是搭建一个答疑对话流智能体的教程,有用到python代码,源码有给出,步骤极尽清晰,如觉繁琐可自行调整

一、智能体的创建

打开扣子官网并登录:扣子官网

创建智能体并命名

点击智能体开发在这里插入图片描述
输入智能体名称这些
在这里插入图片描述
点击确定后进入下一步

选择智能体模式,并点击创建对话流

在这里插入图片描述

点击添加对话流
在这里插入图片描述
会弹出这个页面,此时因为之前没有对话流,所以选择创建对话流
在这里插入图片描述
这里要输入对话流名称等信息
在这里插入图片描述
输入完毕点击确认,进入下一步

搭建对话流的工作流

先附上最终成效:
在这里插入图片描述

这是刚进来的页面:在这里插入图片描述
步骤2~10为插件的创建步骤
步骤14~18为知识库的创建步骤

  1. 先点击添加节点在这里插入图片描述

  2. 点击插件在这里插入图片描述

  3. 因为之前没创建过插件所以继续点击创建插件 在这里插入图片描述

  4. 会跳转到这里,这样选择在这里插入图片描述

  5. 弹出的创建框,填写相关信息,并点击确认在这里插入图片描述

  6. 到该页面后继续点击按钮在这里插入图片描述

  7. 因之前没添加过工具,点击添加工具
    在这里插入图片描述

  8. 进入页面,将代码粘贴到此处在这里插入图片描述
    这里需要注意,如果工具命名为tool1则代码第二行是
    from typings.tool1.tool1 import Input, Output

from runtime import Args
from typings.tool1.tool1 import Input, Output

"""
Each file needs to export a function named `handler`. This function is the entrance to the Tool.

Parameters:
args: parameters of the entry function.
args.input - input parameters, you can get test input value by args.input.xxx.
args.logger - logger instance used to print logs, injected by runtime.

Remember to fill in input/output in Metadata, it helps LLM to recognize and use tool.

Return:
The return data of the function, which should match the declared output parameters.
"""



def handler(args: Args):
    query = args.input.query.strip()

    origin_query = query
    # 1. 定义各意图的关键词与对应回复
    intent_config = {
        "greeting": {
            "keywords": ["你好", "您好", "哈喽", "嗨", "早上好", "下午好", "晚上好", "再见", "拜拜", "晚安", "回见"],
            "response": {
                "greet": "你好呀~有什么可以帮到你?",
                "farewell": "拜拜~期待下次和你交流!"
            }
        },
        "rengong": {
            "keywords": ["转人工", "人工客服", "联系人工", "我要找人工"],
            "response": "已为你转接人工客服,请耐心等待~"
        }
    }

    # 2. 匹配打招呼/再见意图
    if any(kw in query for kw in intent_config["greeting"]["keywords"]):
        # 区分打招呼和再见
        if "再见" in query or "拜拜" in query or "晚安" in query or "回见" in query:
            resp = intent_config["greeting"]["response"]["farewell"]
        else:
            resp = intent_config["greeting"]["response"]["greet"]
        return {
            "type": "greeting",
            "response": resp,
            "qqqq": origin_query
        }

    # 3. 匹配转人工意图
    elif any(kw in query for kw in intent_config["rengong"]["keywords"]):
        return {
            "type": "rengong",
            "response": intent_config["rengong"]["response"],
            "qqqq": origin_query
        }

    # 4. 其他情况:调用大模型
    else:
        return {
            "type": "llm",
            "response": "无",
            "qqqq": origin_query
        }
  1. 点击元数据然后填写参数,注意如果用了我的代码一定要照着我的参数填写!!在这里插入图片描述

  2. 填写后在此处输入数据:{“query”: “你好”} 然后点击运行,没问题即可点击发布在这里插入图片描述
    在这里插入图片描述

  3. 在对话流中选择刚刚创建的插件在这里插入图片描述

  4. 连接两个节点,并调整插件输入值在这里插入图片描述在这里插入图片描述

  5. 参照添加插件,添加一个选择器,并调整数据
    在这里插入图片描述
    在这里插入图片描述

  6. 点击添加知识库检索节点并为该节点添加知识库在这里插入图片描述 在这里插入图片描述

  7. 如果没有知识库则创建知识库在这里插入图片描述

  8. 设置知识库参数在这里插入图片描述
    在这里插入图片描述
    这里是我准备的文件内容:
    在这里插入图片描述

  9. 将准备好的xlsx文件上传在这里插入图片描述

  10. 勾选解析的索引在这里插入图片描述点击下一步后可以看到预览效果:在这里插入图片描述
    然后点击确认:在这里插入图片描述

  11. 返回对话流将刚刚创建好的知识库添加上在这里插入图片描述
    这个是添加好的样子:
    在这里插入图片描述

  12. 添加一个新的选择器,将新的选择器与刚刚的知识库检索连接起来并设置值:在这里插入图片描述
    这里看下值要求设置成不为空:在这里插入图片描述

  13. 添加两个大模型节点在这里插入图片描述

  14. 设置闲聊大模型名称及输入值在这里插入图片描述
    系统提示词也要进行设置:在这里插入图片描述
    23.设置另一个大模型指定知识库输出内容
    在这里插入图片描述
    提示词也要进行设定在这里插入图片描述

  15. 将模型节点和第一个选择器节点都连接上结束节点,并设置输出变量在这里插入图片描述
    在这里插入图片描述

  16. 试运行:现在是一个完整的工作流了,点击试运行我们来检验下效果
    在这里插入图片描述在这里插入图片描述

  17. 点击发布在这里插入图片描述

添加搭建好的工作流到对话流配置中

在这里插入图片描述
搭建好后会弹出这个,可以直接点击确认,然后试运行一下看看效果,没问题则点击发布:
在这里插入图片描述

二、将智能体发布到公众号

在发布智能体时,勾选微信——微信订阅号在这里插入图片描述
点击配置,弹出弹框,将公众号的appid复制到这里
在这里插入图片描述
如果没有微信公众号,可以注册一个,这里是微信公众号链接微信公众号平台

注册完毕后可以在账号信息——账号详情中看到AppID
在这里插入图片描述
将appid复制到配置框中,然后扫码验证即可。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐