详测字节的“扣子”Coze :快速搭建对接企业私有知识与CRM系统的AI助手机器人

技术

picture.image

picture.image

点击上方

蓝字 关注我们

picture.image

picture.image

现在,如果想开发一个AI Agent(AI智能体 、AI Bot),大概会有两种主要的技术选择:

  • 借助相对底层的LLM应用开发框架。 代表性的为LangChain、微软的AutoGen以及LlamaIndex。这类框架的特点是相对复杂,技术能力要求较高;但是功能强大,能够适应任意复杂场景,从简单的RAG应用、到增强Self-RAG、到Multi-Agent系统;具备强大的兼容能力,包括不同的模型、向量库、外部工具、文档格式等;并且可以自由地私有化部署。
  • 借助一站式的AI Bot构建平台或SaaS应用。 最具代表性的如OpenAI的GPTs Builder,字节跳动的Coze,以及一些第三方的LLM应用构建的SaaS。特点是通常提供可视化的应用设计与编排工具,技术门槛较低,虽然不至于“有手就会”,但的确在大部分场景下可以快速定制AI Agent;存在的问题是一些复杂的应用可能无法适应、开放与兼容性不够、且通常无法私有部署。

picture.image

本期应一些小伙伴的要求,来实际体验下字节跳动前段时间推出的”扣子“ -- Coze,一个独立的在线AI Bot开发平台。虽然复杂度无法和LangChain这样的重量级框架相比,但我们尽量尝试在场景中去覆盖更多的Goze独有能力,比如自定义插件、工作流等。

01

· 测试场景 ·

我们设计一个用于企业内部员工使用的AI工作助手,提供公司内部的人事行政制度/产品等咨询服务;并且对接到公司的CRM系统,可以通过对话随时查询公司客户信息。基本工作流程如下图:

picture.image

借助这个场景,来体验Coze平台的:

  • 基本的AI Bot构建逻辑
  • 大模型能力(目前仅支持云雀)
  • RAG应用构建:知识导入与检索
  • 自定义 工具与使用(插件)

02

·构建AI Bot ·

在Coze上构建这个AI Bot的过程为:

picture.image

【2.1 - 准备工作】

  • 大模型: 使用Coze平台内置云雀大语言模型
  • 知识文档: 准备私有知识文档,比如公司的人事行政制度文档、产品介绍、销售技巧与话术文档等,用来给机器人学习并生成解答
  • CRM接口:

为了能够提供客户管理的AI能力,需要企业CRM系统开放相关的API查询接口,这里我们在云端部署一个查询客户信息的简单FastAPI接口。该接口提供电话号码查询客户信息的功能:

picture.image

【2.2 - 创建知识库】

搭建过RAG应用的应该了解这一步,无非是创建或导入各种文档,并由Coze完成拆分与向量化存储,用于后续语义检索。目前Coze大致支持导入以下来源与格式的知识:

  • 文本/表格格式的本地文档,Txt/pdf/docx/xlsx/csv等
  • 通过URL采集网站内容,可以自行采集或者自动采集
  • 飞书文档或者表格
  • 自定义创建,即自己输入文档或表格内容

这里导入一个公司的员工手册,用以后续提供咨询服务:

picture.image

导入成功后,可以在知识库单元中看到你的知识是如何被拆分(用于向量化),在导入时可以根据需要自行对部分规则进行调整,比如段落大小等:

picture.image

Coze目前的知识库管理能够满足基本需求,当然后续也可以考虑增强以下常见的功能,以增强检索召回的精度:

  • 借助LLM生成知识的模拟问答对
  • 单个块的多索引机制
  • 知识块召回的测试功能

【2.3 - 创建插件】

接下来需要创建对接我们CRM系统API的插件。在Coze平台中, 插件并不是指一个单独的API,而是一系列具有相同基础URL的API工具的集合

picture.image

这里首先创建一个 客户管理 的插件,其中比较重要的信息是:

  • 插件描述 :帮助大模型更好的判断何时使用插件。
  • 授权方式 :API调用的安全机制,比如API-key等。

picture.image

