diff --git a/src/main/java/com/example/reddiserver/config/ChatGptConfig.java b/src/main/java/com/example/reddiserver/config/ChatGptConfig.java index 2be031b..ca198e0 100644 --- a/src/main/java/com/example/reddiserver/config/ChatGptConfig.java +++ b/src/main/java/com/example/reddiserver/config/ChatGptConfig.java @@ -4,7 +4,7 @@ @Configuration public class ChatGptConfig { - public static final String CHAT_MODEL = "gpt-3.5-turbo"; + public static final String CHAT_MODEL = "gpt-3.5-turbo-0125"; public static final String SYSTEM_ROLE = "system"; public static final String USER_ROLE = "user"; public static final String CHAT_URL = "https://api.openai.com/v1/chat/completions"; diff --git a/src/main/java/com/example/reddiserver/service/ChatGptService.java b/src/main/java/com/example/reddiserver/service/ChatGptService.java index 8dad368..6effb3f 100644 --- a/src/main/java/com/example/reddiserver/service/ChatGptService.java +++ b/src/main/java/com/example/reddiserver/service/ChatGptService.java @@ -107,53 +107,74 @@ public ChatGptCreationResultDto postChat(Long memberId, ChatGptRequest chatGptRe String system_content = """ 당신은 AI 브랜드를 만들어주는 서비스입니다 당신의 역할은 아래와 같습니다. - - 1. 기존에 존재하는 브랜드의 name, 브랜드의 tag, 브랜드의 content 를 제공받습니다 - <브랜드 데이터 목록> - -------------------------------------------- - * data 1 : %s - - * data 2 : %s - - * data 3 : %s - - -------------------------------------------- - 2. 사용자의 입력은 아래와 같아 - * 생성하고 싶은 브랜드의 분위기 + + 1. 사용자로부터 받는 입력 형식 + + 아래의 key, value 형식으로 사용자 입력이 들어와 + + 분위기 : '' + 산업군 : '' + 타겟 고객 : '' + 유사 서비스 : '' + + 2. 각 Key 의 설명 + + * 분위기 : 생성하고 싶은 브랜드의 분위기 예시 : 역동적인, 즐거운 등등 - * 생성하고 싶은 브랜드의 산업군 + * 산업군 : 생성하고 싶은 브랜드의 산업군 예시 : 금융, F&B - * 생성하고 싶은 브랜드의 타겟 고객 + * 타겟 고객 : 생성하고 싶은 브랜드의 타겟 고객 예시 : gen Z, 시니어, 20대 등등 - * 생성하고 싶은 브랜드의 유사 서비스 + * 유사 서비스 : 생성하고 싶은 브랜드의 유사 서비스 예시 : 토스, 카카오뱅크 등등 - 위 네 가지 카테고리에 대해서 사용자의 입력을 받아 브랜드 정보를 생성해줘 - - 3. 브랜드 태그 종류와 각 속성들은 아래와 같아 - * 산업군 : F&B, 패션, 금융, 뷰티 - * 브랜드 분위기 : 힙함, 키치함, 영함, 스트리트, 캐주얼, 심플함, 클래식, 아날로그, 귀여움, 세련됨 등등 - * 브랜드 색감 : 흰색, 푸른색, 초록색 등등 - - - 4. 제약 조건 + + 위 네 가지 정보에 적합한 새로운 브랜드 정보를 생성해줘 + + 3. 당신이 출력(생성)해야하는 브랜드 정보\s + 생성할 때 들어갈 key 값들은 총 7가지로, 아래와 같아 '브랜드 네이밍(name)', '브랜드 네이밍 이유(reason)', '브랜드 슬로건(slogan)', '비전(vision)' '브랜드 에센스(essence)', '브랜드 키워드(keyword)', '매니페스토(manifesto)' - - 브랜드 생성 예시를 보고 JSON("key": "value") 형태의 결과값을 객체로 생성해줘 + + 브랜드 생성 예시를 보고 JSON('key': 'value') 형태의 결과값을 객체로 생성해줘 그리고, 브랜드 생성 예시에 맞춰서 정확히 7가지의 key, value 값들을 생성해줘 - + 브랜드 생성 시 최대한 자세하게 내용 작성해줘 + <브랜드 생성 JSON 형식> { - "name": string, - "reason": string, - "slogan": string, - "vision": string, - "essence": string, - "keyword": string, - "manifesto": string + 'name': string, + 'reason': string, + 'slogan': string, + 'vision': string, + 'essence': string, + 'keyword': string, + 'manifesto': string } + <브랜드 생성 JSON 형식 끝> + + 참고로 아래는 '브랜드 키워드(keyword)' 로 들어갈 키워드들 예시야 + * 산업군 : F&B, 패션, 금융, 뷰티 등등 + * 브랜드 분위기 : 힙함, 키치함, 영함, 스트리트, 캐주얼, 심플함, 클래식, 아날로그, 귀여움, 세련됨 등등 + * 브랜드 색감 : 흰색, 푸른색, 초록색 등등 + + 4. 생성할 때 참고할 브랜드 정보 데이터 + 아래는 기존에 존재하는 '브랜드 네이밍', '브랜드 스토리', '슬로건' 예시야 + 아래 데이터를 참고하되 새롭게 변형해서 새로운 브랜드를 생성해줘야해 + + <브랜드 데이터 목록> + + data1 : %s + + data2 : %s + + data3 : %s + + <브랜드 데이터 목록 끝> + + 5. 제약 조건 + + 5-1. 사용자로부터 입력받는 값 중 '유사 서비스' 와 당신이 출력하는 브랜드의 정보가 같거나 비슷하면 안 돼. 독창적인 브랜드를 생성해야해 """.formatted(data1, data2, data3); String user_content = """