|
@@ -44,6 +44,7 @@ import java.net.URISyntaxException;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Optional;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
import static org.elasticsearch.ExceptionsHelper.unwrapCause;
|
|
@@ -90,7 +91,7 @@ public class DeepSeekServiceTests extends ESTestCase {
|
|
|
}
|
|
|
""", webServer.getUri(null).toString()), assertNoFailureListener(model -> {
|
|
|
if (model instanceof DeepSeekChatCompletionModel deepSeekModel) {
|
|
|
- assertThat(deepSeekModel.apiKey().getChars(), equalTo("12345".toCharArray()));
|
|
|
+ assertThat(deepSeekModel.apiKey().get().getChars(), equalTo("12345".toCharArray()));
|
|
|
assertThat(deepSeekModel.model(), equalTo("some-cool-model"));
|
|
|
assertThat(deepSeekModel.uri(), equalTo(webServer.getUri(null)));
|
|
|
} else {
|
|
@@ -158,13 +159,10 @@ public class DeepSeekServiceTests extends ESTestCase {
|
|
|
{
|
|
|
"service_settings": {
|
|
|
"model_id": "some-cool-model"
|
|
|
- },
|
|
|
- "secret_settings": {
|
|
|
- "api_key": "12345"
|
|
|
}
|
|
|
}
|
|
|
""");
|
|
|
- assertThat(deepSeekModel.apiKey().getChars(), equalTo("12345".toCharArray()));
|
|
|
+ assertThat(deepSeekModel.apiKey(), equalTo(Optional.empty()));
|
|
|
assertThat(deepSeekModel.model(), equalTo("some-cool-model"));
|
|
|
}
|
|
|
|
|
@@ -174,33 +172,14 @@ public class DeepSeekServiceTests extends ESTestCase {
|
|
|
"service_settings": {
|
|
|
"model_id": "some-cool-model",
|
|
|
"url": "http://localhost:989"
|
|
|
- },
|
|
|
- "secret_settings": {
|
|
|
- "api_key": "12345"
|
|
|
}
|
|
|
}
|
|
|
""");
|
|
|
- assertThat(deepSeekModel.apiKey().getChars(), equalTo("12345".toCharArray()));
|
|
|
+ assertThat(deepSeekModel.apiKey(), equalTo(Optional.empty()));
|
|
|
assertThat(deepSeekModel.model(), equalTo("some-cool-model"));
|
|
|
assertThat(deepSeekModel.uri(), equalTo(URI.create("http://localhost:989")));
|
|
|
}
|
|
|
|
|
|
- public void testParsePersistedConfigWithoutApiKey() {
|
|
|
- assertThrows(
|
|
|
- "Validation Failed: 1: [secret_settings] does not contain the required setting [api_key];",
|
|
|
- ValidationException.class,
|
|
|
- () -> parsePersistedConfig("""
|
|
|
- {
|
|
|
- "service_settings": {
|
|
|
- "model_id": "some-cool-model"
|
|
|
- },
|
|
|
- "secret_settings": {
|
|
|
- }
|
|
|
- }
|
|
|
- """)
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
public void testParsePersistedConfigWithoutModel() {
|
|
|
assertThrows(
|
|
|
"Validation Failed: 1: [service_settings] does not contain the required setting [model];",
|
|
@@ -424,17 +403,20 @@ public class DeepSeekServiceTests extends ESTestCase {
|
|
|
}
|
|
|
|
|
|
private DeepSeekChatCompletionModel createModel(DeepSeekService service, TaskType taskType) throws URISyntaxException, IOException {
|
|
|
- var model = service.parsePersistedConfig("inference-id", taskType, map(Strings.format("""
|
|
|
+ var model = service.parsePersistedConfigWithSecrets("inference-id", taskType, map(Strings.format("""
|
|
|
{
|
|
|
"service_settings": {
|
|
|
"model_id": "some-cool-model",
|
|
|
"url": "%s"
|
|
|
- },
|
|
|
+ }
|
|
|
+ }
|
|
|
+ """, webServer.getUri(null).toString())), map("""
|
|
|
+ {
|
|
|
"secret_settings": {
|
|
|
"api_key": "12345"
|
|
|
}
|
|
|
}
|
|
|
- """, webServer.getUri(null).toString())));
|
|
|
+ """));
|
|
|
assertThat(model, isA(DeepSeekChatCompletionModel.class));
|
|
|
return (DeepSeekChatCompletionModel) model;
|
|
|
}
|