1
1
# 认证鉴权
2
+ 调用文心大模型是一项收费服务,所以大家使用ERNIE Bot SDK需要进行认证鉴权。
3
+ 认证鉴权主要包括两步:申请用户凭证,设置鉴权参数。
2
4
3
- ## 认证鉴权
5
+ ERNIE Bot SDK支持多个后端来调用文心大模型(如下表格),大家可以根据实际情况选择。不同后端支持的模型、认证鉴权方式存在差异,下面我们分别介绍。
4
6
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 |
6
12
7
- 目前ERNIE Bot SDK支持的鉴权参数如下:
13
+ ## 1 ` AI Studio ` 后端的认证鉴权
8
14
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 申请用户凭证
15
16
16
- ERNIE Bot SDK支持的文心大模型来自多个后端平台,不同平台支持的用户凭证类型不尽相同。请阅读下表,参照对应的文档申请用户凭证 。
17
+ 在 [ AI Studio星河社区 ] ( https://aistudio.baidu.com/index ) 注册并登录账号,可以在个人中心的 [ 访问令牌页面 ] ( https://aistudio.baidu.com/usercenter/token ) 获取用户凭证access token 。
17
18
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 |
23
19
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 >
25
23
26
- (1) 使用环境变量:
27
24
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) 使用环境变量:
28
36
``` 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>"
33
39
```
34
40
35
41
(2) 使用全局变量:
36
42
37
43
``` {.py .copy}
38
44
import erniebot
39
45
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>"
44
48
```
45
49
46
50
(3) 使用` _config_ ` 参数:
@@ -50,68 +54,99 @@ import erniebot
50
54
51
55
response = erniebot.ChatCompletion.create(
52
56
_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>" ,
57
59
),
58
60
model = " ernie-bot-3.5" ,
59
- messages = [{
60
- " role" : " user" ,
61
- " content" : " 你好,请介绍下你自己" ,
61
+ messages = [{" role" : " user" , " content" : " 你好,请介绍下你自己" ,
62
62
}],
63
63
)
64
64
```
65
65
66
- 注意事项:
66
+ 如果大家同时使用多种方式设置鉴权参数,ERNIE Bot SDK将根据优先级确定配置项的最终取值(其他后端类似)。三种设置方式的优先级从高到低依次为:使用 ` _config_ ` 参数,使用全局变量,使用环境变量。
67
67
68
- * 允许同时使用多种方式设置鉴权信息,程序将根据设置方式的优先级确定配置项的最终取值。三种设置方式的优先级从高到低依次为:使用` _config_ ` 参数,使用全局变量,使用环境变量。
69
- * ** 使用特定模型,请准确设置对应后端平台的鉴权参数。**
70
- * 对于所有后端平台,均支持仅指定access token、而不提供其余的用户凭证。
71
- * 对于支持AK/SK的后端平台,允许仅设置AK和SK、而将access token留空,在这种情况下程序将根据AK和SK自动维护access token。
72
- * 对于不支持AK/SK的后端平台,只需设定access token。
68
+ ## 2 ` 千帆大模型平台 ` 后端的认证鉴权
73
69
74
- ## 申请千帆大模型平台的用户凭证
70
+ ### 2.1 申请用户凭证
75
71
76
- 具体流程 :
72
+ 申请流程 :
77
73
78
74
* 进入[ 百度云] ( https://cloud.baidu.com/ ) ,完成注册。
79
75
* 进入百度云 - [ 千帆大模型平台] ( https://cloud.baidu.com/product/wenxinworkshop ) ,提交申请体验。通常几个小时后会通知申请通过。
80
76
* 登录[ 千帆大模型平台] ( 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。
83
79
84
80
<div align =" center " >
85
81
<img src =" https://user-images.githubusercontent.com/52520497/264009567-46f88a38-df70-4a79-affb-ddbf797855b1.jpeg " width = " 800 " />
86
82
</div >
87
83
88
84
注意事项:
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
89
99
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
+ ```
93
119
94
- ## 申请智能创作平台的用户凭证
120
+ ## 3 ` 智能创作平台 ` 后端的认证鉴权
95
121
96
- 具体流程:
122
+ ### 3.1 申请用户凭证
123
+
124
+ 申请流程:
97
125
98
126
* 进入[ 百度云] ( https://cloud.baidu.com/ ) ,完成注册。
99
127
* 进入百度云 - [ 智能创作平台] ( 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。
101
129
102
130
<div align =" center " >
103
131
<img src =" https://user-images.githubusercontent.com/52520497/264009612-17658684-c066-44e5-8814-178214aa8155.jpeg " width = " 800 " />
104
132
</div >
105
133
106
- 注意事项:
107
134
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 ) 。
110
136
111
- ## 申请AI Studio平台的用户凭证
137
+ ### 3.2 设置鉴权参数
112
138
113
- AI Studio平台用户可以直接在个人中心的[ 访问令牌页面] ( https://aistudio.baidu.com/usercenter/token ) 获取access token。
139
+ 智能创作平台后端设置鉴权参数的方法,和千帆后端完全一致,都支持access toke或者AK/SK参数,举例如下。
140
+ 请注意替换后端参数为` yinian ` ,并且使用智能创作平台申请的` access_token ` 、` AK/SK ` 。
114
141
115
- 注意事项:
142
+ ``` shell
143
+ export EB_API_TYPE=" yinian"
144
+ export EB_ACCESS_TOKEN=" <access-token-for-yinian>"
145
+ ```
116
146
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