1. 회원가입/ 로그인 폼을 만듬.
스위칭이 가능하게 만들었고 배치와 간격은 수정할 예정.
2. 답변(suggest-story) 성능 개선
1) for문을 이용해서 3번을 반복시킨 응답
장점 : 다양한 프롬프트를 배출함.
단점 : 매우 긴 대기 시간.(14.2초 ~ 21.98초)
>>>생성되는 create-story보다 suggest-story의 대기시간이 길어진 모습을 보고 개선을 해야겠다고 느낌.
300 토큰 기준으로 테스트를 진행함.
suggestions = []
for _ in range(3):
try:
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": ""},
{"role": "user", "content": prompt}],
max_tokens=300,
)
for choice in response.choices:
suggestions.append(choice.message['content'].strip())
except Exception as e:
print(f"Error generating suggestion: {str(e)}")
suggestions.append("")
return suggestions
2) n=3을 사용함
장점 : 비교적 짧은 대기시간 ()
단점 : 답변들이 전부 내용이 비슷함. 개성이 떨어지고 재미가 없어짐.
처음 녹색으로 칠하진 부분은 처음 생성된 create-story이고 suggest-story와는 다릅니다.
300토큰 기준으로 테스트함.
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": ""},
{"role": "user", "content": prompt}
],
max_tokens=300,
temperature=0.7,
n=3, # ChatCompletion API는 현재 n 파라미터를 지원하지 않습니다.
stop=["\n", "\n\n"],
)
suggestions = [choice['message']['content'].strip()
for choice in response.choices] # `response.choices`를 순회합니다.
return suggestions
3) 다양하고 개성있는 답변을 얻기 위해 top_p 파라미터를 활용하고 프롬프트를 약간 변형함
큰 차이점을 못 느끼겠습니다.
3. 로직 생각중.
Generate Story 버튼을 클릭할 때 textarea에 작성된 내용이 DB에 저장이 되고 "http://localhost:5000/create-story"으로 갑니다.
그럼 generate_story_response를 통해 소설이 나타나면 그 내용이 DB에 저장되고 그 이후에 suggest_story_response가 작동되고 {shortenText(suggestion)}에 내용이 작성됩니다.
{shortenText(suggestion)}를 클릭하면 DB에 그 내용이 저장되고 handleGenerateStory의 프롬프트에 들어가면 효율적일 것 같습니다.
DB에 정보가 저장될때마다 소설이 저장되어 다른 유저들과 교류가 되는 것까지가 생각중인 로직입니다.
여기서 문제점은 어느 부분에 스토리 생성중에 생성형 ai가 전체적인 프롬프트들을 확인하는 과정이 필요한데 이 부분을 아직 정하지 못했음.