Simplify advisor observation naming
- Simplify advisor naming in DefaultAdvisorObservationConvention - Update corresponding test cases
This commit is contained in:
@@ -1,70 +0,0 @@
|
||||
/*
|
||||
* Copyright 2023 - 2024 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.springframework.ai.openai.api;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.http.client.SimpleClientHttpRequestFactory;
|
||||
import org.springframework.web.client.RestClient;
|
||||
import org.springframework.web.client.RestClient.Builder;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import org.springframework.web.util.DefaultUriBuilderFactory;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* @author Christian Tzolov
|
||||
*/
|
||||
public class RestClientBuilderTests {
|
||||
|
||||
public static final String BASE_URL = "https://dog.ceo";
|
||||
|
||||
@Test
|
||||
public void test1() {
|
||||
test(RestClient.builder(), BASE_URL);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test2() {
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
test(RestClient.builder(restTemplate), BASE_URL);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test3() {
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(BASE_URL));
|
||||
test(RestClient.builder(restTemplate), BASE_URL);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test4() {
|
||||
var clientHttpRequestFactory = new SimpleClientHttpRequestFactory();
|
||||
clientHttpRequestFactory.setConnectTimeout(5000);
|
||||
// clientHttpRequestFactory.setProxy(new Proxy(Type.HTTP,
|
||||
// InetSocketAddress.createUnresolved("localhost", 80)));
|
||||
RestClient.Builder builder = RestClient.builder().requestFactory(clientHttpRequestFactory);
|
||||
test(builder, BASE_URL);
|
||||
}
|
||||
|
||||
private void test(Builder restClientBuilder, String baseUrl) {
|
||||
var restClient = restClientBuilder.baseUrl(baseUrl).build();
|
||||
String res = restClient.get().uri("/api/breeds/list/all").retrieve().body(String.class);
|
||||
|
||||
assertThat(res).isNotNull();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -58,9 +58,9 @@ public class DefaultAdvisorObservationConvention implements AdvisorObservationCo
|
||||
@Override
|
||||
@Nullable
|
||||
public String getContextualName(AdvisorObservationContext context) {
|
||||
return "%s %s_%s".formatted(CHAT_CLIENT_ADVISOR_SPRING_AI_KIND,
|
||||
ParsingUtils.reconcatenateCamelCase(context.getAdvisorName(), "_"),
|
||||
context.getAdvisorType().name().toLowerCase());
|
||||
return ParsingUtils.reConcatenateCamelCase(context.getAdvisorName(), "_")
|
||||
.replace("_around_advisor", "")
|
||||
.replace("_advisor", "");
|
||||
}
|
||||
|
||||
// ------------------------
|
||||
|
||||
@@ -69,7 +69,7 @@ public abstract class ParsingUtils {
|
||||
* @param delimiter must not be {@literal null}.
|
||||
* @return
|
||||
*/
|
||||
public static String reconcatenateCamelCase(String source, String delimiter) {
|
||||
public static String reConcatenateCamelCase(String source, String delimiter) {
|
||||
|
||||
Assert.notNull(source, "Source string must not be null");
|
||||
Assert.notNull(delimiter, "Delimiter must not be null");
|
||||
|
||||
@@ -44,8 +44,7 @@ class DefaultAdvisorObservationConventionTests {
|
||||
.withAdvisorName("MyName")
|
||||
.withAdvisorType(AdvisorObservationContext.Type.AROUND)
|
||||
.build();
|
||||
assertThat(this.observationConvention.getContextualName(observationContext))
|
||||
.isEqualTo("chat_client_advisor my_name_around");
|
||||
assertThat(this.observationConvention.getContextualName(observationContext)).isEqualTo("my_name");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user