Skip to content

Commit e95725e

Browse files
authored
Merge pull request #26 from juncaipeng/develop
[doc] refine the docs/authentication.md
2 parents 723ac77 + 8e51409 commit e95725e

File tree

1 file changed

+90
-55
lines changed

1 file changed

+90
-55
lines changed

docs/authentication.md

+90-55
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,50 @@
11
# 认证鉴权
2+
调用文心大模型是一项收费服务,所以大家使用ERNIE Bot SDK需要进行认证鉴权。
3+
认证鉴权主要包括两步:申请用户凭证,设置鉴权参数。
24

3-
## 认证鉴权
5+
ERNIE Bot SDK支持多个后端来调用文心大模型(如下表格),大家可以根据实际情况选择。不同后端支持的模型、认证鉴权方式存在差异,下面我们分别介绍。
46

5-
在使用ERNIE Bot SDK提供的接口调用文心大模型的能力前,首先需要申请用户凭证,然后设置鉴权参数。
7+
| 后端 | API_TYPE | 支持的模型 |
8+
| :--- | :---- | :--- |
9+
| AI Studio | aistudio | ernie-bot-3.5,ernie-bot-turbo,ernie-text-embedding |
10+
| 千帆大模型平台 | qianfan | ernie-bot-3.5,ernie-bot-turbo,ernie-text-embedding |
11+
| 智能创作平台 | yinian | ernie-vilg-v2 |
612

7-
目前ERNIE Bot SDK支持的鉴权参数如下:
13+
## 1 `AI Studio`后端的认证鉴权
814

9-
| API参数名称 | 环境变量名称 | 类型 | 必须设置 | 描述 |
10-
| :--- | :---- | :---- | :---- | :---- |
11-
| api_type | EB_API_TYPE | string || 后端平台的类型。支持`'qianfan'``'yinian'``'aistudio'`,默认是`'qianfan'`|
12-
| ak | EB_AK | string || 认证鉴权使用的access key ID(AK)。必须和`sk`同时设置。 |
13-
| sk | EB_SK | string || 认证鉴权使用的secret access key(SK)。必须和`ak`同时设置。 |
14-
| access_token | EB_ACCESS_TOKEN | string || 认证鉴权使用的access token。如果设置了`access_token`,则使用该access token;如果`access_token`没有设置或者失效,并且设置了`ak``sk`,部分后端平台类型支持自动通过AK/SK获取access token。|
15+
### 1.1 申请用户凭证
1516

