From c65cf68eef308ecb010828d741750855328b760d Mon Sep 17 00:00:00 2001 From: John Oliver <1615532+johnoliver@users.noreply.github.com> Date: Wed, 14 Aug 2024 13:04:22 +0100 Subject: [PATCH] Changelog. Code format. Verion bumps --- CHANGELOG.md | 10 +++++++++- .../chatcompletion/OpenAIChatCompletion.java | 8 ++++---- api-test/integration-tests/pom.xml | 14 +++++++------- pom.xml | 13 +++++++++++++ .../semantickernel-syntax-examples/pom.xml | 8 ++++---- .../booking-agent-m365/pom.xml | 2 +- .../semantickernel-spring-starter/pom.xml | 12 ++++++------ .../semantickernel-openapi-plugin/pom.xml | 15 --------------- semantickernel-api/pom.xml | 2 -- .../services/chatcompletion/ChatHistory.java | 3 ++- semantickernel-experimental/pom.xml | 4 +--- 11 files changed, 47 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8e406be..86a40fcc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,10 +5,18 @@ - Add fluent returns to `ChatHistory` `addXMessage` methods. - Add user agent opt-out for OpenAI requests by setting the property `semantic-kernel.useragent-disable` to `true`. - Add several convenience `invokePromptAsync` methods to `Kernel`. +- Allow Handlebars templates to call Javabean getters to extract data from invocation arguments. +- Improve thread safety of `ChatHistory`. + +#### Experimental Changes + +- Add JDBC vector store #### Non-API Changes -- Add custom type Conversion example, CustomTypes_Example +- Add custom type Conversion example, `CustomTypes_Example` +- Dependency updates and pom cleanup +- Documentation updates # 1.2.0 diff --git a/aiservices/openai/src/main/java/com/microsoft/semantickernel/aiservices/openai/chatcompletion/OpenAIChatCompletion.java b/aiservices/openai/src/main/java/com/microsoft/semantickernel/aiservices/openai/chatcompletion/OpenAIChatCompletion.java index ca8eb5b3..5442e51e 100644 --- a/aiservices/openai/src/main/java/com/microsoft/semantickernel/aiservices/openai/chatcompletion/OpenAIChatCompletion.java +++ b/aiservices/openai/src/main/java/com/microsoft/semantickernel/aiservices/openai/chatcompletion/OpenAIChatCompletion.java @@ -357,7 +357,8 @@ private Mono internalChatMessageContentsAsync( // If we don't want to attempt to invoke any functions // Or if we are auto-invoking, but we somehow end up with other than 1 choice even though only 1 was requested if (autoInvokeAttempts == 0 || responseMessages.size() != 1) { - List> chatMessageContents = getChatMessageContentsAsync(completions); + List> chatMessageContents = getChatMessageContentsAsync( + completions); return Mono.just(messages.addChatMessage(chatMessageContents)); } // Or if there are no tool calls to be done @@ -365,7 +366,7 @@ private Mono internalChatMessageContentsAsync( List toolCalls = response.getToolCalls(); if (toolCalls == null || toolCalls.isEmpty()) { List> chatMessageContents = getChatMessageContentsAsync( - completions); + completions); return Mono.just(messages.addChatMessage(chatMessageContents)); } @@ -603,8 +604,7 @@ private List> getChatMessageContentsAsync( .filter(Objects::nonNull) .collect(Collectors.toList()); - List> chatMessageContent = - responseMessages + List> chatMessageContent = responseMessages .stream() .map(response -> { try { diff --git a/api-test/integration-tests/pom.xml b/api-test/integration-tests/pom.xml index cc93c7fe..b06a664f 100644 --- a/api-test/integration-tests/pom.xml +++ b/api-test/integration-tests/pom.xml @@ -1,6 +1,7 @@ - + 4.0.0 @@ -65,18 +66,18 @@ org.xerial sqlite-jdbc - 3.44.1.0 + 3.46.0.0 - mysql - mysql-connector-java - 8.0.33 + com.mysql + mysql-connector-j + 9.0.0 test org.postgresql postgresql - 42.7.2 + 42.7.3 @@ -103,7 +104,6 @@ org.wiremock wiremock - 3.3.1 test diff --git a/pom.xml b/pom.xml index a846ccab..d728b645 100644 --- a/pom.xml +++ b/pom.xml @@ -147,6 +147,19 @@ spotbugs-annotations ${spotbugs.version} + + + org.wiremock + wiremock + 3.9.1 + test + + + org.mockito + mockito-junit-jupiter + 5.12.0 + test + diff --git a/samples/semantickernel-concepts/semantickernel-syntax-examples/pom.xml b/samples/semantickernel-concepts/semantickernel-syntax-examples/pom.xml index dcf92999..28d79878 100644 --- a/samples/semantickernel-concepts/semantickernel-syntax-examples/pom.xml +++ b/samples/semantickernel-concepts/semantickernel-syntax-examples/pom.xml @@ -85,14 +85,14 @@ com.google.cloud google-cloud-vertexai - 1.1.0 + 1.6.0 compile - mysql - mysql-connector-java - 8.0.33 + com.mysql + mysql-connector-j + 9.0.0 diff --git a/samples/semantickernel-demos/booking-agent-m365/pom.xml b/samples/semantickernel-demos/booking-agent-m365/pom.xml index 0247bef0..621fe1b1 100644 --- a/samples/semantickernel-demos/booking-agent-m365/pom.xml +++ b/samples/semantickernel-demos/booking-agent-m365/pom.xml @@ -52,7 +52,7 @@ com.microsoft.graph microsoft-graph - 6.5.1 + 6.13.0 diff --git a/samples/semantickernel-demos/semantickernel-spring-starter/pom.xml b/samples/semantickernel-demos/semantickernel-spring-starter/pom.xml index ac17a0db..401b1f46 100644 --- a/samples/semantickernel-demos/semantickernel-spring-starter/pom.xml +++ b/samples/semantickernel-demos/semantickernel-spring-starter/pom.xml @@ -39,29 +39,29 @@ org.springframework.boot spring-boot-test - 3.2.1 + 3.3.2 test org.assertj assertj-core - 3.25.1 + 3.26.3 test org.springframework.boot spring-boot-autoconfigure - 3.2.1 + 3.3.2 org.springframework.boot spring-boot - 3.2.1 + 3.3.1 org.springframework spring-test - 6.1.2 + 6.1.10 test @@ -72,7 +72,7 @@ org.junit.jupiter junit-jupiter-api - 5.10.1 + 5.10.3 test diff --git a/samples/semantickernel-sample-plugins/semantickernel-openapi-plugin/pom.xml b/samples/semantickernel-sample-plugins/semantickernel-openapi-plugin/pom.xml index 5424f254..a7be951b 100644 --- a/samples/semantickernel-sample-plugins/semantickernel-openapi-plugin/pom.xml +++ b/samples/semantickernel-sample-plugins/semantickernel-openapi-plugin/pom.xml @@ -68,21 +68,6 @@ com.microsoft.semantic-kernel semantickernel-aiservices-openai - - org.apache.logging.log4j - log4j-api - test - - - org.apache.logging.log4j - log4j-core - test - - - org.apache.logging.log4j - log4j-slf4j2-impl - test - org.junit.jupiter junit-jupiter-api diff --git a/semantickernel-api/pom.xml b/semantickernel-api/pom.xml index 6171818b..5c688f75 100644 --- a/semantickernel-api/pom.xml +++ b/semantickernel-api/pom.xml @@ -67,7 +67,6 @@ org.wiremock wiremock - 3.3.1 test @@ -80,7 +79,6 @@ org.mockito mockito-junit-jupiter - 5.11.0 test diff --git a/semantickernel-api/src/main/java/com/microsoft/semantickernel/services/chatcompletion/ChatHistory.java b/semantickernel-api/src/main/java/com/microsoft/semantickernel/services/chatcompletion/ChatHistory.java index a8303061..903669b3 100644 --- a/semantickernel-api/src/main/java/com/microsoft/semantickernel/services/chatcompletion/ChatHistory.java +++ b/semantickernel-api/src/main/java/com/microsoft/semantickernel/services/chatcompletion/ChatHistory.java @@ -69,7 +69,8 @@ public Optional> getLastMessage() { if (chatMessageContents.isEmpty()) { return Optional.empty(); } - return Optional.of(((ConcurrentLinkedQueue>)chatMessageContents).peek()); + return Optional + .of(((ConcurrentLinkedQueue>) chatMessageContents).peek()); } /** diff --git a/semantickernel-experimental/pom.xml b/semantickernel-experimental/pom.xml index 3efd8ab0..a16d7a19 100644 --- a/semantickernel-experimental/pom.xml +++ b/semantickernel-experimental/pom.xml @@ -64,7 +64,6 @@ org.wiremock wiremock - 3.3.1 test @@ -77,7 +76,6 @@ org.mockito mockito-junit-jupiter - 5.11.0 test @@ -112,7 +110,7 @@ org.postgresql postgresql - 42.7.2 + 42.7.3