본문 바로가기
팀프로젝트/Nost

Nost 4일차

by useSword 2024. 4. 2.

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가 전체적인 프롬프트들을 확인하는 과정이 필요한데 이 부분을 아직 정하지 못했음.

'팀프로젝트 > Nost' 카테고리의 다른 글

NOST 5일차  (0) 2024.04.09
Nost 3일차  (0) 2024.03.28
NOST 2일차(파일 구조)  (0) 2024.03.25
Nost 1일차  (0) 2024.03.22