inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

CH04 01_summerize_text_app_NewVersion.py 코드 질문

해결된 질문

255

thson

작성한 질문수 7

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 뒤의 문자열들은 왜 코멘트로 처리돼 있는 것인지 이해가 안됩니다.

 

 

python 챗봇 streamlit openai chatgpt

답변 1

1

쭌랩

안녕하세요 쭌랩입니다.

 

여쭤보신 내용은 아래의 파이썬 문자열 선언 방법 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는 굵게 표시를 했으니 더 이 단어에 집중을 하라는 것이구나? 라고 이해하게 됩니다.

 

감사합니다.

0

thson

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

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

화면이 보이지 않아요

0

32

1

터미널프로세스 시작오류

0

55

1

vscode에서 select interpreter 가상환경 안보님

0

186

2

제미니

0

121

1

맥os환경에서 아무리해도 인터프리터가 보이지 않아요.

0

128

1

실습코드다운로드

0

157

1

가상환경 종료

0

252

1

파파고 api

0

180

1

googletrans 에러

0

168

1

가상환경 활성화 에러 발생

1

335

4

그래프 그리기 오류

0

184

1

ipykernal 설치 실패

0

154

1

오류가 왜 뜨는 지 모르겠어요

0

208

1

streamlit을 주피터 노트북에서 사용 불가 한가요??

0

494

1

Streamlit run 이 안 돼요ㅠㅠㅠ

0

1208

1

Streamlit 설치가 안 되요

0

593

1

Bard API 실행 오류

0

203

1

스트림릿 클라우드 배포시 외부접근 질문드립니다.

0

348

1

카카오톡 챗봇연결 테스트(aws)

0

333

1

new terminal 생성

0

313

2

카카오톡 테스트 오류

0

381

2

기본 질문하기 오류 해결 방법 알려주세요

0

391

1

Kernel 설정

0

319

2

ipykernel 패키지 설치 실패

0

529

1