Skip to content

Updating the APIPark docs with GitBook! #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
160 changes: 160 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
---
sidebar_position: 1
title: 🦄 概述
icon: alicorn
---

# 概述

## APIPark

![APIPark](images/Banner.png)

**🦄APIPark 是开源的一站式AI网关和API开发者门户,帮助开发者和企业轻松管理、集成和部署AI服务。APIPark 基于 Apache 2.0 协议开源,这意味着它可以免费商用!**

✨你可以通过APIPark实现以下需求:

1. 快速接入 100+ AI 模型,我们支持所有主流的AI公司!
2. 将 AI 模型和 Prompt 提示词组合成API,比如基于 OpenAI GPT4o和一些自定义的提示词,创建一个情感分析API,翻译API或数据分析API。
3. 统一所有 AI API 的请求数据格式,当你切换 AI 模型,或者修改 Prompt 提示词的时候不会影响你的 APP 应用或者微服务,简化你的 AI 使用和维护成本。
4. 通过 APIPark 的开发者门户,将 API 在团队内共享。
5. 管理调用的应用、API Key,保障你的 API 安全和稳定性。
6. 通过清晰的图表来监控你的 AI API 使用情况。
7. 将API请求日志快速输出到第三方日志平台。

![\<br/> 1](images/2024-10-26/2f3a9b53d1b32c3f26339d8bbb58640db92f6e670e530ee673fad168537423ca.png)\
\


✨APIPark 还是一个强大的云原生 API 网关:

1. 拥有比 Nginx 更高的性能,并且支持集群部署,能够支持大规模的流量。
2. 将 REST API 在团队内共享,并管理API的调用关系,避免因混乱的API调用导致的管理成本和数据泄露问题。

\


## 💌 我们为什么打造 APIPark?

在打造 APIPark之前,我们已经花费了7年时间打造了一个拥有超过100万开发者用户的API开发和自动化测试平台 Eolink,拥有超过500家企业客户并且获得了红杉资本的数千万元投资。

随着AI和Agent的发展,我们发现许多企业希望将AI接入企业内部系统的API以及第三方的API,让AI Agent能够完成更复杂的任务,而不仅是作为知识问答机器人。因此我们打造了 APIPark,你的一站式 AI 网关和 API开发者门户,加速你的 AI API 开发,并快速打造你的产品或 AI Agent!

\


## ✨ 快速开始

APIPark 致力于解决以下问题:

* 无缝接入多种大型AI模型,并将这些AI能力打包成API进行调用,从而大幅简化了AI模型的使用门槛。
* 管理复杂的 AI & API 调用关系。
* 管理 API 的创建、监控、安全。
* 故障检测和排查:简化系统问题的识别和解决。
* 量化数据资产价值:提升数据资产的可见性和估值。

\


😍 APIPark 部署非常简单,仅需一句命令行即可在 5 分钟内部署好你的 AI 网关和 API 开发者门户。

```
curl -sSO https://download.apipark.com/install/quick-start.sh; bash quick-start.sh
```

\


## 🔥 特性

