Skip to content

Commit 5a5d290

Browse files
authored
feat: Add plugin, workflow, and model config params to agent api (#65)
1 parent e429c5d commit 5a5d290

8 files changed

Lines changed: 222 additions & 2 deletions

File tree

api/src/main/java/com/coze/openapi/client/bots/CreateBotReq.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package com.coze.openapi.client.bots;
22

3+
import com.coze.openapi.client.bots.model.BotModelInfoConfig;
34
import com.coze.openapi.client.bots.model.BotOnboardingInfo;
5+
import com.coze.openapi.client.bots.model.BotPluginIdList;
46
import com.coze.openapi.client.bots.model.BotPromptInfo;
7+
import com.coze.openapi.client.bots.model.BotWorkflowIdList;
58
import com.coze.openapi.client.common.BaseReq;
69
import com.fasterxml.jackson.annotation.JsonProperty;
710

@@ -37,4 +40,16 @@ public class CreateBotReq extends BaseReq {
3740

3841
@JsonProperty("onboarding_info")
3942
BotOnboardingInfo onboardingInfo;
43+
44+
/** 智能体的插件配置 */
45+
@JsonProperty("plugin_id_list")
46+
private BotPluginIdList pluginIdList;
47+
48+
/** 智能体的工作流配置 */
49+
@JsonProperty("workflow_id_list")
50+
private BotWorkflowIdList workflowIdList;
51+
52+
/** 智能体的模型配置 */
53+
@JsonProperty("model_info_config")
54+
private BotModelInfoConfig modelInfoConfig;
4055
}

api/src/main/java/com/coze/openapi/client/bots/UpdateBotReq.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package com.coze.openapi.client.bots;
22

33
import com.coze.openapi.client.bots.model.BotKnowledge;
4+
import com.coze.openapi.client.bots.model.BotModelInfoConfig;
45
import com.coze.openapi.client.bots.model.BotOnboardingInfo;
6+
import com.coze.openapi.client.bots.model.BotPluginIdList;
57
import com.coze.openapi.client.bots.model.BotPromptInfo;
8+
import com.coze.openapi.client.bots.model.BotWorkflowIdList;
69
import com.coze.openapi.client.common.BaseReq;
710
import com.fasterxml.jackson.annotation.JsonProperty;
811

@@ -37,4 +40,16 @@ public class UpdateBotReq extends BaseReq {
3740

3841
@JsonProperty("knowledge")
3942
private BotKnowledge knowledge;
43+
44+
/** 智能体的插件配置 */
45+
@JsonProperty("plugin_id_list")
46+
private BotPluginIdList pluginIdList;
47+
48+
/** 智能体的工作流配置 */
49+
@JsonProperty("workflow_id_list")
50+
private BotWorkflowIdList workflowIdList;
51+
52+
/** 智能体的模型配置 */
53+
@JsonProperty("model_info_config")
54+
private BotModelInfoConfig modelInfoConfig;
4055
}
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
package com.coze.openapi.client.bots.model;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
5+
import lombok.*;
6+
7+
@Data
8+
@Builder
9+
@NoArgsConstructor
10+
@AllArgsConstructor
11+
public class BotModelInfoConfig {
12+
/**
13+
* Top K。
14+
*
15+
* <p>示例:1
16+
*/
17+
@JsonProperty("top_k")
18+
private Integer topK;
19+
20+
/**
21+
* Top P,即累计概率。
22+
*
23+
* <p>示例:1.0
24+
*/
25+
@JsonProperty("top_p")
26+
private Double topP;
27+
28+
/**
29+
* 智能体绑定的模型 ID。
30+
*
31+
* <p>示例:1706077826
32+
*/
33+
@NonNull
34+
@JsonProperty("model_id")
35+
private String modelId;
36+
37+
/**
38+
* 最大回复长度。
39+
*
40+
* <p>示例:4096
41+
*/
42+
@JsonProperty("max_tokens")
43+
private Integer maxTokens;
44+
45+
/**
46+
* 生成随机性。
47+
*
48+
* <p>示例:1.0
49+
*/
50+
@JsonProperty("temperature")
51+
private Double temperature;
52+
53+
/**
54+
* 携带上下文轮数。
55+
*
56+
* <p>示例:30
57+
*/
58+
@JsonProperty("context_round")
59+
private Integer contextRound;
60+
61+
/**
62+
* 输出格式。取值:
63+
*
64+
* <ul>
65+
* <li>text:文本。
66+
* <li>markdown:Markdown格式。
67+
* <li>json:JSON格式。
68+
* </ul>
69+
*
70+
* 示例:text
71+
*/
72+
@JsonProperty("response_format")
73+
private String responseFormat;
74+
75+
/**
76+
* 重复主题惩罚。
77+
*
78+
* <p>示例:0.0
79+
*/
80+
@JsonProperty("presence_penalty")
81+
private Double presencePenalty;
82+
83+
/**
84+
* 重复语句惩罚。
85+
*
86+
* <p>示例:0.0
87+
*/
88+
@JsonProperty("frequency_penalty")
89+
private Double frequencyPenalty;
90+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.coze.openapi.client.bots.model;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
5+
import lombok.*;
6+
7+
@Data
8+
@Builder
9+
@NoArgsConstructor
10+
@AllArgsConstructor
11+
public class BotPluginIdInfo {
12+
13+
/** 智能体绑定的插件工具 ID */
14+
@NonNull
15+
@JsonProperty("api_id")
16+
private String apiId;
17+
18+
/** 智能体绑定的插件 ID */
19+
@NonNull
20+
@JsonProperty("plugin_id")
21+
private String pluginId;
22+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.coze.openapi.client.bots.model;
2+
3+
import java.util.List;
4+
5+
import com.fasterxml.jackson.annotation.JsonProperty;
6+
7+
import lombok.AllArgsConstructor;
8+
import lombok.Builder;
9+
import lombok.Data;
10+
import lombok.NoArgsConstructor;
11+
12+
@Data
13+
@Builder
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
public class BotPluginIdList {
17+
/** 智能体的插件列表配置 */
18+
@JsonProperty("id_list")
19+
private List<BotPluginIdInfo> idList;
20+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.coze.openapi.client.bots.model;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
5+
import lombok.*;
6+
7+
@Data
8+
@Builder
9+
@NoArgsConstructor
10+
@AllArgsConstructor
11+
public class BotWorkflowIdInfo {
12+
/** 智能体绑定的工作流 ID */
13+
@NonNull
14+
@JsonProperty("id")
15+
private String id;
16+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.coze.openapi.client.bots.model;
2+
3+
import java.util.List;
4+
5+
import com.fasterxml.jackson.annotation.JsonProperty;
6+
7+
import lombok.AllArgsConstructor;
8+
import lombok.Builder;
9+
import lombok.Data;
10+
import lombok.NoArgsConstructor;
11+
12+
@Data
13+
@Builder
14+
@NoArgsConstructor
15+
@AllArgsConstructor
16+
public class BotWorkflowIdList {
17+
/** 智能体的工作流列表配置 */
18+
@JsonProperty("ids")
19+
private List<BotWorkflowIdInfo> ids;
20+
}

example/src/main/java/example/bot/BotPublishExample.java

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package example.bot;
22

33
import java.util.Arrays;
4+
import java.util.Collections;
45

56
import com.coze.openapi.client.bots.*;
6-
import com.coze.openapi.client.bots.model.BotOnboardingInfo;
7-
import com.coze.openapi.client.bots.model.BotPromptInfo;
7+
import com.coze.openapi.client.bots.model.*;
88
import com.coze.openapi.client.files.UploadFileReq;
99
import com.coze.openapi.client.files.UploadFileResp;
1010
import com.coze.openapi.service.auth.TokenAuth;
@@ -49,6 +49,25 @@ public static void main(String[] args) {
4949
UploadFileResp avatarInfo = coze.files().upload(UploadFileReq.of(avatarPath));
5050
System.out.println(avatarInfo);
5151

52+
// Configuration for the bot's plugins
53+
BotPluginIdInfo pluginIdInfo =
54+
BotPluginIdInfo.builder()
55+
.apiId(System.getenv("PLUGIN_API_ID"))
56+
.pluginId(System.getenv("PLUGIN_ID"))
57+
.build();
58+
BotPluginIdList pluginIdList =
59+
BotPluginIdList.builder().idList(Collections.singletonList(pluginIdInfo)).build();
60+
61+
// Configuration for the bot's workflows
62+
BotWorkflowIdInfo workflowIdInfo =
63+
BotWorkflowIdInfo.builder().id(System.getenv("WORKFLOW_ID")).build();
64+
BotWorkflowIdList workflowIdList =
65+
BotWorkflowIdList.builder().ids(Collections.singletonList(workflowIdInfo)).build();
66+
67+
// Configuration for the bot's model
68+
BotModelInfoConfig modelInfoConfig =
69+
BotModelInfoConfig.builder().modelId(System.getenv("MODEL_ID")).build();
70+
5271
// build the request
5372
CreateBotReq createReq =
5473
CreateBotReq.builder()
@@ -57,6 +76,9 @@ public static void main(String[] args) {
5776
.name("the name of your bot")
5877
.promptInfo(promptInfo)
5978
.onboardingInfo(onboardingInfo)
79+
.pluginIdList(pluginIdList)
80+
.workflowIdList(workflowIdList)
81+
.modelInfoConfig(modelInfoConfig)
6082
.iconFileID(avatarInfo.getFileInfo().getID())
6183
.build();
6284

0 commit comments

Comments
 (0)