728x90
반응형
SMALL
자소서 기능만 있어서 추가로 광고문구 만드는 기능도 추가했습니다.
ChatGPTService
public String advertisementSearch(String query,String query2,String query3) {
ChatGPTRequest chatGPTRequest = new ChatGPTRequest();
chatGPTRequest.setPrompt(query + "에 대해서 광고 문구 만들고 싶어 종류나 장르는 "+query2+"이고 깔끔한 한줄짜리 광고 문구 만들어주고 강조할 부분은"+query3);
chatGPTRequest.setMaxTokens(300);
String url = OPEN_AI_URL;
HttpPost post = new HttpPost(url);
post.addHeader("Content-Type", "application/json");
post.addHeader("Authorization", "Bearer " + OPEN_AI_KEY);
Gson gson = new Gson();
String body = gson.toJson(chatGPTRequest);
log.info("body : " + body);
try {
final StringEntity entity = new StringEntity(body, "UTF-8");
post.setEntity(entity);
try (CloseableHttpClient httpClient = HttpClients.custom().build();
CloseableHttpResponse response = httpClient.execute(post)) {
String responseBody = EntityUtils.toString(response.getEntity());
log.info("responseBody = " + responseBody);
ChatGPTResponse chatGPTResponse = gson.fromJson(responseBody, ChatGPTResponse.class);
return chatGPTResponse.getChoices().get(0).getText();
} catch (Exception e) {
return "faileddd";
}
} catch (Exception e) {
return "failed2";
}
}
조건을 setPrompt에 담아서 요청을 보내고 응답을 받아 출력합니다.
ChatGPTRestController
@GetMapping("/advertisementChatGPT")
public String blogChatGPT() {
return "gpt/advertisement";
}
@PostMapping("/advertisementChatGPT")
public String blogChatGPT(@RequestParam("query") String query,
@RequestParam("query2") String query2,
@RequestParam("query3") String query3, Model model) {
log.info("blogChatGPT Started query: " + query);
String result = chatGPTService.advertisementSearch(query,query2,query3);
model.addAttribute("query", query);
model.addAttribute("result", result);
return "gpt/advertisement";
}
각 조건들을 받아와서 advertisementSearch(query,query2,query3); 메서드를 실행하고 결과값을 model에 담습니다.
view
조건을 입력받을 화면이고 여기에 조건들을 입력하여 controller에 바인딩 합니다.
이렇게 광고 문구를 만들어 주고 조건에 따라 다양하게 만들어 줍니다.
728x90
반응형
LIST
'Side Project' 카테고리의 다른 글
[Spring Boot] chatGPT를 활용한 AI 사이트 (4) - 기능 추가(페이징) (0) | 2023.10.22 |
---|---|
[Spring Boot] 환자 관리 프로그램 - Controller & view (4) (0) | 2023.10.20 |
[Spring Boot] 환자 관리 프로그램 - Service (3) (0) | 2023.10.19 |
[Spring Boot] 환자 관리 프로그램 - Entity, Repository (2) (0) | 2023.10.19 |
[Spring Boot] 환자 관리 프로그램 - 설정 (1) (0) | 2023.10.18 |