Skip to content

Commit 1444afc

Browse files
feat: add support of IBM models to AI API (box/box-openapi#522) (#298)
1 parent 0de436f commit 1444afc

File tree

17 files changed

+316
-133
lines changed

17 files changed

+316
-133
lines changed

.codegen.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{ "engineHash": "c2a365c", "specHash": "6a332e7", "version": "0.6.2" }
1+
{ "engineHash": "c2a365c", "specHash": "4e677e3", "version": "0.6.2" }

src/main/java/com/box/sdkgen/schemas/aiagentbasicgentool/AiAgentBasicGenTool.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.box.sdkgen.schemas.aiagentlongtexttooltextgen.AiAgentLongTextToolTextGen;
44
import com.box.sdkgen.schemas.aiagentlongtexttooltextgen.AiAgentLongTextToolTextGenEmbeddingsField;
5-
import com.box.sdkgen.schemas.aillmendpointparamsawsoraillmendpointparamsgoogleoraillmendpointparamsopenai.AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi;
5+
import com.box.sdkgen.schemas.aillmendpointparams.AiLlmEndpointParams;
66
import com.fasterxml.jackson.annotation.JsonProperty;
77
import java.util.Objects;
88

@@ -109,9 +109,7 @@ public AiAgentBasicGenToolBuilder numTokensForCompletion(Long numTokensForComple
109109
}
110110

111111
@Override
112-
public AiAgentBasicGenToolBuilder llmEndpointParams(
113-
AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi
114-
llmEndpointParams) {
112+
public AiAgentBasicGenToolBuilder llmEndpointParams(AiLlmEndpointParams llmEndpointParams) {
115113
this.llmEndpointParams = llmEndpointParams;
116114
return this;
117115
}

src/main/java/com/box/sdkgen/schemas/aiagentbasictexttool/AiAgentBasicTextTool.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.box.sdkgen.schemas.aiagentbasictexttool;
22

33
import com.box.sdkgen.schemas.aiagentbasictexttoolbase.AiAgentBasicTextToolBase;
4-
import com.box.sdkgen.schemas.aillmendpointparamsawsoraillmendpointparamsgoogleoraillmendpointparamsopenai.AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi;
4+
import com.box.sdkgen.schemas.aillmendpointparams.AiLlmEndpointParams;
55
import com.fasterxml.jackson.annotation.JsonProperty;
66
import java.util.Objects;
77

@@ -107,9 +107,7 @@ public AiAgentBasicTextToolBuilder numTokensForCompletion(Long numTokensForCompl
107107
}
108108

109109
@Override
110-
public AiAgentBasicTextToolBuilder llmEndpointParams(
111-
AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi
112-
llmEndpointParams) {
110+
public AiAgentBasicTextToolBuilder llmEndpointParams(AiLlmEndpointParams llmEndpointParams) {
113111
this.llmEndpointParams = llmEndpointParams;
114112
return this;
115113
}

src/main/java/com/box/sdkgen/schemas/aiagentbasictexttoolbase/AiAgentBasicTextToolBase.java

+5-9
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.box.sdkgen.schemas.aiagentbasictexttoolbase;
22

33
import com.box.sdkgen.internal.SerializableObject;
4-
import com.box.sdkgen.schemas.aillmendpointparamsawsoraillmendpointparamsgoogleoraillmendpointparamsopenai.AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi;
4+
import com.box.sdkgen.schemas.aillmendpointparams.AiLlmEndpointParams;
55
import com.fasterxml.jackson.annotation.JsonProperty;
66
import java.util.Objects;
77

@@ -13,8 +13,7 @@ public class AiAgentBasicTextToolBase extends SerializableObject {
1313
protected Long numTokensForCompletion;
1414

1515
@JsonProperty("llm_endpoint_params")
16-
protected AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi
17-
llmEndpointParams;
16+
protected AiLlmEndpointParams llmEndpointParams;
1817

1918
public AiAgentBasicTextToolBase() {
2019
super();
@@ -35,8 +34,7 @@ public Long getNumTokensForCompletion() {
3534
return numTokensForCompletion;
3635
}
3736

38-
public AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi
39-
getLlmEndpointParams() {
37+
public AiLlmEndpointParams getLlmEndpointParams() {
4038
return llmEndpointParams;
4139
}
4240

@@ -82,8 +80,7 @@ public static class AiAgentBasicTextToolBaseBuilder {
8280

8381
protected Long numTokensForCompletion;
8482

85-
protected AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi
86-
llmEndpointParams;
83+
protected AiLlmEndpointParams llmEndpointParams;
8784

8885
public AiAgentBasicTextToolBaseBuilder model(String model) {
8986
this.model = model;
@@ -96,8 +93,7 @@ public AiAgentBasicTextToolBaseBuilder numTokensForCompletion(Long numTokensForC
9693
}
9794

9895
public AiAgentBasicTextToolBaseBuilder llmEndpointParams(
99-
AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi
100-
llmEndpointParams) {
96+
AiLlmEndpointParams llmEndpointParams) {
10197
this.llmEndpointParams = llmEndpointParams;
10298
return this;
10399
}

src/main/java/com/box/sdkgen/schemas/aiagentbasictexttooltextgen/AiAgentBasicTextToolTextGen.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.box.sdkgen.schemas.aiagentbasictexttooltextgen;
22

33
import com.box.sdkgen.schemas.aiagentbasictexttoolbase.AiAgentBasicTextToolBase;
4-
import com.box.sdkgen.schemas.aillmendpointparamsawsoraillmendpointparamsgoogleoraillmendpointparamsopenai.AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi;
4+
import com.box.sdkgen.schemas.aillmendpointparams.AiLlmEndpointParams;
55
import com.fasterxml.jackson.annotation.JsonProperty;
66
import java.util.Objects;
77

@@ -108,8 +108,7 @@ public AiAgentBasicTextToolTextGenBuilder numTokensForCompletion(Long numTokensF
108108

109109
@Override
110110
public AiAgentBasicTextToolTextGenBuilder llmEndpointParams(
111-
AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi
112-
llmEndpointParams) {
111+
AiLlmEndpointParams llmEndpointParams) {
113112
this.llmEndpointParams = llmEndpointParams;
114113
return this;
115114
}

src/main/java/com/box/sdkgen/schemas/aiagentlongtexttool/AiAgentLongTextTool.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.box.sdkgen.schemas.aiagentlongtexttool;
22

33
import com.box.sdkgen.schemas.aiagentbasictexttool.AiAgentBasicTextTool;
4-
import com.box.sdkgen.schemas.aillmendpointparamsawsoraillmendpointparamsgoogleoraillmendpointparamsopenai.AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi;
4+
import com.box.sdkgen.schemas.aillmendpointparams.AiLlmEndpointParams;
55
import java.util.Objects;
66

77
public class AiAgentLongTextTool extends AiAgentBasicTextTool {
@@ -100,9 +100,7 @@ public AiAgentLongTextToolBuilder numTokensForCompletion(Long numTokensForComple
100100
}
101101

102102
@Override
103-
public AiAgentLongTextToolBuilder llmEndpointParams(
104-
AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi
105-
llmEndpointParams) {
103+
public AiAgentLongTextToolBuilder llmEndpointParams(AiLlmEndpointParams llmEndpointParams) {
106104
this.llmEndpointParams = llmEndpointParams;
107105
return this;
108106
}

src/main/java/com/box/sdkgen/schemas/aiagentlongtexttooltextgen/AiAgentLongTextToolTextGen.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.box.sdkgen.schemas.aiagentlongtexttooltextgen;
22

33
import com.box.sdkgen.schemas.aiagentbasictexttooltextgen.AiAgentBasicTextToolTextGen;
4-
import com.box.sdkgen.schemas.aillmendpointparamsawsoraillmendpointparamsgoogleoraillmendpointparamsopenai.AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi;
4+
import com.box.sdkgen.schemas.aillmendpointparams.AiLlmEndpointParams;
55
import java.util.Objects;
66

77
public class AiAgentLongTextToolTextGen extends AiAgentBasicTextToolTextGen {
@@ -102,8 +102,7 @@ public AiAgentLongTextToolTextGenBuilder numTokensForCompletion(Long numTokensFo
102102

103103
@Override
104104
public AiAgentLongTextToolTextGenBuilder llmEndpointParams(
105-
AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi
106-
llmEndpointParams) {
105+
AiLlmEndpointParams llmEndpointParams) {
107106
this.llmEndpointParams = llmEndpointParams;
108107
return this;
109108
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
package com.box.sdkgen.schemas.aillmendpointparams;
2+
3+
import com.box.sdkgen.internal.OneOfFour;
4+
import com.box.sdkgen.schemas.aillmendpointparamsaws.AiLlmEndpointParamsAws;
5+
import com.box.sdkgen.schemas.aillmendpointparamsgoogle.AiLlmEndpointParamsGoogle;
6+
import com.box.sdkgen.schemas.aillmendpointparamsibm.AiLlmEndpointParamsIbm;
7+
import com.box.sdkgen.schemas.aillmendpointparamsopenai.AiLlmEndpointParamsOpenAi;
8+
import com.box.sdkgen.serialization.json.JsonManager;
9+
import com.fasterxml.jackson.core.JsonParser;
10+
import com.fasterxml.jackson.databind.DeserializationContext;
11+
import com.fasterxml.jackson.databind.JsonDeserializer;
12+
import com.fasterxml.jackson.databind.JsonMappingException;
13+
import com.fasterxml.jackson.databind.JsonNode;
14+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
15+
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
16+
import java.io.IOException;
17+
18+
@JsonDeserialize(using = AiLlmEndpointParams.AiLlmEndpointParamsDeserializer.class)
19+
@JsonSerialize(using = OneOfFour.OneOfFourSerializer.class)
20+
public class AiLlmEndpointParams
21+
extends OneOfFour<
22+
AiLlmEndpointParamsOpenAi,
23+
AiLlmEndpointParamsGoogle,
24+
AiLlmEndpointParamsAws,
25+
AiLlmEndpointParamsIbm> {
26+
27+
public AiLlmEndpointParams(AiLlmEndpointParamsOpenAi aiLlmEndpointParamsOpenAi) {
28+
super(aiLlmEndpointParamsOpenAi, null, null, null);
29+
}
30+
31+
public AiLlmEndpointParams(AiLlmEndpointParamsGoogle aiLlmEndpointParamsGoogle) {
32+
super(null, aiLlmEndpointParamsGoogle, null, null);
33+
}
34+
35+
public AiLlmEndpointParams(AiLlmEndpointParamsAws aiLlmEndpointParamsAws) {
36+
super(null, null, aiLlmEndpointParamsAws, null);
37+
}
38+
39+
public AiLlmEndpointParams(AiLlmEndpointParamsIbm aiLlmEndpointParamsIbm) {
40+
super(null, null, null, aiLlmEndpointParamsIbm);
41+
}
42+
43+
public AiLlmEndpointParamsOpenAi getAiLlmEndpointParamsOpenAi() {
44+
return value0;
45+
}
46+
47+
public AiLlmEndpointParamsGoogle getAiLlmEndpointParamsGoogle() {
48+
return value1;
49+
}
50+
51+
public AiLlmEndpointParamsAws getAiLlmEndpointParamsAws() {
52+
return value2;
53+
}
54+
55+
public AiLlmEndpointParamsIbm getAiLlmEndpointParamsIbm() {
56+
return value3;
57+
}
58+
59+
static class AiLlmEndpointParamsDeserializer extends JsonDeserializer<AiLlmEndpointParams> {
60+
61+
public AiLlmEndpointParamsDeserializer() {
62+
super();
63+
}
64+
65+
@Override
66+
public AiLlmEndpointParams deserialize(JsonParser jp, DeserializationContext ctxt)
67+
throws IOException {
68+
JsonNode node = JsonManager.jsonToSerializedData(jp);
69+
JsonNode discriminant0 = node.get("type");
70+
if (!(discriminant0 == null)) {
71+
switch (discriminant0.asText()) {
72+
case "openai_params":
73+
return new AiLlmEndpointParams(
74+
JsonManager.deserialize(node, AiLlmEndpointParamsOpenAi.class));
75+
case "google_params":
76+
return new AiLlmEndpointParams(
77+
JsonManager.deserialize(node, AiLlmEndpointParamsGoogle.class));
78+
case "aws_params":
79+
return new AiLlmEndpointParams(
80+
JsonManager.deserialize(node, AiLlmEndpointParamsAws.class));
81+
case "ibm_params":
82+
return new AiLlmEndpointParams(
83+
JsonManager.deserialize(node, AiLlmEndpointParamsIbm.class));
84+
}
85+
}
86+
throw new JsonMappingException(jp, "Unable to deserialize AiLlmEndpointParams");
87+
}
88+
}
89+
}

src/main/java/com/box/sdkgen/schemas/aillmendpointparamsawsoraillmendpointparamsgoogleoraillmendpointparamsopenai/AiLlmEndpointParamsAwsOrAiLlmEndpointParamsGoogleOrAiLlmEndpointParamsOpenAi.java

-87
This file was deleted.

0 commit comments

Comments
 (0)