인프런 커뮤니티 질문&답변

thson님의 프로필 이미지

작성한 질문수

초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지

CH04 01_summerize_text_app_NewVersion.py 코드 질문

해결된 질문

24.01.09 22:45 작성

·

168

0

    text = st.text_area("요약 할 글을 입력하세요")
    if st.button("요약"):
        prompt = f'''
        **Instructions** :
    - You are an expert assistant that summarizes text into **Korean language**.
    - Your task is to summarize the **text** sentences in **Korean language**.
    - Your summaries should include the following :
        - Omit duplicate content, but increase the summary weight of duplicate content.
        - Summarize by emphasizing concepts and arguments rather than case evidence.
        - Summarize in 3 lines.
        - Use the format of a bullet point.
    -text : {text}
    '''

위 코드에서 prompt 의 f와 '''로 코멘트 처리된 부분은 어떤 식으로 작동을 하게 되는지요?

prompt 가 문자열인 것 같은데 처음에 붙어 있는 f가 어떤 의미인지, 그리고 f 뒤의 문자열들은 왜 코멘트로 처리돼 있는 것인지 이해가 안됩니다.

 

 

답변 1

1

쭌랩님의 프로필 이미지
쭌랩
지식공유자

2024. 01. 09. 23:09

안녕하세요 쭌랩입니다.

 

여쭤보신 내용은 아래의 파이썬 문자열 선언 방법 2가지에 대한 내용입니다.

  1. F-String (Formatted String Literals)

    • 목적: 변수를 문자열 내에 직접 포함시키기 위함.

    • 사용 방법: 문자열 앞에 f 또는 F를 붙임.

    • 특징:

      • {} (중괄호) 안에 변수를 넣어 사용.

      • 코드를 간결하고 읽기 쉽게 만들어 줌.

      • 기존의 str.format() 메소드보다 빠른 실행 속도를 제공.

    • 예시:

      name = "Alice"
      greeting = f"Hello, {name}!"
      
  2. 멀티라인 문자열 (Multiline String Literals)

    • 목적: 여러 줄에 걸친 문자열을 표현하기 위함.

    • 사용 방법: ''' 또는 """ (세 개의 작은따옴표 또는 큰따옴표)로 문자열을 감싼다.

    • 특징:

      • 문자열 내에서 자유롭게 줄바꿈이 가능.

      • 코드 내에서 긴 텍스트나 여러 줄의 데이터를 표현할 때 유용.

      • 문자열 안의 줄바꿈은 그대로 문자열에 반영됨.

    • 예시:

      multiline_string = '''이것은
      여러 줄에
      걸친 문자열입니다.'''

 

요약하자면 prompt 문자열 중간에 사용자로부터 입력받은 text 문자열울 추가하기 위해 f 를 붙였고, 프롬프트가 길어지기 때문에 문자열 안에서 줄바꿈을 구현하기 위해 멀티라인 문자열(''') 과 같은 방법으로 문자열을 선언한 것 입니다^^

 

그 외 TMI 하나 더 추가하자면!!

프롬프트 중간에 ** 사이에 특정 단어들을 넣은것이 보이시나요? 이 부분은 ChatGPT에게 해당 단어는 꼭 잊지말고 지켜줘! 라고 강조를 하기위해 추가한 것입니다.

ChatGPT는 마크다운 형식의 프롬프트에 좀 더 똘똘하게 동작한다고 합니다.

마크다운(Markdown) 문법에서 ** 기호는 텍스트를 굵게(bold) 만드는 데 사용됩니다. 이 기호를 텍스트의 양쪽에 배치함으로써, 그 텍스트는 굵은 스타일로 표시됩니다. 즉 ChatGPT는 굵게 표시를 했으니 더 이 단어에 집중을 하라는 것이구나? 라고 이해하게 됩니다.

 

감사합니다.

thson님의 프로필 이미지
thson
질문자

2024. 01. 09. 23:18

늦은 밤인데 답변 주셔서 감사합니다. 이렇게 빨리 답을 해주실 줄은 몰랐습니다.

Unix 환경에서 전통적인(?) C만 다루다가 신문물을 접하니 정신차릴 틈이 없네요.. 차분히 하나 하나 배워가겠습니다. 좋은밤 되세요.

thson님의 프로필 이미지

작성한 질문수

질문하기