Skip to content

Commit

Permalink
Merge pull request #417 from PolarishT/core-migtate
Browse files Browse the repository at this point in the history
[feat]: migrate spring-ai-alibaba 1.0.0-m5 to 1.0.0-m6
  • Loading branch information
chickenlj authored Feb 24, 2025
2 parents 32c1886 + b78395a commit cb50ef6
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 37 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,4 @@ If applicable, add screenshots to help explain your problem.

**Additional context**
Add any other context about the problem here.
e.g. MacOS 、Java17 、 Version 1.0.0-M2.1
e.g. MacOS 、Java17 、 Version 1.0.0-M6.1
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@

<properties>

<revision>1.0.0-M5.1</revision>
<revision>1.0.0-M6.1</revision>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
Expand All @@ -107,7 +107,7 @@
<spring-boot.version>3.3.3</spring-boot.version>

<!-- Spring AI -->
<spring-ai.version>1.0.0-M5</spring-ai.version>
<spring-ai.version>1.0.0-M6</spring-ai.version>
<dashscope-sdk-java.version>2.15.1</dashscope-sdk-java.version>

<!-- plugin versions -->
Expand Down Expand Up @@ -368,7 +368,7 @@
<overview>${project.basedir}/spring-ai-docs/src/main/javadoc/overview.html</overview>
<detectJavaApiLink>false</detectJavaApiLink>
<doclint>none</doclint>
<!-- <doclint>all,-missing</doclint>-->
<!-- <doclint>all,-missing</doclint> -->
<quiet>true</quiet>
</configuration>
<executions>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,18 @@
*/
package com.alibaba.cloud.ai.autoconfigure.dashscope;

import java.time.Duration;
import java.util.List;

import com.alibaba.cloud.ai.dashscope.api.DashScopeAgentApi;
import com.alibaba.cloud.ai.dashscope.api.DashScopeApi;
import com.alibaba.cloud.ai.dashscope.api.DashScopeAudioTranscriptionApi;
import com.alibaba.cloud.ai.dashscope.api.DashScopeImageApi;
import com.alibaba.cloud.ai.dashscope.api.DashScopeSpeechSynthesisApi;
import com.alibaba.cloud.ai.dashscope.api.*;
import com.alibaba.cloud.ai.dashscope.audio.DashScopeAudioTranscriptionModel;
import com.alibaba.cloud.ai.dashscope.audio.DashScopeSpeechSynthesisModel;
import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel;
import com.alibaba.cloud.ai.dashscope.embedding.DashScopeEmbeddingModel;
import com.alibaba.cloud.ai.dashscope.image.DashScopeImageModel;
import com.alibaba.cloud.ai.dashscope.rerank.DashScopeRerankModel;
import io.micrometer.observation.ObservationRegistry;

import org.springframework.ai.autoconfigure.retry.SpringAiRetryAutoConfiguration;
import org.springframework.ai.chat.observation.ChatModelObservationConvention;
import org.springframework.ai.embedding.observation.EmbeddingModelObservationConvention;
import org.springframework.ai.image.observation.ImageModelObservationConvention;
import org.springframework.ai.model.function.DefaultFunctionCallbackResolver;
import org.springframework.ai.model.function.FunctionCallback;
import org.springframework.ai.model.function.FunctionCallbackResolver;
Expand All @@ -57,6 +50,9 @@
import org.springframework.web.client.RestClient;
import org.springframework.web.reactive.function.client.WebClient;

import java.time.Duration;
import java.util.List;

import static com.alibaba.cloud.ai.autoconfigure.dashscope.DashScopeConnectionUtils.resolveConnectionProperties;

/**
Expand Down Expand Up @@ -86,6 +82,24 @@
})
public class DashScopeAutoConfiguration {

@Bean
public RestClientCustomizer restClientCustomizer(DashScopeConnectionProperties commonProperties) {

return restClientBuilder -> restClientBuilder
.requestFactory(ClientHttpRequestFactories.get(ClientHttpRequestFactorySettings.DEFAULTS
.withReadTimeout(Duration.ofSeconds(commonProperties.getReadTimeout()))));
}

@Bean
@ConditionalOnMissingBean
public FunctionCallbackResolver springAiFunctionManager(ApplicationContext context) {

DefaultFunctionCallbackResolver manager = new DefaultFunctionCallbackResolver();
manager.setApplicationContext(context);

return manager;
}

/**
* Spring AI Alibaba DashScope Chat Configuration.
*/
Expand Down Expand Up @@ -195,7 +209,9 @@ public DashScopeImageModel dashScopeImageModel(
RestClient.Builder restClientBuilder,
WebClient.Builder webClientBuilder,
RetryTemplate retryTemplate,
ResponseErrorHandler responseErrorHandler
ResponseErrorHandler responseErrorHandler,
ObjectProvider<ObservationRegistry> observationRegistry,
ObjectProvider<ImageModelObservationConvention> observationConvention
) {

ResolvedConnectionProperties resolved = resolveConnectionProperties(
Expand All @@ -213,11 +229,16 @@ public DashScopeImageModel dashScopeImageModel(
responseErrorHandler
);

return new DashScopeImageModel(
DashScopeImageModel dashScopeImageModel = new DashScopeImageModel(
dashScopeImageApi,
imageProperties.getOptions(),
retryTemplate
);
retryTemplate,
observationRegistry.getIfUnique(() -> ObservationRegistry.NOOP
));

observationConvention.ifAvailable(dashScopeImageModel::setObservationConvention);

return dashScopeImageModel;
}

}
Expand Down Expand Up @@ -421,23 +442,5 @@ public DashScopeRerankModel dashscopeRerankModel(

}

@Bean
public RestClientCustomizer restClientCustomizer(DashScopeConnectionProperties commonProperties) {

return restClientBuilder -> restClientBuilder
.requestFactory(ClientHttpRequestFactories.get(ClientHttpRequestFactorySettings.DEFAULTS
.withReadTimeout(Duration.ofSeconds(commonProperties.getReadTimeout()))));
}

@Bean
@ConditionalOnMissingBean
public FunctionCallbackResolver springAiFunctionManager(ApplicationContext context) {

DefaultFunctionCallbackResolver manager = new DefaultFunctionCallbackResolver();
manager.setApplicationContext(context);

return manager;
}

}
// @formatter:on
4 changes: 2 additions & 2 deletions spring-ai-alibaba-dependencies/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
<description>spring-ai-alibaba dependency manager</description>

<properties>
<revision>1.0.0-M5.1-SNAPSHOT</revision>
<revision>1.0.0-M6.1-SNAPSHOT</revision>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
Expand All @@ -38,7 +38,7 @@
<spring-boot.version>3.3.3</spring-boot.version>

<!-- Spring AI -->
<spring-ai.version>1.0.0-M5</spring-ai.version>
<spring-ai.version>1.0.0-M6</spring-ai.version>
<dashscope-sdk-java.version>2.15.1</dashscope-sdk-java.version>

<!-- plugin versions -->
Expand Down

0 comments on commit cb50ef6

Please sign in to comment.