10分钟在企业微信中集成一个 AI 助手

在阿里云上,您只需 10 分钟,无需任何编码,即可为您的组织在企业微信上集成一个有大模型能力加成的 AI 助手。这个助手可以全天候(7x24)响应用户咨询,还能解答私域问题,成为您企业的专属助手,提升用户体验,增强业务竞争力。

方案概览

在企业微信中集成一个 AI 助手,只需几步:

  1. 创建大模型问答应用:通过百炼创建一个大模型应用,并获取调用大模型应用 API 的相关凭证。

  2. 创建企业微信应用:创建一个企业微信应用,为您的企业微信组织提供问答服务。

  3. 创建企业微信连接流:基于阿里云的 AppFlow 服务,在无需编写代码的情况下,完成企业微信应用和百炼 RAG 应用的关联,最终实现用户在企业微信聊天中和 RAG 应用对话。

  4. 配置企业微信应用:为企业微信应用配置接收消息,即可在聊天中回答用户问题。

  5. 为大模型问答应用增加私有知识:开启知识检索增强(RAG),为大模型问答应用增加知识库,让 AI 机器人能回答私有领域的问题,帮助您更好地应对用户咨询。

image

b681241d-ee05-4416-a3f9-52bca113ff81

1. 创建大模型问答应用

首先我们可以通过创建一个百炼应用,来获取大模型的推理 API 服务,用于实现 AI 助手。

百炼提供的新用户免费额度可以完全覆盖本教程所需资源消耗。额度消耗完后按 token 计费,相比自行部署大模型可以显著降低初期投入成本。

1.1 创建应用

  1. 进入百炼控制台的我的应用在页面右侧点击新增应用。在对话框,选择智能体应用并创建。2024-09-22_11-25-00

  2. 应用设置页面,模型选择通义千问-Plus,其他参数保持默认。

    您也可以选择输入一些 Prompt,比如设置一些人设以引导大模型更好的应对客户咨询。
    你叫小助,可以帮助用户解答产品选购、使用等方面的问题。

    image

  3. 在页面右侧可以提问验证模型效果。不过您会发现,目前它还无法准确回答你们公司的商品信息。点击右上角的发布,我们将在后面的步骤中去解决这一问题。 image.png

1.2 获取调用 API 所需的凭证

为了在后续通过 API 调用大模型应用的能力,我们需要获取一个百炼应用的 API-KEY 和应用 ID:

  1. 在应用列表中可以查看所有百炼应用 ID。保存应用 ID 到本地用于后续配置。2024-09-18_17-38-41

  2. 在顶部导航栏右侧,点击人型图标,点击API-KEY进入我的API-KEY页面。在页面右侧,点击创建我的API-KEY,在弹出窗口中创建一个新 API-KEY。保存 API-KEY 到本地用于后续配置。2024-09-18_17-23-56

2 创建企业微信应用

接下来您需要在您的组织中创建应用,作为 AI 助手回答用户问题。

2.1 创建应用

  1. 访问企业微信开发者中心,扫码登录,点击立即创建。根据指引选择以企业身份创建企业内部应用2024-08-12_16-48-56

  2. 在顶部导航栏中,选择应用管理,在应用页面下半部分点击创建应用2024-08-12_17-50-42

  3. 创建应用页面,填写应用名称应用介绍,上传应用 logo,选择可见范围,完成后点击创建应用2024-08-12_17-53-01

2.2 获取企业 ID、应用 AgentId 和 Secret

  1. 在应用详情页面,复制 AgentID,并查看 Secret,用于下一步创建连接流。

    2024-08-12_17-56-23

  2. 在顶部导航栏中,选择我的企业,在企业信息页面,复制企业 ID,用于下一步创建连接流。2024-08-12_18-04-56

3. 创建企业微信连接流

