mirror of
https://github.com/dair-ai/Prompt-Engineering-Guide
synced 2024-11-04 12:00:10 +00:00
Merge pull request #1 from onestone9900/main
[intro] docs: modify basics.kr.mdx, elements.kr.mdx, _meta.kr.json
This commit is contained in:
commit
a049f8a24a
@ -1,7 +1,7 @@
|
||||
{
|
||||
"settings": "LLM 설정",
|
||||
"basics": "기본 프롬프팅",
|
||||
"elements": "프롬프트의 요소",
|
||||
"basics": "프롬프트의 기초",
|
||||
"elements": "프롬프트의 구성 요소",
|
||||
"tips": "프롬프트 디자인 팁",
|
||||
"examples": "프롬프트 예시"
|
||||
}
|
||||
|
@ -1,19 +1,17 @@
|
||||
# 프롬프트의 기초
|
||||
|
||||
## 기본 프롬프트의
|
||||
## 기초 프롬프트
|
||||
|
||||
간단한 프롬프트만으로도 많은 일들을 할 수 있지만, 제공하는 정보의 양과 퀄리티에 따라 그 결과의 퀄리티는 천차만별입니다. 모델에게 전달하는 프롬프트는 *지시*나 *질문*과 같은 정보, _맥락_, _입력_ 또는 *예시*와 같은 다른 세부 사항을 포함할 수 있습니다. 이러한 요소를 사용하여 모델에게 더욱 적절하게 지시하고 더 나은 결과를 얻을 수 있습니다.
|
||||
간단한 프롬프트만으로도 많은 일들을 할 수 있지만, 제공하는 정보의 양과 퀄리티에 따라 그 결과는 천차만별입니다. 모델에게 전달하는 프롬프트는 *지시*나 *질문*과 같은 정보와 *맥락*, *입력* 또는 *예시*와 같은 다른 세부 사항을 포함할 수 있습니다. 이러한 구성 요소를 사용하여 모델에게 더욱 적절하게 지시하고 더 나은 결과를 얻을 수 있습니다.
|
||||
|
||||
먼저 간단한 프롬프트의 기본 예시를 살펴보겠습니다:
|
||||
|
||||
_프롬프트_
|
||||
|
||||
*프롬프트*
|
||||
```
|
||||
하늘은
|
||||
```
|
||||
|
||||
_출력:_
|
||||
|
||||
*출력:*
|
||||
```
|
||||
푸른색입니다.
|
||||
|
||||
@ -28,7 +26,6 @@ _출력:_
|
||||
한 발짝 더 나아가보겠습니다:
|
||||
|
||||
_프롬프트:_
|
||||
|
||||
```
|
||||
문장을 완성해줘:
|
||||
|
||||
@ -36,18 +33,17 @@ _프롬프트:_
|
||||
```
|
||||
|
||||
_출력:_
|
||||
|
||||
```
|
||||
오늘 매우 아름답습니다.
|
||||
```
|
||||
|
||||
훨씬 괜찮아 보이나요? 우리가 문장을 완성하라고 지시한 대로 모델은 정확히 "문장 완성"을 수행해서 답변을 출력했습니다. 모델에게 작업을 수행하도록 지시하기 위해 최적의 프롬프트를 설계하는 이러한 접근 방식을 **프롬프트 엔지니어링**이라고 합니다
|
||||
훨씬 괜찮아 보이나요? 우리가 문장을 완성하라고 지시한 대로 모델은 정확히 수행("문장 완성")해서 답변을 출력했습니다. 모델에게 작업을 수행하도록 지시하기 위해 최적의 프롬프트를 설계하는 이러한 접근 방식을 **프롬프트 엔지니어링**이라고 합니다.
|
||||
|
||||
위의 예시를 통해 LLM(Language Model)이 할 수 있는 것을 간단히 살펴보았습니다. 오늘날의 LLM은 텍스트 요약부터 수학적 추론, 코드 생성까지 모든 종류의 고급 작업을 수행할 수 있습니다.
|
||||
위의 예시를 통해 LLM(대규모언어모델)이 할 수 있는 것을 간단히 살펴보았습니다. 오늘날의 LLM은 텍스트 요약부터 수학적 추론, 코드 생성까지 모든 종류의 고급 작업을 수행할 수 있습니다.
|
||||
|
||||
## 프롬프트 포맷팅
|
||||
## 프롬프트 형식
|
||||
|
||||
위에서 간단한 프롬프트를 입력해보았는데요, 기본적인 프롬프트는 다음과 같은 형식을 따릅니다:
|
||||
위에서 간단한 프롬프트를 입력해 보았습니다. 일반적인 프롬프트는 다음과 같은 형식을 따릅니다:
|
||||
|
||||
```
|
||||
<질문>?
|
||||
@ -59,16 +55,16 @@ _출력:_
|
||||
<지시>
|
||||
```
|
||||
|
||||
질문과 응답 형식으로도 작성이 가능하며, 다음과 같이 많은 QA 데이터 세트에서 표준형식으로 사용합니다:
|
||||
질의응답(QA) 형식으로도 작성이 가능하며, 다음과 같이 많은 QA 데이터 세트에서 표준형식으로 사용합니다:
|
||||
|
||||
```
|
||||
Q: <질문>?
|
||||
A:
|
||||
```
|
||||
|
||||
위와 같이 프롬프트를 수행하는 방식을 *zero-shot prompting*이라고도 합니다. 즉, 어떤 예시나 설명 없이 직접 모델에 응답을 요구하고 있습니다. 몇몇 대규모 언어 모델에는 zero-shot prompting을 실행할 수 있는 기능이 있지만, 해당 작업의 복잡성과 지식에 따라 다른 결과를 낳습니다.
|
||||
위와 같이 프롬프트를 수행하는 방식을, *제로샷 프롬프팅(zero-shot prompting)*이라고도 합니다. 즉, 어떤 예시나 설명 없이 직접 모델에 응답을 요구하고 있습니다. 몇몇 대규모 언어 모델에는 제로샷 프롬프팅을 실행할 수 있는 기능이 있지만 해당 작업의 복잡성과 지식에 따라 다른 결과를 만들어 냅니다.
|
||||
|
||||
표준 형식을 고려할 때, *few-shot prompting*이라고 불리는 인기 있는 뛰어난 프롬프트 기술이 있습니다. few-shot prompting은 예시를 제공합니다. few-shot prompting은 다음과 같은 형식을 가집니다.
|
||||
위의 표준 형식을 고려할 때, 인기 있고 효과적인 프롬프팅 기술 중 하나는 모범 예시(예: 시연)를 제공하는 *퓨샷 프롬프팅(few-shot prompting)*입니다. 퓨샷 프롬프팅은 다음과 같은 형식을 가집니다:
|
||||
|
||||
```
|
||||
<질문>?
|
||||
@ -84,7 +80,7 @@ A:
|
||||
|
||||
```
|
||||
|
||||
QA 형식을 따른다면 아래처럼 지시할 수 있겠지요.
|
||||
QA 형식을 따른다면 아래처럼 지시할 수 있습니다:
|
||||
|
||||
```
|
||||
Q: <질문>?
|
||||
@ -100,10 +96,9 @@ Q: <질문>?
|
||||
A:
|
||||
```
|
||||
|
||||
언제나 QA 포맷을 따라야하는 것은 아닙니다. 주어진 태스크에 따른 적절한 프롬프트 포맷을 사용하세요. 예를 들어, 간단한 분류를 통해 아래와 같이 샘플을 제공할 수 있습니다. :
|
||||
|
||||
_프롬프트:_
|
||||
언제나 QA 형식을 따라야하는 것은 아닙니다. 주어진 태스크에 따른 적절한 프롬프트 형식을 사용해보세요. 예를 들어, 간단한 분류를 통해 아래와 같이 모범 예시를 제공할 수 있습니다:
|
||||
|
||||
*프롬프트:*
|
||||
```
|
||||
멋지다! // 긍정
|
||||
나빠! // 부정
|
||||
@ -111,10 +106,9 @@ _프롬프트:_
|
||||
이 얼마나 끔찍한 공연인가! //
|
||||
```
|
||||
|
||||
_출력:_
|
||||
|
||||
*출력:*
|
||||
```
|
||||
부정
|
||||
```
|
||||
|
||||
언어 모델의 학습을 위해 약간의 설명을 제공해주면 few-shot prompting은 문맥에 맞는 학습을 할 수 있습니다.
|
||||
언어 모델의 학습을 위해 몇 번의 모범 예시를 제공해주면, 퓨샷 프롬프팅은 문맥에 맞는 학습을 할 수 있습니다.
|
||||
|
@ -1,15 +1,15 @@
|
||||
# 프롬프트의 구성 요소
|
||||
|
||||
프롬프트 엔지니어링을 접목한 여러 응용 프로그램을 반복해서 사용하다 보면, 프롬프트를 구성하는 특정 요소들이 있다는 것을 알 수 있습니다.
|
||||
프롬프트 엔지니어링을 접목한 여러 애플리이션을 반복해서 사용하다 보면, 프롬프트에는 특정 구성 요소들이 있다는 것을 알 수 있습니다.
|
||||
|
||||
프롬프트는 다음과 같은 구성 요소를 포함할 수 있습니다:
|
||||
프롬프트에는 다음 구성 요소들이 있습니다:
|
||||
|
||||
**명령** - 모델이 수행할 특정 작업 또는 명령
|
||||
**지시** - 모델이 수행할 특정 작업 또는 지시
|
||||
|
||||
**문맥** - 외부 정보나 추가 맥락이 포함될 수 있으며 이는 모델이 더 나은 응답을 하도록 돕습니다.
|
||||
**문맥** - 더 나은 응답을 위해 모델을 조종할 수 있는 외부 정보나 추가 문맥
|
||||
|
||||
**입력 데이터** - 응답받고자 하는 입력이나 질문
|
||||
|
||||
**출력 지시자** - 출력의 유형이나 형식을 나타냅니다.
|
||||
**출력 지시자** - 출력의 유형이나 형식
|
||||
|
||||
위의 모든 요소가 프롬프트에 필요한 것은 아니며 어떤 작업을 하느냐에 따라 포맷은 달라질 수 있습니다. 이어지는 가이드에서 더 구체적인 예를 다루겠습니다.
|
||||
위의 네 가지 구성 요소가 프롬프트에 모두 필요한 것은 아니며 형식은 어떤 작업인지에 따라 달라질 수 있습니다. 이어지는 가이드에서 더 구체적인 예를 다루겠습니다.
|
||||
|
Loading…
Reference in New Issue
Block a user