在讨论如何在 OpenShift 上使用 Watson API 之前,让我们快速定义一下 Watson API。

  • Watson API:这是在 IBM Cloud 中提供的一套人工智能 (AI) 服务,具有适用于大部分常见语言的 REST APISDK。Watson Assistant 和 Watson Discovery 即属于这套服务。
  • OpenShift:OpenShift 是一种混合云形式的企业 Kubernetes 应用程序平台。IBM Cloud 现在将其作为托管型解决方案提供,或者作为内部平台即服务 (PaaS) 提供。它是在 Red Hat Enterprise Linux 基础上围绕容器构建的,由 Kubernetes 进行编排和管理。您可以详细阅读 Anton McConville 和 Olaph Wagoner 撰写的 Kubernetes、OpenShift 与 IBM 简史

现在,让我们来谈谈如何将这两者结合起来。在我们看来,在 OpenShift 环境中使用 Watson API 实际上有两种方法。

  1. 采用 Source-to-Image (S2I) 使应用程序容器化,然后直接在应用层调用 Watson API
  2. 对特定 API 使用 Cloud Pak for Data 附加组件(稍后将详细介绍这一方法)

我们先来深入探讨第一种方法。

Source-to-Image

什么是 S2I?

Source-to-Image 是一个框架,可通过源代码构建可复制的容器镜像。S2I 通过将源代码注入容器镜像,并让容器准备执行该源代码,从而生成可供运行的镜像。S2I 随附于 OpenShift,但也可以作为独立工具使用。了解一下通过 OpenShift 控制台使用 S2I 是多么简单。

假设您有一个 Node.js 应用,您希望将它部署到一个在 OpenShift 上运行的容器中。

  1. 从 OpenShift 目录中选择一个运行时(例如 Node.js 或 Python),并指向一个存储库。添加 git 存储库
  2. 将应用程序的配置(如任何 Watson 服务 API 密钥)添加为配置图。openshift 配置图
  3. 将配置图与您的应用相关联。openshift 向应用添加配置图

大功告成!容器化应用将完成部署,并且现在可以通过 REST API 调用来使用目前可用的任何 Watson 服务。

具有哪些优势?

  • 代码重构量最少
  • Source-to-Image 易用性
  • 最快入门

参考资料

我们已经为一些最流行的 Watson Code Pattern 添加了 OpenShift Source-to-Image 指令。

Cloud Pak for Data

Cloud Pak for Data 是什么?

Cloud Pak for Data 可以部署在 OpenShift 中,它包含来自 IBM 的大量 AI 和数据产品。这些产品包括但不限于 Watson Studio、Watson Machine Learning、Db2 Warehouse 和 Watson Assistant。

如何在 Watson 应用中使用 Cloud Pak for Data?

拿先前的例子来说,假设您在内部防火墙之后运行一个 Node.js 应用。只需要几分钟,您便可以更新应用程序以调用在 Cloud Pak for Data 上运行的 Watson API。

  1. (先决条件)在内部安装 Cloud Pak for Data(最好安装在 OpenShift 上)。
  2. 安装 Watson API 套件附加组件Watson Assistant 附加组件Watson Discovery 附加组件。Watson API 套件包括 Watson Knowledge Studio、Watson Natural Language Understanding、Watson Speech to Text 和 Watson Text to Speech。
  3. 启动您想要使用的 Watson API 服务,并生成一个新的 API 密钥。
  4. 更新应用程序以使用新的 API 密钥和 REST 端点。

具有哪些优势?

  • 如果是在内部,REST 调用永远不会到达公共端点。
  • 部分重构,大多是在配置级别

参考资料

为了在 OpenShift 上使用 Watson API,我们仍在不断更新内容,以下是一些参考资料:

感谢您阅读我们的博客!遵循 Watson Assistant 用法样本Watson Discovery 用法样本,开始您的 Watson 应用程序容器化之旅。如果您希望深入了解 Cloud Pak for Data,可观看 Cloud Pak for Data 概述视频。

本文翻译自:Use Watson APIs on OpenShift(2019-08-29)

加入讨论