然后在插件里添加一个工具,即一个具体API调用的定义,包括描述、API端点、输入、输出参数等,借助Coze这一步可以轻松完成,此处不再详细介绍,记得在配置最后,通过在线调试与校验验证连通性。

picture.image

【2.4 - 创建工作流】

这也是我们认为Coze平台上最强大的部分,当然也建议使用者有一定的技术基础。 简单地说,工作流就是把大模型调用、已经配置的知识库、已经配置的插件、自定义代码、甚至其他工作流等组合在一起,编排好稳定的工作流程,以提供给其他工作流或者机器人直接使用。

工作流的特点是:

  • 可以灵活地编排工作流,以满足复杂业务需求
  • 具有更好的可控性。 直接让大模型自行决定知识库与各种工具访问的“黑盒”机器人,更容易出现“开盲盒”的结果;而自行编排流程,可以对其中的每个步骤、输入输出做更好的定义、判断与控制。

工作流在每个Bot的构建过程中并不是必须的,其更加适合:

相对复杂的任务场景。比如任务过程的步骤较多、涉及较多知识库与插件的使用、需要更高的过程精确控制能力。

我们将在下面创建机器人时区分【不使用工作流】与【使用工作流】两种方式分别介绍。这里首先针对上面的场景配置简单的工作流备用,需要采用的Coze工作流节点如下:

picture.image

具体的节点配置参考如下:

picture.image

picture.image

工作流配置完成后,点击右上方 【试运行】 ,输入启动工作流的信息,比如:“ 查询电话号码为136xxxx2878的客户信息 ”。此时,可以看到工作流在各个节点之间开始“流动”执行,经过且执行成功的节点Title背景会变成绿色,点击“展开运行结果”,可以看到本节点的输出结果,方便调试:

picture.image

在试运行成功后,可以点击 【发布】 按钮,将工作流发布到自己的工作空间。

【2.5 - 创建BOT】

在完成知识库、插件、工作流这些技能的配置后,最后来创建AI机器人。点击主页的【 创建Bot】 按钮,即进入机器人的设计过程。

1. 设定大模型: 此处暂时无法选择,只能是“云雀语言模型“

2. 设定基本信息: 包括bot名称、图表、功能介绍等,比如:

picture.image

3. 设定人设与逻辑

*** 如果不使用工作流**

这部分非常重要。特别是在没有使用工作流精确编排与控制任务流程时,由于需要大模型自动地根据问题来选择不同的技能(知识库、插件、数据库等)来完成问答任务,这就需要在此处的人设与逻辑设定良好的Prompt,以指导机器人如何选择工具来完成任务。这里我们设定的Prompt如下:


        
            

          # 角色  
你是一个聪明的工作助手,可以智能、简洁地回答关于公司人事行政制度、公司产品信息、公司客户信息相关的问题。对于其他无关的问题,你会回答:“很抱歉,我暂时还无法解答您的问题。”  
  
## 技能  
### 技能 1:查询公司人事行政制度、产品信息等  
- 调用recallKnowledge方法,从知识库“人事政策”中引用关联知识并回答  
  
### 技能 2:根据电话号码查询客户基本信息  
- 使用插件“我的客户管理”来完成  
  
### 技能 3:根据电话号码保存/查询客户的拜访记录  
- 使用“数据库”功能来完成  
  
## 限制  
- 只回答与公司人事行政制度、公司产品信息、公司客户信息相关的问题,拒绝回答其他问题  
- 回答问题时尽量简洁明了
        
      

注意到,此处的知识库使用“按需调用”,即指定什么情况下调用recallKnowledge方法来检索参考知识。

*** 如果使用工作流**

当使用工作流时,由于把知识库、插件、大模型的使用与组合逻辑及流程编排在工作流中进行控制,因此对于机器人的设定就可以相对简单,直接要求它使用工作流完成任务即可:


        
            

          # 角色  
你是一个聪明的工作助手,可以智能、简洁地回答关于公司人事行政制度、公司产品信息、公司客户信息相关的问题。对于其他无关的问题,你会回答:“很抱歉,我暂时还无法解答您的问题。”  
  
## 技能  
请直接使用工作流 workassistant 回答问题。
        
      

4. 设定机器人的技能

