Module 03 · Packages, APIs, Data Sets, and Models
Application Programming Interfaces (APIs)应用编程接口
欢迎观看“应用编程接口,简称 API”视频。看完本视频后,您将能够:
- 定义 API
- 列出 API 库
- 定义 REST API 及其与 请求 (Request) 和 响应 (Response) 的关系
什么是 API? (What is an API?)
应用编程接口 (Application Programming Interface, API) 允许两个软件组件之间进行通信。
💬 例如:在程序中,您有一些数据和其他软件组件。您可以使用 API 通过 输入 和 输出 进行通信,而无需了解后台 (back end) 发生了什么。
- API 仅指 接口 (interface)。
- 它是您所看到 库 (library) 的一部分,而该库包含所有程序组件。

API 在库中的运作
为了进一步理解 API 在库中的工作方式,我们以 Pandas 库 为例:
- Pandas 是一组软件组件,并非所有组件都用 Python 编写。
- 在您的程序中,有一些数据和一组软件组件。
- 您可以使用 Pandas API 通过与这些软件组件通信来处理数据。
跨语言的 API 接口
后台的软件组件可以保持不变,但可以针对不同的语言提供 API 接口。
- 示例:TensorFlow
- 后台 (Back End): TensorFlow,它使用 C++ 编写。
- 接口 (APIs): 可以使用适用于其他语言的 API,例如:Python、JavaScript、C++、Java 和 Go。
- 结论: 因此,API 仅仅是接口。

- 其他由志愿者开发的 TensorFlow API 包括:Julia、MATLAB、R、Scala 等。

REST API 简介
REST API 是另一种流行的 API 类型。
- R.E.S.T. 的含义:
- R.E. (Representational): 表述性
- S. (State): 状态
- T. (Transfer): 传输
- 功能: 它们允许您通过 互联网 进行通信,并利用各种资源,如:存储、数据、人工智能算法 等。
客户端、资源与通信
在 REST API 中,您的程序是 客户端 (Client)。API 与 Web 服务 (Web service) 通信,您可以通过互联网调用该服务。通信、输入 (请求) 和输出 (响应) 都有相关规则。
| 术语 (Term) | 定义 (Definition) |
|---|---|
| 客户端 (Client) | 您或您的代码。 |
| 资源 (Resource) | Web 服务。 |
| 端点 (Endpoint) | 客户端通过它找到服务。 |
| 请求 (Request) | 客户端发送给资源的指令。 |
| 响应 (Response) | 资源返回给客户端的信息。 |
通过 HTTP 进行数据传输
数据通过互联网使用 HTTP 方法 (HTTP methods) 传输。
- 请求 (Request):
- REST API 从客户端发送的请求中获取所有信息。
- 请求使用包含 JSON 文件 的 HTTP 消息 发送。
- JSON 文件包含 Web 服务要执行的操作指令。
- 此操作通过互联网传输给 Web 服务,服务执行该操作。
- 响应 (Response):
- Web 服务类似地通过 HTTP 消息 返回响应。
- 信息使用 JSON 文件 返回。
- 此信息传输回客户端。
REST API 示例
1. 语音转文本 API (Watson Speech-to-Text API)
- API 调用: 您将发送音频文件的副本给 API。
- 操作: 这称为 POST 请求 (Post Request)。
- API 响应: API 将发送该人所说话语的文本转录。
- 后台操作: 在后台,API 正在发出 GET 请求 (GET Request)。
2. 语言翻译 API (Watson Language Translator API)
- API 调用: 您将需要翻译的文本发送到 Watson Language Translator API。
- API 响应: API 将翻译文本并将翻译结果发送回给您。
- 示例: 在此案例中,API 将英语翻译成西班牙语。
总结回顾 (Summary)
在本视频中,您学到:
- 应用编程接口 (API) 允许两个软件组件之间进行通信。
- API 是您所看到的 库 的一部分,而该库包含程序的所有组件。
- REST API 允许您通过互联网进行通信,并利用存储、数据、人工智能算法等资源。