Skip to content

Commit 7655593

Browse files
authored
Merge pull request #276 from johnoliver/fix-java-types
Fix java types
2 parents cf3d8cf + f59e19c commit 7655593

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 1.4.2
2+
3+
- Fix bug effecting using native Java methods with OpenAI tool calling
4+
15
# 1.4.1
26

37
- Add Otel Telemetry on function invocations

aiservices/openai/src/main/java/com/microsoft/semantickernel/aiservices/openai/chatcompletion/OpenAIFunction.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,21 +189,30 @@ private static String getSchemaForFunctionParameter(@Nullable InputVariable para
189189

190190
private static String getJavaTypeToOpenAiFunctionType(String javaType) {
191191
switch (javaType.toLowerCase(Locale.ROOT)) {
192+
case "java.lang.boolean":
192193
case "boolean":
193194
return "boolean";
195+
case "java.lang.integer":
194196
case "integer":
195197
case "int":
198+
case "java.lang.long":
196199
case "long":
200+
case "java.lang.short":
197201
case "short":
202+
case "java.lang.byte":
198203
case "byte":
199204
return "integer";
205+
case "java.lang.double":
200206
case "double":
207+
case "java.lang.float":
201208
case "float":
202209
return "number";
210+
case "java.lang.string":
203211
case "string":
204212
return "string";
205213
case "array":
206214
return "array";
215+
case "java.lang.void":
207216
case "void":
208217
return "null";
209218
default:

semantickernel-api/src/main/java/com/microsoft/semantickernel/hooks/KernelHook.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,11 @@ static ChatCompletionsOptions cloneOptionsWithMessages(
115115
.setN(options.getN())
116116
.setResponseFormat(options.getResponseFormat())
117117
.setSeed(options.getSeed())
118-
.setStream(options.isStream())
119-
.setToolChoice(options.getToolChoice());
118+
.setStream(options.isStream());
119+
120+
if (options.getToolChoice() != null) {
121+
newOptions.setToolChoice(options.getToolChoice());
122+
}
120123

121124
if (options.getFunctionCall() != null) {
122125
newOptions = newOptions.setFunctionCall(options.getFunctionCall());

0 commit comments

Comments
 (0)