Coze支持的机器人主要技能包括以下类型:

【技能 - 工作流】

允许选择已经创建编排好的工作流作为技能之一。因此这里分两种情况:

*** 如果不使用工作流**

则此处无需配置,但是需要参考下方配置知识库与插件的使用

*** 如果使用工作流**

选择上面配置的工作流作为技能即可,无需配置知识库与插件技能(已经编排到工作流中):

picture.image

【技能 - 知识库】

选择机器人可以使用的知识库,并设定相关的参数,比如检索方式(语义检索、全文检索、混合检索)、召回知识数量等、调用方式(自动调用、按需调用等),此处配置使用前面创建的知识库:

picture.image

【技能 - 插件】

可以从插件商店查找,或者使用自定义插件,这里使用前面创建的客户管理插件:

picture.image

【技能 - 数据库】

这个技能无需事先配置,直接在这里指定即可。简单地说就是 可以自行设计一个关系型数据库的表格,并告诉机器人(LLM)如何使用该表格中的信息。 比如我们设计一个保存客户拜访记录的表格:

picture.image

然后可以通过Prompt指示机器人智能的使用这个表格来保存与查询客户拜访记录。当然目前这个功能还比较简单,只能创建一个表,更适合记录一些待办事项、笔记等。对于复杂的需求,建议还是通过插件结合API的方式来实现。

【技能 - 其他设定】

设定机器人的开场白、问题建议、语音(如果需要)等。此处我们不设定。

至此,我们就完成了一个简单的AI Bot的全部配置过程。

03

· 预览与测试 ·

在AI Bot的编排界面上可以直接预览与测试,下面我们针对以上两种方式配置的Bot进行测试。

*** 不使用工作流**

这种情况下,流程的正常运行依赖于大模型来决策工具的使用,由于LLM的天然不确定性, 在实际使用中,需要根据测试的结果进行不断的优化,特别是人设与回复逻辑的Prompt提示信息,以达到最佳效果。 这里可以看到构建的AI Bot在我们的提示下能够正确的选择工具使用:

  • 咨询公司制度,选择了工具“知识库”(recallKnowledge)

picture.image

  • 查询客户信息,选择工具“插件”(客户管理插件)

picture.image

  • 客户拜访记录访问,选择了工具“数据库”(tableMemory)

picture.image

*** 使用工作流**

这种情况下,由于在工作流内对工具的使用进行了控制,因此对于机器人来说,只要把任务交给工作流完成即可,因此看到的细节过程就比较简单,直接调用workassistant这个工作流即可。

picture.image

04

· 发布到微信公众号 ·

在AI Bot测试完成后,可以进行发布,在Coze平台上创建的机器人,目前支持发布或对接到以下平台:

  • 豆包(字节跳动AI机器人商店)
  • 飞书
  • 微信客服
  • 微信公众号
  • 掘金社区AI聊天室

此处我们对接到一个微信公众号看一下效果(必须是认证服务号),根据Coze的官方文档进行简单的微信公众号后台与Coze配置,然后在发布界面选择微信公众号即可把创建的Bot对接到公众号。

然后可以通过公众号与机器人助手对话:

picture.image

05

· 结束语 ·

以上,我们演示使用字节的Coze平台创建一个简单的AI智能体过程。尽管在场景设计中试图涵盖Coze的大部分能力,但仍有一些细节并未深入验证,比如工作流中的自定义代码等。整体来说, Coze的易用性、工作流编排、独特的本地数据库、插件机制 等方面给我们留下了较深的印象;当然也期待未来Coze能够在RAG应用增强、底层大模型的开放、多模态技能、多智能体系统等方面有进一步的改善与升级。

picture.image

picture.image

最后推荐一本最近火热的LLM应用开发的入门手册。注意,如果你是一个具备丰富LLM开发经验的大神,这本书并不适合你;但如果你是一名跃跃欲试的初学者,这本书很好的提供了一份关于LLM开发的全面且深入浅出的“最小可用知识”集。

picture.image

点击了解:这本书太好了!150页就能让你上手大模型应用开发

picture.image

picture.image

END

点击下方关注我,不迷路

交流请识别以下名片并说明来源

picture.image

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论