fix: route Scaffolder AI requests to internal litellm and fix UseCase update bug
Some checks failed
Deploy to OCIWP / deploy (push) Failing after 29s

This commit is contained in:
jade
2026-08-28 17:11:39 +09:00
parent 94b7c1a395
commit f7ed8e8788
8 changed files with 30 additions and 5 deletions

View File

@@ -427,10 +427,33 @@ public class ScaffoldingController {
}
private String generateAiContent(String prompt, String requestedModel) {
return chatClientBuilder.build().prompt()
String resolvedModel = resolveModel(requestedModel);
org.springframework.ai.chat.client.ChatClient activeChatClient;
org.springframework.ai.chat.prompt.ChatOptions chatOptions;
if ("Qwen3-Coder".equalsIgnoreCase(resolvedModel) || "Gemma-4-31B".equalsIgnoreCase(resolvedModel)) {
String liteLlmBaseUrl = "https://dev-iam-litellm.shinhanlife.co.kr:18020";
String apiKey = "Gemma-4-31B".equalsIgnoreCase(resolvedModel) ? "sk-EH107wYBZuU6RUTqthR17A" : "sk-UJ2IRenvaMPbY3ozQdj6zw";
org.springframework.ai.openai.api.OpenAiApi openAiApi = org.springframework.ai.openai.api.OpenAiApi.builder()
.baseUrl(liteLlmBaseUrl)
.apiKey(new org.springframework.ai.model.SimpleApiKey(apiKey))
.build();
org.springframework.ai.openai.OpenAiChatModel dynamicChatModel = org.springframework.ai.openai.OpenAiChatModel.builder()
.openAiApi(openAiApi)
.build();
activeChatClient = org.springframework.ai.chat.client.ChatClient.builder(dynamicChatModel).build();
chatOptions = org.springframework.ai.openai.OpenAiChatOptions.builder().model(resolvedModel).build();
} else {
activeChatClient = chatClientBuilder.build();
chatOptions = org.springframework.ai.openai.OpenAiChatOptions.builder().model(resolvedModel).build();
}
return activeChatClient.prompt()
.user(prompt)
.options(org.springframework.ai.openai.OpenAiChatOptions.builder()
.model(resolveModel(requestedModel)).build())
.options(chatOptions)
.call()
.content();
}

View File

@@ -1709,8 +1709,10 @@
} catch (error) {
console.warn(error);
}
nameInput.value = '';
nameInput.readOnly = false;
if (!nameInput.value) {
nameInput.value = '';
nameInput.readOnly = false;
}
loadUseCasesForSelection();
}