AppFlow 可以让您在不写代码的情况下,通过界面配置就可以将百炼 RAG 应用和企业微信连接起来。您可以通过预置的 AppFlow 模板创建一个企业微信连接流。

  1. 使用AppFlow模板创建连接流,点击立即使用进入创建流程。2024-08-13_16-22-35

  2. 在连接流的账户授权配置向导页,点击前往授权。在创建凭证对话框中,填入之前获取的企业微信的企业ID,应用的 AgentId 和 Secret,点击按钮生成的 Token 和 EncodingAESKey,并设置一个自定义凭证名称。同时复制保存 IP 白名单,用于下一步配置 IP 白名单。2024-09-03_11-34-01

  3. 在连接流的账户授权配置向导页,点击前往授权。在创建凭证对话框中,填入之前获取的 API-KEY,并设置一个自定义凭证名称。2024-08-13_18-04-15

  4. 执行动作配置向导页,填写应用Id应用Id可以在百炼控制台我的应用获取,完成后点击下一步2024-08-13_18-06-24

  5. 基本信息配置向导页,填写连接流名称连接流描述(建议保持默认),完成后点击下一步

  6. 界面提示流程配置成功,复制 WebhookUrl,点击发布2024-08-13_18-07-20

4. 配置企业微信应用

有了 Webhook 地址后,接下来您可以在企业微信应用中配置接收消息来回答用户问题了。

4.1 配置企业微信应用

  1. 访问企业微信应用列表。找到刚刚创建的应用,点击应用名称进入详情页面。

  2. 在应用详情页面,找到接收消息卡片,点击设置API接收2024-08-12_17-54-59

  3. API接收消息页面,您可以参考下图完成配置。URL填入上一步的 WebhookUrl,Token 和 EncodingAESKey 填入上一步配置的值(如果之前未保存,可以在AppFlow连接凭证页面,在公共连接器>企业微信中,找到刚刚配置的凭证,从凭证中获取)。然后点击保存

    2024-08-12_18-06-33

    2024-08-21_10-06-30

4.2 配置 IP 白名单

  1. 在应用详情页面,在页面下方开发者接口找到企业可信IP卡片,点击配置2024-08-12_22-13-09

  2. 在企业可信IP对话框,粘贴复制的 IP 地址,然后点击确定

4.3 测试应用

你可以在企业微信中搜索应用并发送消息,查看效果。

  1. 在企业微信顶部搜索框搜索应用名称,点击应用进入聊天。2024-08-12_22-23-04

  2. 与应用对话,进行交流互动。2024-08-12_22-23-58

5. 为大模型问答应用增加私有知识

5.1 配置知识库

接下来,我们可以尝试让大模型在面对客户问题时参考这份文档,以产出一个更准确的回答和建议。

假设您在一家售卖智能手机的公司工作。您的企业微信用户会有很多涉及智能手机相关的问题,如支持双卡双待、屏幕、电池容量、内存等信息。不同机型的详细配置清单参考:百炼系列手机产品介绍.docx

  1. 上传文件:在百炼控制台的数据管理中点击导入数据,根据引导上传我们虚构的百炼系列手机产品介绍:

    根据您上传的文档大小,百炼需要一定时间解析,通常占用1~6分钟,请您耐心等待。

    image.png

  2. 建立索引:进入知识索引,根据引导创建一个新的知识库,并选择刚才上传的文件,其他参数保持默认即可。知识库将为上一步骤中准备的文档建立索引,以便后续大模型回答时检索参考。image

    选择向量存储类型时,如果您希望集中存储、灵活管理多个应用的向量数据,可选择ADB-PG

    image

    image

  3. 引用知识:完成知识库的创建后,可以返回我的应用进入到刚才创建的应用设置界面,打开知识检索增强开关、选择知识库,测试验证符合预期后点击发布。Prompt 中会被自动添加一段信息,以便大模型在后续回答时参考检索出来的信息。

    image

5.2 检验效果

有了参考知识,AI 应用就能准确回答您关于百炼手机的问题了。2024-08-12_22-24-56

总结

通过前面的学习,您已经能搭建一个大模型 RAG 应用,并且将其以应用的形式添加到企业微信中来应对客户咨询,过程仅需 0 元(免费试用额度内)10分钟。

应用评测

建议您在正式上线 AI 应用前,组织业务人员一起参与应用评测,确保大模型应用的回答效果符合预期。如果不符合预期,可以通过优化提示词、完善补充私有知识、调整文档切分策略等方法来改进回答效果。

持续改进

大模型课程