16-
ERNIE Bot SDK支持的文心大模型来自多个后端平台,不同平台支持的用户凭证类型不尽相同。请阅读下表,参照对应的文档申请用户凭证
17+
[AI Studio星河社区](https://aistudio.baidu.com/index)注册并登录账号,可以在个人中心的[访问令牌页面](https://aistudio.baidu.com/usercenter/token)获取用户凭证access token
1718

18-
| 后端平台 | EB_API_TYPE | 支持的用户凭证类型 | 申请用户凭证的方法 | 支持的模型 |
19-
| :--- | :---- | :---- | :---- | :--- |
20-
| 千帆大模型平台 | qianfan | AK/SK,access token | [申请千帆大模型平台的用户凭证](#申请千帆大模型平台的用户凭证) | ernie-bot-3.5,ernie-bot-turbo,ernie-text-embedding |
21-
| 智能创作平台 | yinian | AK/SK,access token | [申请智能创作平台的用户凭证](#申请智能创作平台的用户凭证) | ernie-vilg-v2 |
22-
| AI Studio | aistudio | access token | [申请AI Studio平台的用户凭证](#申请ai-studio平台的用户凭证) | ernie-bot-3.5,ernie-bot-turbo,ernie-text-embedding |
2319

24-
与其它参数类似,鉴权参数可通过如下3种方式设置,请根据需要自由选择。关于参数配置的更多技巧,请在[此文档](./configuration.md)了解。
20+
<div align="center">
21+
<img src="https://user-images.githubusercontent.com/52520497/268609784-8476269e-5cdb-4dfc-9841-983b5a766226.png" width = "800" />
22+
</div>
2523

26-
(1) 使用环境变量:
2724

25+
26+
注意事项:
27+
28+
* AI Studio每个账户的access token,有100万token的免费额度,可以用于ERNIE Bot SDK调用文心一言大模型。AI Studio近期将会开通付费购买的渠道。
29+
* access token是私密信息,切记不要对外公开。
30+
31+
### 1.2 设置鉴权参数
32+
33+
AI Studio后端可以使用access token进行鉴权,支持如下三种方法来设置鉴权参数。
34+
35+
(1) 使用环境变量:
2836
```shell
29-
export EB_API_TYPE="<eb-api-type>"
30-
export EB_ACCESS_TOKEN="<eb-access-token>"
31-
export EB_AK="<eb-access-key-id>"
32-
export EB_SK="<eb-secret-access-key>"
37+
export EB_API_TYPE="aistudio"
38+
export EB_ACCESS_TOKEN="<access-token-for-aistudio>"
3339
```
3440

3541
(2) 使用全局变量:
3642

3743
``` {.py .copy}
3844
import erniebot
3945

40-
erniebot.api_type = "<eb-api-type>"
41-
erniebot.access_token = "<eb-access-token>"
42-
erniebot.ak = "<eb-access-key-id>"
43-
erniebot.sk = "<eb-secret-access-key>"
46+
erniebot.api_type = "aistudio"
47+
erniebot.access_token = "<access-token-for-aistudio>"
4448
```
4549

4650
(3) 使用`_config_`参数:
@@ -50,68 +54,99 @@ import erniebot
5054

5155
response = erniebot.ChatCompletion.create(
5256
_config_=dict(
53-
api_type="<eb-api-type>",
54-
access_token="<eb-access-token>",
55-
ak="<eb-access-key-id>",
56-
sk="<eb-secret-access-key>",
57+
api_type="aistudio",
58+
access_token="<access-token-for-aistudio>",
5759
),
5860
model="ernie-bot-3.5",
59-
messages=[{
60-
"role": "user",
61-
"content": "你好,请介绍下你自己",
61+
messages=[{"role": "user", "content": "你好,请介绍下你自己",
6262
}],
6363
)
6464
```
6565

66-
注意事项:
66+
如果大家同时使用多种方式设置鉴权参数,ERNIE Bot SDK将根据优先级确定配置项的最终取值(其他后端类似)。三种设置方式的优先级从高到低依次为:使用`_config_`参数,使用全局变量,使用环境变量。
6767

68-
* 允许同时使用多种方式设置鉴权信息,程序将根据设置方式的优先级确定配置项的最终取值。三种设置方式的优先级从高到低依次为:使用`_config_`参数,使用全局变量,使用环境变量。
69-
* **使用特定模型,请准确设置对应后端平台的鉴权参数。**
70-
* 对于所有后端平台,均支持仅指定access token、而不提供其余的用户凭证。
71-
* 对于支持AK/SK的后端平台,允许仅设置AK和SK、而将access token留空,在这种情况下程序将根据AK和SK自动维护access token。
72-
* 对于不支持AK/SK的后端平台,只需设定access token。
68+
## 2 `千帆大模型平台`后端的认证鉴权
7369

74-
## 申请千帆大模型平台的用户凭证
70+
### 2.1 申请用户凭证
7571

76-
具体流程
72+
申请流程
7773

7874
* 进入[百度云](https://cloud.baidu.com/),完成注册。
7975
* 进入百度云 - [千帆大模型平台](https://cloud.baidu.com/product/wenxinworkshop),提交申请体验。通常几个小时后会通知申请通过。
8076
* 登录[千帆大模型平台](https://cloud.baidu.com/product/wenxinworkshop),进入[控制台](https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application)创建千帆应用,可以拿到AK/SK(如下图)。
81-
* 进入[计费管理](https://console.bce.baidu.com/qianfan/chargemanage/list),选择服务并开通付费,比如`ERNIE-Bot大模型公有云在线调用服务``ERNIE-Bot-turbo大模型公有云在线调用服务``Embedding-V1公有云在线调用服务`
82-
* (可选)参考[access token获取教程](https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Ilkkrb0i5)使用AK和SK获取access token。
77+
* 进入[计费管理](https://console.bce.baidu.com/qianfan/chargemanage/list),选择服务并开通付费,包括`ERNIE-Bot大模型公有云在线调用服务``ERNIE-Bot-turbo大模型公有云在线调用服务``Embedding-V1公有云在线调用服务`
78+
* 参考access token[获取教程](https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Ilkkrb0i5)使用AK/SK获取access token。
8379

8480
<div align="center">
8581
<img src="https://user-images.githubusercontent.com/52520497/264009567-46f88a38-df70-4a79-affb-ddbf797855b1.jpeg" width = "800" />
8682
</div>
8783

8884
注意事项:
85+
* 千帆的AK/SK是一直有效,而access token默认有效期是30天,失效后需要重新获取access token。
86+
87+
### 2.2 设置鉴权参数
88+
89+
千帆后端也可以使用access token进行鉴权,设置鉴权参数的三种方法和AI Studio后端类似,举例如下。
90+
请注意替换后端参数为`qianfan`,并且使用千帆平台申请的`access_token`
91+
92+
```shell
93+
export EB_API_TYPE="qianfan"
94+
export EB_ACCESS_TOKEN="<access-token-for-qianfan>"
95+
```
96+
97+
``` {.py .copy}
98+
import erniebot
8999

90-
* AK/SK是私人信息,大家不要分享给他人,也不要对外暴露。
91-
* 千帆大模型平台的新用户,默认会有20元代金券,大家可以快速体验ERNIE Bot SDK。
92-
* 千帆大模型平台的完整介绍,请参考[使用文档](https://cloud.baidu.com/doc/WENXINWORKSHOP/index.html);费用、充值相关的问题,请参考[价格文档](https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Blfmc9dlf)
100+
erniebot.api_type = "qianfan"
101+
erniebot.access_token = "<access-token-for-qianfan>"
102+
```
103+
104+
此外,千帆后端还可以使用AK/SK进行鉴权,同样支持三种方法,环境变量对应是`EB_AK``EB_SK`,代码变量对应是`ak``sk`,举例如下。
105+
106+
```shell
107+
export EB_API_TYPE="qianfan"
108+
export EB_AK="<access-key-for-qianfan>"
109+
export EB_SK="<secret-access-key-for-qianfan>"
110+
```
111+
112+
``` {.py .copy}
113+
import erniebot
114+
115+
erniebot.api_type = "qianfan"
116+
erniebot.ak = "<access-key-for-qianfan>"
117+
erniebot.sk = "<secret-access-key-for-qianfan>"
118+
```
93119

94-
## 申请智能创作平台的用户凭证
120+
## 3 `智能创作平台`后端的认证鉴权
95121

96-
具体流程:
122+
### 3.1 申请用户凭证
123+
124+
申请流程:
97125

98126
* 进入[百度云](https://cloud.baidu.com/),完成注册。
99127
* 进入百度云 - [智能创作平台](https://console.bce.baidu.com/ai/#/ai/intelligentwriting/app/list),创建应用,可以拿到AK/SK(如下图)。
100-
* (可选)参考[access token获取教程](https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Ilkkrb0i5),使用AK和SK获取access token。
128+
* 参考access token[获取教程](https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Ilkkrb0i5),使用AK和SK获取access token。
101129

102130
<div align="center">
103131
<img src="https://user-images.githubusercontent.com/52520497/264009612-17658684-c066-44e5-8814-178214aa8155.jpeg" width = "800" />
104132
</div>
105133

106-
注意事项:
107134

108-
* AK/SK是私人信息,大家不要分享给他人,也不要对外暴露。
109-
* 智能创作平台的完整介绍,请参考[使用文档](https://ai.baidu.com/ai-doc/NLP/Uk53wndcb);费用、充值相关的问题,请参考[计费简介](https://ai.baidu.com/ai-doc/NLP/qla2beec2)
135+
智能创作平台的完整介绍,请参考[使用文档](https://ai.baidu.com/ai-doc/NLP/Uk53wndcb);费用、充值相关的问题,请参考[计费简介](https://ai.baidu.com/ai-doc/NLP/qla2beec2)
110136

111-
## 申请AI Studio平台的用户凭证
137+
### 3.2 设置鉴权参数
112138

113-
AI Studio平台用户可以直接在个人中心的[访问令牌页面](https://aistudio.baidu.com/usercenter/token)获取access token。
139+
智能创作平台后端设置鉴权参数的方法,和千帆后端完全一致,都支持access toke或者AK/SK参数,举例如下。
140+
请注意替换后端参数为`yinian`,并且使用智能创作平台申请的`access_token``AK/SK`
114141

115-
注意事项:
142+
```shell
143+
export EB_API_TYPE="yinian"
144+
export EB_ACCESS_TOKEN="<access-token-for-yinian>"
145+
```
116146

117-
* AI Studio平台为每个账户提供了100万token的免费额度,可以用于ERNIE Bot SDK调用文心一言大模型。
147+
``` {.py .copy}
148+
import erniebot
149+
150+
erniebot.api_type = "yinian"
151+
erniebot.access_token = "<access-token-for-yinian>"
152+
```

0 commit comments

Comments
 (0)