将 IBM WatsonX 数据与 Milvus 结合使用,构建用于知识检索的智能 Slack 机器人

在当今快节奏的工作环境中,快速轻松地访问信息对于保持生产力和效率至关重要。无论是在 Runbook 中查找特定说明,还是访问关键知识转移 (KT) 文档,快速检索相关信息的能力都可以产生重大影响。

本教程将指导您构建一个智能 Slack 机器人,该机器人利用 IBM WatsonX.data 和 Milvus 进行高效的知识检索。通过集成这些工具,您将创建一个机器人,该机器人可以根据组织的知识源搜索并提供查询的答案。我们将使用 IBM WatsonX.data 来填充和查询相关文档,并使用 IBM WatsonX.ai 来回答从获取的文档中提出的问题。

本教程分为两个主要部分:第一部分侧重于使用 IBM WatsonX Data 或开源 Milvus 填充数据库,第二部分介绍如何在本地运行 Python 程序以将机器人连接到 Slack,利用 WatsonX.ai 智能响应用户查询。

在本教程结束时,您将拥有一个功能齐全的 Slack 机器人,它可以增强您的团队访问和利用重要信息的能力,从而提高整体生产力。

先决条件

在开始之前,请确保您具备以下条件:

  • IBM Cloud 帐户:访问 IBM WatsonX.ai 和 WatsonX Data,用于知识检索和 AI 模型集成

  • Milvus 矢量数据库:熟悉 Milvus 存储和查询向量化数据的能力;您可以使用开源 Milvus 或 IBM 的托管 Milvus 服务。

  • Slack 工作区:在工作区中配置和部署 Slack 机器人的管理员访问权限

  • 编程知识:精通 Python,包括 API 经验、使用云服务和处理环境变量的经验

第 1 步:设置 WatsonX.data 和 WatsonX 项目

设置 WatsonX.data

  1. 创建 IBM Cloud 帐户:如果您还没有帐户,请在 IBM Cloud 上注册。

  2. 创建 WatsonX.data 实例:在 IBM Cloud 目录中,通过选择计划并提供必要的详细信息来搜索并创建 WatsonX.data 实例。

设置 WatsonX 项目

  1. 创建 WatsonX 项目:在 IBM Cloud Dashboard 上,导航到 WatsonX 主页,然后在 capabilities 下启动 watsonx.ai。创建 Sandbox 项目。

  2. 获取项目 ID 和 URL:

  • 达拉斯:https://us-south.ml.cloud.ibm.com

  • 伦敦:https://eu-gb.ml.cloud.ibm.com

  • 法兰克福:https://eu-de.ml.cloud.ibm.com

  • 东京:https://jp-tok.ml.cloud.ibm.com

  • 导航到 WatsonX 项目的 Manage 页面以找到 Project ID。

  • 在您新创建的项目中,在"管理"选项卡下,选择左侧菜单上的"服务和集成"。

  • 选择蓝色的"关联服务 +"按钮。从列表中选择可用的 "Watson Machine Learning" 服务名称。

  • 确定与您的项目关联的 Watson Machine Learning 实例的 URL。此 URL 因创建 ML 实例的区域而异,格式如下:。https://<region>.ml.cloud.ibm.com

第 2 步:设置 Milvus 服务器

您可以通过两种方式设置 Milvus 服务器:使用 IBM WatsonX.data 或开源 Milvus 数据库。

使用 IBM WatsonX.data 设置 Milvus

  1. 登录到 WatsonX.data 控制台。

  2. 导航到 Infrastructure Manager。

  3. 添加 Milvus 服务:

  • 单击 Add component 并选择 Add service

  • 从 Type 列表中选择 Milvus

配置 Milvus Service:

  • 显示名称:填写 Milvus 服务名称。

  • 添加存储桶:关联外部存储桶或为 Starter 大小选择 IBM 管理的存储桶。

配置 Milvus 服务:点击 配置

创建到 Milvus 的数据源连接
  1. WatsonX.ai 项目中:
  • 在**"资产"** 选项卡下,选择新建资产 +

连接到数据源:

  • 选择磁贴 Connect to a data source

  • 搜索 Milvus ,然后单击 Select

提供连接详细信息:

  • 从 基础设施管理器 获取 Milvus 主机和端口信息(点击 Milvus 服务,打开 详情 页面)。

  • 提供数据库名称和授权用户凭证以访问 Milvus 实例。

  • 标题:输入连接的标题(例如,"Milvus 连接")。

  • Milvus 主机名、端口、数据库名称、用户名和密码

设置开源 Milvus Server

1. 为 Docker 分配额外的内存

通过 Docker 桌面设置将 Docker 内存增加到至少 8GB。

2. 下载 Docker Compose 配置

创建目录并下载 Docker Compose 文件:

go 复制代码
mkdir milvus_compose
cd milvus_compose
wget https://github.com/milvus-io/milvus/releases/download/v2.2.8/milvus-standalone-docker-compose.yml -O docker-compose.yml
3. 使用 Docker Compose 运行 Milvus
  • 启动 Milvus:

    go 复制代码
    docker compose up -d
  • 验证容器是否正在运行:

    go 复制代码
    docker ps -a
  • 检查 Milvus 服务器日志:

    go 复制代码
    docker logs milvus-standalone

第 3 步:创建 Slack 应用程序

创建 Slack 应用程序

  • 导航到 Slack API。

  • 点击 "Create App" -> "From Scratch"。

  • 提供 App name 并选择要在其中部署机器人的工作区。

  • 在您的Slack应用程序设置下,导航到"OAuth和权限"。

  • 单击"添加 OAuth 范围",然后添加"channels:history "和"chat:write "作为机器人令牌范围。

获取 Token

  1. 从**"OAuth & Permissions** "获取。SLACK_TOKEN

  2. "基本信息" 中获取。SIGNING_SECRET

第 4 步:设置项目并运行应用程序

克隆存储库并安装依赖项:

克隆存储库:

PowerShell

1

go 复制代码
git clone https://github.com/PhaniDivi-613/doc-assistant

导航到项目目录并安装所需的模块:

PowerShell

1

go 复制代码
cd doc-assistant

2

go 复制代码
pip install -r requirements.txt

设置环境:

在项目目录中创建一个文件,并使用前面步骤中收集的以下值填充该文件:.env

PowerShell

1

go 复制代码
PROJECT_ID=<Project ID>

2

go 复制代码
PROJECT_URL=<Project URL>

3

go 复制代码
IC_API_KEY=<IBM Cloud API Token>

4

go 复制代码
SLACK_TOKEN=<Slack API Token>

5

go 复制代码
SIGNING_SECRET=<Signing Secret>

使用 Runbook 填充数据库:

  1. 将所有 Runbook 或知识转移文档放在文件夹中。knowledge_source

  2. 通过运行脚本填充数据库:populate_db.py

PowerShell

1

go 复制代码
python populate_db.py --opensource-milvus  # Use this flag if using open-source Milvus

2

go 复制代码
python populate_db.py  # Use this if using IBM watsonx.data

运行 Python 应用并使用 ngrok 创建隧道:

启动 Python Flask 应用程序:

PowerShell

1

go 复制代码
python3 app.py --opensource-milvus  # If using open-source Milvus

2

go 复制代码
python3 app.py  # If using IBM watsonx.data

在新的终端窗口中,使用 :ngrok

PowerShell

1

go 复制代码
ngrok http 8080

从终端输出中复制转发 URL。ngrok

更新 Slack 配置

  1. 在您的 Slack 应用程序设置中,导航到**"事件订阅"。**

  2. 使用您的 URL 更新**"请求 URL"** 字段,后跟 .ngrok``/events-endpoint

  3. 添加机器人用户事件:

  • message.channels

  • message.channels

保存 Slack 应用程序设置中的更改。

与您的应用程序交互

  1. 邀请您的机器人加入您希望它运行的 Slack 通道。

  2. 在 Slack 通道中,发送消息以触发机器人。例如:
    @dev-assistant 如何使用 CLI 获取 atracker 帐户设置?

  3. 等待机器人处理您的请求并生成响应。

结论

通过执行这些步骤,您已成功设置与 Milvus 数据库集成的 Slack 应用程序以进行知识管理。现在,您可以在 Slack 中与机器人交互,测试其功能,并体验其 AI 驱动的功能。此设置允许根据提供的 Runbook 和知识源进行高效的查询处理和智能响应。

相关推荐
Axis tech1 小时前
爱迪斯通携手智元机器人亮相COMPUTEX 2026大会
人工智能·机器人
darkdragonking4 小时前
OpenEuler 22.03 ,以docker ce 安装 Milvus 及可视化工具
docker·容器·milvus
明志数科5 小时前
4D时序标注技术详解:让机器人理解连续动作的数据基础
java·算法·机器人
小草cys9 小时前
飞书群无法调用 Hermes龙虾 机器人
机器人·飞书
拓朗工控10 小时前
具身智能的“小空间大算力”难题:边缘AI主机如何落地机器人
人工智能·机器人
小肥君10 小时前
机器人测试
人工智能·机器人
哈泽尔都11 小时前
运动控制教学——5分钟学会力控算法(阻抗/导纳/力位混合)
c++·python·算法·决策树·贪心算法·机器人·gpu算力
V搜xhliang024611 小时前
告别SPSS卡顿:用AI智能体自动跑回归、生存曲线、生成方法学段落
运维·人工智能·数据挖掘·回归·机器人·自动化·飞书
搞科研的小刘选手12 小时前
【重庆大学主办】第三届智能感知与模式识别国际学术会议(IPPR 2026)
物联网·机器学习·计算机视觉·机器人·人机交互·感知·传感