본문 바로가기

[16] 자기소개서 도우미 - UI, chatGPT API 연동하기

들어가며

🏫 전체 강의 영상 youtube

🧑‍💼 자기소개서 도우미 사용해보기

 ▶️  강의 영상 유튜브

 

이전 시간에 작성한 자소서 도우미 UI에 chatGPT API를 연동해서 완성해보겠습니다.

프롬프트 작성

먼저 프롬프트 템플릿을 복사해오겠습니다.

prompt_template = """
기업 입사용 자기소개서를 작성해야합니다.
답변해야하는 질문과 이에 관련된 유저의 경험을 참고해서 자기소개서를 작성해주세요.
문단별로 소제목을 작성해주세요.
반드시 {max_length} 단어 이내로 작성해야 합니다.
---
지원 회사: {company}
지원 직무: {position}
질문: {question}
관련 경험: {experience}
---
""".strip()

그 다음, submit 버튼을 누르고 예외처리를 모두 통과했을 때 입력된 데이터 값으로 프롬프트를 생성한 다음, 화면에 출력해보겠습니다.

if submit:
    ...
    prompt = prompt_template.format(
    company=company,
    position=position,
    max_length=max_length // 5,
    question=question,
    experience=experience
)
    st.text(prompt)

chatGPT 요청

이제 생성된 프롬프트로 chatGPT API를 요청해보겠습니다. 미리 common에 구현해놓은 함수를 사용하겠습니다. 이 때, streaming 옵션은 True, system_role은 “취업용 자기소개서 컨설턴트”로 설정하겠습니다.

from common import request_chat_completion

...

if submit:
    ...
    system_role = "당신은 전문 취업용 자소서 컨설턴트입니다."
    response = request_chat_completion(
      prompt=prompt, 
      stream=True, 
      system_role=system_role
    )

스트리밍 결과 출력

스트리밍 방식으로 요청한 결과 값을 화면에 출력해주겠습니다. 마찬가지로 미리 common에 구현해놓은 함수를 사용하겠습니다.

from common import request_chat_completion, write_streaming_response

...

if submit:
    ...
    system_role = "당신은 전문 취업용 자소서 컨설턴트입니다."
    response = request_chat_completion(
      prompt=prompt, 
      stream=True, 
      system_role=system_role
    )
    message = write_streaming_response(response)
    st.markdown(f"**공백 포함 {len(message)}자**")

마치며

여기까지 자기소개서 도우미 프로젝트를 구현해보았습니다. 생성 AI이기 때문에, 실행할 때마다 결과가 살짝씩 다릅니다. 마음에 드는 결과가 나올 때까지 여러번 시도해보고, 선택하는 것이 좋습니다. 이전에 배웠던 카피라이터 프로젝트와 대동소이 했습니다.

 

다음 프로젝트에는 새로운 변주를 줄 예정이니, 기대해주시기 바랍니다.