系统体验的改进优化永远没有终点,您可以考虑学习并通过阿里云大模型ACA认证,该认证配套的免费课程能帮助您进一步了解大模型的能力和应用场景,以及如何优化通过大模型的应用效果。

常见问题

域名主体校验未通过怎么办?

当您在企业微信后台配置 API 接收消息,报错提示“域名主体校验未通过,需配置备案主体与当前企业主体相同或有关联关系的域名”时。

如果您的域名已在阿里云备案,您可以提交工单,联系我们客服人员,提供连接流 ID、自定义域名,帮您配置并使用您企业的自有域名。

如果您的域名没有在阿里云备案,您可以配置API接收消息为您自有的域名,并在您自有域名对外提供服务的Nginx上配置转发规则,将请求转发到连接流的WebhookUrl2024-08-12_18-06-33

配置企业可信 IP 时,报错“以下IP属于第三方服务商,为保证企业数据安全,请配置本企业服务器的IP”?

报错原因:企业微信出于安全考虑,调用通讯录、身份校验接口时需要校验可信域名和可信 IP,其中一个可信 IP 仅能用于企业微信中的一个企业,如果用于多个企业将被认定为服务商,从而导致通讯录、身份校验等接口不可用。

如果您有阿里云的云服务器 ECS,您可以使用阿里云服务器进行请求转发,解决可信 IP 的问题:

  1. 修改 AppFlow 中配置的企业微信的连接凭证,2024-09-04_14-19-00

  2. 修改内容:勾选内网代理,选择对应地域和实例, 点击保存。

    2024-09-05_17-20-06

  3. 将代理机器的 IP 添加到企业微信可信 IP。访问企业微信应用列表,进入应用详情页面,在页面下方开发者接口找到企业可信IP卡片,点击配置

如果您有自己的非阿里云的机器,您可以将自有机器托管到阿里云,并使用托管机器进行请求转发,解决可信 IP 的问题:

  1. 在您的非阿里云服务器中找一台可以访问公网的机器,按照文档安装云助手 。

  2. 修改 AppFlow 中配置的企业微信的连接凭证,2024-09-04_14-19-00

  3. 修改内容:勾选内网代理,选择对应托管地域和托管实例, 点击保存。

    2024-09-05_17-16-28

4. 将代理机器的 IP 添加到企业微信可信 IP。访问企业微信应用列表,进入应用详情页面,在页面下方开发者接口找到企业可信IP卡片,点击配置

记录 AI 助理对话日志

如果您想要记录 AI 助理对话日志并进行分析,您可以参考如下内容在 Appflow 中添加日志节点,将对话内容记录在阿里云日志服务中。

  1. 访问AppFlow控制台,在表格操作列点击详情,在详情页面右上角点击创建新版本2024-10-08_17-48-33

  2. 在编辑页面阿里云百炼步骤之后,点击+添加新的步骤。行业类型选择阿里云公共连接器选择SLS日志云服务2024-10-08_17-51-322024-10-08_17-52-43

  3. 选择执行动作写入日志,点击保存,进入下一步2024-10-09_10-22-08

  4. 点击添加新凭证。在创建凭证对话框,根据表单填入信息,完成角色创建和授权。创建完成后,选择凭证,并点击保存,进入下一步2024-10-09_10-25-292024-10-09_10-27-29

  5. 选择地域、Project 和 Logstore。填入所需的日志信息,左侧输入框是日志Key,直接输入,右侧是日志Value,通过插入变量获取上下文中信息。

    1. 如果您已经创建过用于存储 AI 助手日志的阿里云日志服务的ProjectLogstore,则可以直接使用,如果没有创建过,可以参考创建ProjectLogstore创建。创建完成后无需接入日志,进入Logstore详情页面,在页面右上角点击开启索引,使用默认的全文索引即可。开启索引后才可以在日志服务进行在线日志查询和分析。2024-10-09_10-36-532024-10-09_10-38-45

    2. 选择地域、Project 和 Logstore。填入所需的日志信息,左侧输入框是日志Key,直接输入,右侧是日志Value,通过插入变量获取上下文中信息。image

  6. 保存并发布连接流版本。2024-10-09_11-02-12

  7. 进行对话测试,并查看日志。2024-10-09_11-35-40