AI 模å管ç
èª v5.2.0 èµ·æ°å¢æ¤æ¨¡åãéè¿ app.aiModel 访é®ï¼æä¾äºå¼åç¯å¢ä¸ AI 模ååç»çé
ç½®ãæ¥è¯¢ãæ´æ°ä¸å é¤è½åï¼æ¯ææ¥å
¥ OpenAI å
¼å®¹ç½å
³ï¼å¦ DeepSeekãæ··å
ãMoonshot çï¼ã
AiModelService å´ç» AI 模ååç»ï¼AIModelGroupï¼ è¿è¡ç®¡çï¼æ¯ä¸ªåç»å
å«ï¼
GroupNameï¼åç»åï¼èªå®ä¹åç»ä¸å 许以cloudbase为åç¼BaseUrlï¼æ¨¡åæå¡å°åï¼é为 OpenAI å ¼å®¹ç½å ³ï¼Modelsï¼åç»ä¸ç模ååè¡¨ï¼æ°ç»ï¼æ´æ°æ¶ä¸ºå ¨éæ¿æ¢ï¼Secretï¼è®¿é®æ¨¡åæå¡çå¯é¥ï¼æ¯æSecretId / SecretKeyæApiKeyStatusï¼åç»ç¶æï¼1å¼å¯ /2å ³éTypeï¼åç»ç±»åï¼builtinï¼äºå¼åå ç½®ï¼/customï¼ç¨æ·èªå®ä¹ï¼
åå§åâ
import CloudBase from '@cloudbase/manager-node'
const app = CloudBase.init({
secretId: 'Your SecretId',
secretKey: 'Your SecretKey',
envId: 'Your envId'
})
const aiModel = app.aiModel
createAIModelâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼å建ä¸ä¸ªèªå®ä¹ AI 模åé ç½®åç»ã
æ¥å£å£°æï¼app.aiModel.createAIModel(options): Promise<CreateAIModelResp>
groupName ä¸å
许以 cloudbase 为åç¼ï¼è¯¥åç¼ä¸ºç³»ç»ä¿çã
äºç«¯ä¼å¯¹ baseUrl + secret åèéæ§æ ¡éªï¼è¯·ç¡®ä¿å¡«åçå®å¯è¾¾ç模åæå¡å°å䏿æå¯é¥ã
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| groupName | æ¯ | String | åç»åï¼ä¸å
许以 cloudbase 为åç¼ |
| baseUrl | å¦ | String | 模åæå¡å°åï¼OpenAI å
¼å®¹ç½å
³ï¼ï¼ç¤ºä¾ https://api.deepseek.com/v1 |
| models | å¦ | AIModel[] | 模åå表ï¼è§ä¸æ¹ AIModel åæ®µè¯´æ |
| remark | å¦ | String | åç»å¤æ³¨ |
| status | å¦ | 1 | 2 | 模åç¶æï¼1 å¼å¯ï¼2 å
³é |
| secret | å¦ | AIModelSecret | 模åå¯é¥ï¼è§ä¸æ¹ AIModelSecret åæ®µè¯´æ |
| envId | å¦ | String | ç¯å¢ IDï¼ä¸ä¼ å使ç¨å½åç¯å¢ ID |
AIModel
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| Model | å¦ | String | 模ååï¼ç¤ºä¾ deepseek-chat |
| EnableMCP | å¦ | Boolean | æ¯å¦å¼å¯ MCPï¼é»è®¤ false |
| Tags | å¦ | String[] | æ ç¾ |
AIModelSecret
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| SecretSource | å¦ | String | å¯é¥æ¥æºï¼åºå® custom |
| SecretId | å¦ | String | å¯é¥ IDï¼ä¸ SecretKey é
å¯¹ä½¿ç¨ |
| SecretKey | å¦ | String | å¯é¥ Keyï¼ä¸ SecretId é
å¯¹ä½¿ç¨ |
| ApiKey | å¦ | String | API Keyï¼ä¸ SecretId/SecretKey äºéä¸ |
3. è¿åç»æâ
| åæ®µ | ç±»å | 说æ |
|---|---|---|
| Count | Number | å建æ°é |
| RequestId | String | 请æ±å¯ä¸æ è¯ |
4. 示ä¾ä»£ç â
const res = await app.aiModel.createAIModel({
groupName: 'custom-deepseek',
baseUrl: 'https://api.deepseek.com/v1',
models: [
{ Model: 'deepseek-chat', EnableMCP: false }
],
remark: 'DeepSeek èªå®ä¹åç»',
status: 1,
secret: {
SecretSource: 'custom',
ApiKey: 'sk-xxxxxxxxxxxxxxxx'
}
})
console.log(res.Count, res.RequestId)
updateAIModelâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼æ´æ°å·²æç AI 模åé ç½®åç»ã
æ¥å£å£°æï¼app.aiModel.updateAIModel(options): Promise<UpdateAIModelResp>
models åæ®µéç¨å
¨éæ¿æ¢è¯ä¹ï¼å¦éä¿çåææ¨¡åï¼è¯·å¨æ´æ°æ¶å°å
¶ä¸å¹¶ä¼ å
¥ã
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| groupName | æ¯ | String | å¾ æ´æ°çåç»å |
| baseUrl | å¦ | String | 模åæå¡å°å |
| models | å¦ | AIModel[] | 模åå表ï¼å ¨éæ¿æ¢ |
| remark | å¦ | String | 夿³¨ |
| status | å¦ | 1 | 2 | 模åç¶æï¼1 å¼å¯ï¼2 å
³é |
| secret | å¦ | AIModelSecret | 模åå¯é¥ |
| envId | å¦ | String | ç¯å¢ IDï¼ä¸ä¼ å使ç¨å½åç¯å¢ ID |
AIModel/AIModelSecretåæ®µå®ä¹åcreateAIModelã
3. è¿åç»æâ
| åæ®µ | ç±»å | 说æ |
|---|---|---|
| Count | Number | æ´æ°æ°é |
| RequestId | String | 请æ±å¯ä¸æ è¯ |
4. 示ä¾ä»£ç â
const res = await app.aiModel.updateAIModel({
groupName: 'custom-deepseek',
models: [
{ Model: 'deepseek-chat', EnableMCP: true },
{ Model: 'deepseek-reasoner', EnableMCP: true }
],
status: 1
})
console.log(res.Count)
deleteAIModelâ
1. æ¥å£æè¿°â
æ¥å£åè½ï¼æ¹éå é¤ AI 模åé ç½®åç»ã
æ¥å£å£°æï¼app.aiModel.deleteAIModel(options): Promise<DeleteAIModelResp>
2. è¾å ¥åæ°â
| åæ®µ | å¿ å¡« | ç±»å | 说æ |
|---|---|---|---|
| groupNames | æ¯ | String[] | åç»åå表ï¼è³å° 1 项ï¼å ç´ é空å符串 |
| envId | å¦ | String | ç¯å¢ IDï¼ä¸ä¼ å使ç¨å½åç¯å¢ ID |