해결된 질문
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가지에 대한 내용입니다.
F-String (Formatted String Literals)
목적: 변수를 문자열 내에 직접 포함시키기 위함.
사용 방법: 문자열 앞에 f
또는 F
를 붙임.
특징:
{}
(중괄호) 안에 변수를 넣어 사용.
코드를 간결하고 읽기 쉽게 만들어 줌.
기존의 str.format()
메소드보다 빠른 실행 속도를 제공.
예시:
name = "Alice"
greeting = f"Hello, {name}!"
멀티라인 문자열 (Multiline String Literals)
목적: 여러 줄에 걸친 문자열을 표현하기 위함.
사용 방법: '''
또는 """
(세 개의 작은따옴표 또는 큰따옴표)로 문자열을 감싼다.
특징:
문자열 내에서 자유롭게 줄바꿈이 가능.
코드 내에서 긴 텍스트나 여러 줄의 데이터를 표현할 때 유용.
문자열 안의 줄바꿈은 그대로 문자열에 반영됨.
예시:
multiline_string = '''이것은
여러 줄에
걸친 문자열입니다.'''
요약하자면 prompt 문자열 중간에 사용자로부터 입력받은 text 문자열울 추가하기 위해 f 를 붙였고, 프롬프트가 길어지기 때문에 문자열 안에서 줄바꿈을 구현하기 위해 멀티라인 문자열(''') 과 같은 방법으로 문자열을 선언한 것 입니다^^
그 외 TMI 하나 더 추가하자면!!
프롬프트 중간에 **
사이에 특정 단어들을 넣은것이 보이시나요? 이 부분은 ChatGPT에게 해당 단어는 꼭 잊지말고 지켜줘! 라고 강조를 하기위해 추가한 것입니다.
ChatGPT는 마크다운 형식의 프롬프트에 좀 더 똘똘하게 동작한다고 합니다.
마크다운(Markdown) 문법에서 **
기호는 텍스트를 굵게(bold) 만드는 데 사용됩니다. 이 기호를 텍스트의 양쪽에 배치함으로써, 그 텍스트는 굵은 스타일로 표시됩니다. 즉 ChatGPT는 굵게 표시를 했으니 더 이 단어에 집중을 하라는 것이구나? 라고 이해하게 됩니다.
감사합니다.
2024. 01. 09. 23:18
늦은 밤인데 답변 주셔서 감사합니다. 이렇게 빨리 답을 해주실 줄은 몰랐습니다.
Unix 환경에서 전통적인(?) C만 다루다가 신문물을 접하니 정신차릴 틈이 없네요.. 차분히 하나 하나 배워가겠습니다. 좋은밤 되세요.