| 快速接入 100+ AI 模型 | 通过统一的 API 格式来调用所有 AI |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| ![](https://apipark.com/wp-content/uploads/2024/10/AI-Gateway.png) | ![](https://apipark.com/wp-content/uploads/2024/10/Unified-API.png) |
| 一键将 Prompt 提示词封装成 REST API | 在团队内快速共享 API 服务 |
| ![](https://apipark.com/wp-content/uploads/2024/10/Prompt-template.png) | ![](https://apipark.com/wp-content/uploads/2024/10/developer-portal.png) |
| 比肩 Nginx 的强大性能 | 一站式完成 API 设计、发布、调用、下线 |
| ![](https://apipark.com/wp-content/uploads/2024/10/hyper-performance.png) | ![](https://apipark.com/wp-content/uploads/2024/08/Life-Cycle.png) |
| 审核租户的API的调用申请 | 多租户管理 |
| ![](https://apipark.com/wp-content/uploads/2024/08/Application.png) | ![](https://apipark.com/wp-content/uploads/2024/08/Multi-tenant.png) |
| 详细记录所有 API 的调用日志 | 强大的数据分析 |
| ![](https://apipark.com/wp-content/uploads/2024/08/Chart-1.png) | ![](https://apipark.com/wp-content/uploads/2024/08/Chart.png) |

\


## 🚀 适用场景

### 简化 AI 的接入成本

* 接入所有主流AI供应商的 100+ 大模型,并且通过统一的 API 调用,没有额外的适配工作。
* 通过组合 AI 模型和 Prompt 提示词,形成新的 AI API,简化 AI API 的开发工作。
* 将 AI API 在团队内部快速共享。

### 提升运营效率

* 快速构建团队内的 API 开发者门户。
* 高效管理和调用 API。
* 减少复杂的系统间调用关系。

### 确保合规与安全

* 强大的服务治理和合规管理功能。
* 精细化管理应用调用的权限。
* 确保 API 调用的安全性和合规性,降低企业风险。

### 简化系统故障排查

* 利用监控和故障诊断工具快速发现和解决问题。
* 减少停机时间,提高系统稳定性。

### 多租户管理和灵活订阅

* 支持多租户管理,满足不同业务单元需求。
* 灵活的订阅和审核流程简化 API 的使用和管理。

### 增强 API 可观测性

* 实时监控和追踪 API 使用情况。
* 全面掌握数据流动,提升数据使用透明度。

\


## 🚩 路线图

我们为 APIPark 制定了激动人心的目标:让每个人都能通过 AI 和 API 快速创建自己的产品和AI Agent!

为了实现这个目标,我们接下来会为APIPark增加新的特性:

1. 接入 API 市场,比如 Postman、RapidAPI、APISpace、APILayer 等。你可以直接通过APIPark使用来自各个 API 市场的 API,并通过 AI 让这些 API 更智能。
2. 接入 AI Agent,比如Langchain、AgentGPT、Auto-GPT、Dify等。让 AI Agent 通过 APIPark 接入你的内部系统或第三方API,完成更复杂的工作。
3. 智能 API 编排,APIPark 会提供一个统一的API入口,自动判断 API 请求的内容来编排多个 API 来完成你的需求。

\


## 📕文档

访问 [APIPark文档](https://docs.apipark.com/docs/install) 获取详细的安装指南、API 参考和使用说明。

\


## 🧾许可证

APIPark 使用 Apache 2.0 许可证。更多详情请查看 LICENSE 文件。

\


## 💌联系我们

对于企业级功能和专业技术支持,请联系售前专家进行个性化演示、定制方案和获取报价。

* 网站: https://apipark.com
* 电子邮件: contact@apipark.com

\


🙏 非常感谢所有帮助塑造 APIPark 的人,我们非常高兴听到社区的想法!让我们一起让API和AI的世界变得更强大和有趣。🎉
32 changes: 32 additions & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Table of contents

* [概述](README.md)
* [更新日志](release.md)
* [部署 APIPark](deploy.md)
* [服务](services/README.md)
* [AI 服务](services/ai_services.md)
* [REST 服务](services/rest_services.md)
* [审核消费者](services/review_consumers.md)
* [消费者](consumers.md)
* [团队](teams.md)
* [API 开发者门户](developer_portal.md)
* [调用API](call_api.md)
* [API 调用分析报告](analysis.md)
* [AI](ai/README.md)
* [AI API 管理](ai/ai_api_manager.md)
* [APIKEY 资源池](ai/ai_mode_apikey.md)
* [AI 模型负载均衡](ai/ai_model_balance.md)
* [设置 AI 模型](ai/ai_model_providers.md)
* [系统设置](system_setting/README.md)
* [账号与角色](system_setting/account_role.md)
* [API 网关](system_setting/api_gateway_cluster.md)
* [数据脱敏](system_setting/data_mask.md)
* [数据源](system_setting/data_source.md)
* [常规设置](system_setting/regular_setting.md)
* [SSL证书](system_setting/ssl_cert.md)
* [日志配置](system_setting/log/README.md)
* [文件日志](system_setting/log/file-log.md)
* [HTTP日志](system_setting/log/http-log.md)
* [Kafka日志](system_setting/log/kafka-log.md)
* [NSQ日志](system_setting/log/nsq-log.md)
* [Syslog日志](system_setting/log/syslog-log.md)
6 changes: 6 additions & 0 deletions docs/ai/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
icon: sparkles
---

# AI

11 changes: 5 additions & 6 deletions docs/analysis.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
---
sidebar_position: 9
title: "📊 分析报告"
title: 📊 分析报告
icon: file-chart-column
---

# API 调用分析报告
# API 调用分析报告

APIPark 通过对历史调用数据的分析, 展示 API 长期的调用趋势和性能变化,帮助企业维持 API 的稳定。

> 💡 APIPark 的 API 调用分析报告依赖于 InfluxDB 数据库。如果你使用 APIPark 官方提供的脚本部署,默认会安装 InfluxDB,了解更多:[🔗 部署 APIPark](deploy.md)。
> 💡 你也可以部署外部的 InfluxDB 数据库,然后在 APIPark 的系统设置中填写 InfluxDB 的数据源信息,了解更多:[🔗 设置数据源](system_setting/data_source.md)。
> 💡 APIPark 的 API 调用分析报告依赖于 InfluxDB 数据库。如果你使用 APIPark 官方提供的脚本部署,默认会安装 InfluxDB,了解更多:[🔗 部署 APIPark](deploy.md)。 💡 你也可以部署外部的 InfluxDB 数据库,然后在 APIPark 的系统设置中填写 InfluxDB 的数据源信息,了解更多:[🔗 设置数据源](system_setting/data_source.md)。


![](images/2024-10-28/bd920673b71b05514a44eab4e18a64f50aea2ab69f629687aea46b346bcbf51c.png)
![](images/2024-10-28/bd920673b71b05514a44eab4e18a64f50aea2ab69f629687aea46b346bcbf51c.png)
28 changes: 12 additions & 16 deletions docs/call_api.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
sidebar_position: 8
title: "🔗 调用 API"
title: 🔗 调用 API
icon: cloud-bolt
---

# 调用API
Expand All @@ -9,35 +10,30 @@ title: "🔗 调用 API"

在调用前需要满足以下条件:

- **消费者** 已经创建了 **授权证书**,了解更多:[🔗 消费者](consumers.md)。
- **消费者** 已经成功订阅了服务,了解更多:[🔗 API 门户](developer_portal.md)。

* **消费者** 已经创建了 **授权证书**,了解更多:[🔗 消费者](consumers.md)。
* **消费者** 已经成功订阅了服务,了解更多:[🔗 API 门户](developer_portal.md)。

## 示例

😜 假设:

- **消费者** 的 **授权证书**:
- **认证类型**:API Key
- **参数位置**:Header
- **参数名称**:Authorization
- **密钥**:96f55...ee4
- **服务** 的 API 调用地址为: **http://api.apipark.com/cda53bf2/demo_translation_api**

![](images/2024-10-28/5fbe42033e3fb02015f4ef886efd6b9d09ed560252a1fd2a35a94df3ebec5e16.png)
* **消费者** 的 **授权证书**:
* **认证类型**:API Key
* **参数位置**:Header
* **参数名称**:Authorization
* **密钥**:96f55...ee4
* **服务** 的 API 调用地址为: **http://api.apipark.com/cda53bf2/demo\_translation\_api**

![](images/2024-10-28/5fbe42033e3fb02015f4ef886efd6b9d09ed560252a1fd2a35a94df3ebec5e16.png)

您可以使用以下任意一种方式进行调用服务API。



### Postman or Other API Clients

在 API 测试工具中,在 Header 中添加 Authorization 参数,并且将参数值设置为 96f55...ee4:

![](images/2024-10-29-01-47-24.png)


### cURL

在命令行中输入:
Expand All @@ -46,4 +42,4 @@ title: "🔗 调用 API"
curl -X POST -H "Authorization: 96f55...ee4" \
-H "Content-Type: application/json" -d "request body content" \
http://api.apipark.com/cda53bf2/demo_translation_api
```
```
25 changes: 13 additions & 12 deletions docs/consumers.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
---
sidebar_position: 5
title: "⌨️ 消费者"
title: ⌨️ 消费者
icon: keyboard
---

# 消费者

APIPark 提供了 **API 门户** 功能,用户可以将服务发布到 API 门户并且被其他用户查看、订阅和调用。

在 APIPark 中,**消费者(Consumer)** 是 **订阅服务** 和 **调用API** 的实体,消费者通过订阅服务来获得调用服务内API的权限,确保数据安全和访问权限合规。
Expand All @@ -12,16 +14,15 @@ APIPark 提供了 **API 门户** 功能,用户可以将服务发布到 API 门

![](images/2024-10-28-23-05-08.png)


## 创建消费者

订阅 API 服务之前,你需要先创建一个**消费者(Consumer)**,消费者是 **订阅服务** 和 **调用API** 的实体,消费者通过订阅服务来获得调用服务内API的权限,确保数据安全和访问权限合规。

进入 **工作空间** 模块,在侧边栏中选择 **消费者**,然后 **创建消费者**,填写:

- **消费者名称**
- **消费者 ID**:消费者的唯一标识,一旦保存无法修改。
- **描述**
* **消费者名称**
* **消费者 ID**:消费者的唯一标识,一旦保存无法修改。
* **描述**

![](images/2024-10-28-23-09-51.png)

Expand All @@ -31,12 +32,12 @@ APIPark 通过 **授权证书** 限制 **消费者** 对 API 资源的访问,

进入 **消费者** 的管理界面,在侧边栏选择 **授权证书**,然后点击 **创建授权证书**,在弹窗中填写:

- **证书名称**:为了便于管理密钥,建议为密钥设置清晰易懂的名称。
- **认证类型**:证书的认证方式,包括Basic Auth、API Key、JWT、AK/SK等,每个认证方式有不同的参数填写位置和密钥规则。
- **参数位置**:密钥填写的位置。
- **密钥**:请求 APIPark 的 API 时,需要在请求参数中填写密钥。为了避免数据泄露,请不要将密钥存储在公开的代码中。
- **过期时间**:授权证书默认是永不过期,如果你希望创建一个临时的授权证书,比如仅三个月有效,可以填写过期时间。通过过期的授权证书访问 APIPark 时,APIPark 会返回授权证书失效的错误提示。
- **隐藏认证信息**:APIPark 的 API 网关默认会在转发 API 请求时,将消费者的授权证书发送给上游(Upstream)服务,便于上游服务对授权进行二次验证。如果勾选该选项,则 APIPark 在转发API请求时会隐藏授权信息。
* **证书名称**:为了便于管理密钥,建议为密钥设置清晰易懂的名称。
* **认证类型**:证书的认证方式,包括Basic Auth、API Key、JWT、AK/SK等,每个认证方式有不同的参数填写位置和密钥规则。
* **参数位置**:密钥填写的位置。
* **密钥**:请求 APIPark 的 API 时,需要在请求参数中填写密钥。为了避免数据泄露,请不要将密钥存储在公开的代码中。
* **过期时间**:授权证书默认是永不过期,如果你希望创建一个临时的授权证书,比如仅三个月有效,可以填写过期时间。通过过期的授权证书访问 APIPark 时,APIPark 会返回授权证书失效的错误提示。
* **隐藏认证信息**:APIPark 的 API 网关默认会在转发 API 请求时,将消费者的授权证书发送给上游(Upstream)服务,便于上游服务对授权进行二次验证。如果勾选该选项,则 APIPark 在转发API请求时会隐藏授权信息。

![](images/2024-10-28-23-15-15.png)

Expand All @@ -46,4 +47,4 @@ APIPark 通过 **授权证书** 限制 **消费者** 对 API 资源的访问,

## 通过消费者来调用 API

如果需要调用服务的 API,请查看 [🔗 调用 API](call_api.md)
如果需要调用服务的 API,请查看 [🔗 调用 API](call_api.md)
Loading