728x90
https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/
ChatGPT Prompt Engineering for Developers
2 - Iterative ์ ๋ฆฌ
Setup
import openai
import os
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
openai.api_key = os.getenv('OPENAI_API_KEY')
def get_completion(prompt, model="gpt-3.5-turbo"):
messages = [{"role": "user", "content": prompt}]
response = openai.ChatCompletion.create(
model=model,
messages=messages,
temperature=0, # this is the degree of randomness of the model's output
)
return response.choices[0].message["content"]
Prompt Development
- Prompt guidelines
- Be clear and specific
- Analyze why result does not give desired output
- Refine the idea and the prompt
- Repeat
Generate a marketing product description from a product fact sheet
<๋ง์ผํ
๋ฌธ๊ตฌ์ ํ์ฉํ ์ ํ ๊ธฐ์ ๋ด์ฉ๊ณผ ํ ์์ฑ>
fact_sheet_chair = """
์์ธ ๋ด์ญ
- ์ค์ธ ์๋์์ ์๊ฐ์ ๋ฐ์ ์๋ฆ๋ค์ด ์ฌ๋ฌด์ฉ ๊ฐ๊ตฌ์ด๋ฉฐ, ํ์ผ ์บ๋๋ท, ์ฑ
์, ์ฑ
์ฅ, ํ
์ด๋ธ ๋ฑ์ด ํฌํจ๋์ด ์๋ค.
- ์
ธ ์์์ด๋ ๊ธฐ๋ณธ ๋ง๊ฐ์ ์ต์
์ผ๋ก ์ ํ ๊ฐ๋ฅํ๋ค.
- ํ๋ผ์คํฑ ์ ๋ฉด ๋ฐ ํ๋ฉด ์ปค๋ฒ์ ํจ๊ป ์ฌ์ฉ ๊ฐ๋ฅ (SWC-100) ๋๋ 10๊ฐ์ง ์ฌ์ ์์ฌ ๋ฐ 6๊ฐ์ง ๊ฐ์ฃฝ ์ต์
์ ๊ณต(SWC-110).
- ๊ธฐ๋ณธ ๋ง๊ฐ ์ต์
: ์คํ
์ธ๋ฆฌ์ค, ๋ฌด๊ด ๋ธ๋, ์ ๊ด ํฐ์ ๋๋ ํฌ๋กฌ
- ์์์ ๊ฒฝ์ฐ ํ๊ฑธ์ด ์์ ๋๋ ์์ ์ ํ ๊ฐ๋ฅ
- ๊ฐ์ ๋๋ ๋น์ฆ๋์ค ํ๊ฒฝ์ ์ ํฉ.
- ์ธ์ฆ๋ ๊ณ์ฝ์ ์ฌ์ฉ
๊ตฌ์กฐ
- ์๋ฅ๋ฏธ๋ ๊ธฐ๋ฐ ํ๋ผ์คํฑ ์ฝํ
๋์ด์๋ 5๊ฐ์ ๋ฐํด.
- ๊ณต์์ ์์ ์กฐ์ ๊ธฐ๋ฅ.
์น์
- WIDTH 53 CM | 20.87”
- DEPTH 51 CM | 20.08”
- HEIGHT 80 CM | 31.50”
- SEAT HEIGHT 44 CM | 17.32”
- SEAT DEPTH 41 CM | 16.14”
์ต์
- ์ํํธ ํ๋ก์ด ๋๋ ํ๋ ํ๋ก์ด ์บ์คํฐ ์ต์
.
- ๋๊ฐ์ง ์ํธ ํผ ์ ํ ๊ฐ๋ฅ:
medium (1.8 lb/ft3) or high (2.8 lb/ft3)
- Armless or 8 position PU armrests
์๋ฃ
SHELL BASE GLIDER
- Cast Aluminum with modified nylon PA6/PA66 coating.
- Shell thickness: 10 mm.
์ข์
- HD36 foam
์์ฐ์ง
- ์ดํ๋ฆฌ์
"""
prompt = f"""
Task๋ ๋ง์ผํ
ํ์ด ์ ํ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์๋งค ์น์ฌ์ดํธ์ ์ ํ์ ์๋งค ์น์ฌ์ดํธ์ ๋ํ ์ค๋ช
์ ๊ธฐ์ ์๋ฃ์ง์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
๊ธฐ์ ์๋ฃ๋ก ๊ตฌ๋ถ๋ ๊ธฐ์ ์ฌ์์ ์ ๊ณต๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ธฐ์ ์ฌ์์ ์ ๊ณต๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก triple backticks๋ก ๊ตฌ๋ถํฉ๋๋ค.
๊ธฐ์ ์์ธ ๋ด์ญ: ```{fact_sheet_chair}```
"""
response = get_completion(prompt)
print(response)
# ํด๋น ์ ํ์ ์ค์ธ ์๋์์ ์๊ฐ์ ๋ฐ์ ์๋ฆ๋ค์ด ์ฌ๋ฌด์ฉ ๊ฐ๊ตฌ๋ก, ํ์ผ ์บ๋น๋ท, ์ฑ
์, ์ฑ
์ฅ, ํ
์ด๋ธ ๋ฑ์ด ํฌํจ๋์ด ์์ต๋๋ค.
# ์
ธ ์์์ด๋ ๊ธฐ๋ณธ ๋ง๊ฐ์ ์ต์
์ผ๋ก ์ ํ ๊ฐ๋ฅํ๋ฉฐ, ํ๋ผ์คํฑ ์ ๋ฉด ๋ฐ ํ๋ฉด ์ปค๋ฒ์ ํจ๊ป ์ฌ์ฉ ๊ฐ๋ฅํ๊ฑฐ๋ 10๊ฐ์ง ์ฌ์ ์์ฌ ๋ฐ 6๊ฐ์ง ๊ฐ์ฃฝ ์ต์
์ ์ ๊ณตํฉ๋๋ค. ๊ธฐ๋ณธ ๋ง๊ฐ ์ต์
์ ์คํ
์ธ๋ฆฌ์ค, ๋ฌด๊ด ๋ธ๋, ์ ๊ด ํฐ์ ๋๋ ํฌ๋กฌ์
๋๋ค. ์์์ ๊ฒฝ์ฐ ํ๊ฑธ์ด ์์ ๋๋ ์์ ์ ํ ๊ฐ๋ฅํ๋ฉฐ, ๊ฐ์ ๋๋ ๋น์ฆ๋์ค ํ๊ฒฝ์ ์ ํฉํฉ๋๋ค.
# ์ธ์ฆ๋ ๊ณ์ฝ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
# ๊ตฌ์กฐ๋ ์๋ฃจ๋ฏธ๋ ๊ธฐ๋ฐ ํ๋ผ์คํฑ ์ฝํ
๋์ด์๋ 5๊ฐ์ ๋ฐํด๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ณต์์ ์์ ์กฐ์ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
# ์น์๋ WIDTH 53 CM | 20.87”, DEPTH 51 CM | 20.08”, HEIGHT 80 CM | 31.50”, SEAT HEIGHT 44 CM | 17.32”, SEAT DEPTH 41 CM | 16.14”์
๋๋ค.
# ์ํํธ ํ๋ก์ด ๋๋ ํ๋ ํ๋ก์ด ์บ์คํฐ ์ต์
์ ์ ํํ ์ ์์ผ๋ฉฐ, ๋๊ฐ์ง ์ํธ ํผ ์ค์์ medium (1.8 lb/ft3) ๋๋ high (2.8 lb/ft3)๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
# Armless ๋๋ 8 position PU armrests ์ค์์ ์ ํํ ์ ์์ต๋๋ค.
# SHELL BASE GLIDER๋ Cast Aluminum with modified nylon PA6/PA66 coating์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, Shell thickness๋ 10 mm์
๋๋ค. ์ข์์ HD36 foam์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ์์ฐ์ง๋ ์ดํ๋ฆฌ์์
๋๋ค.
Issue 1 : The text is too long
- Limit the number of words/sentences/characters
- "50๊ฐ์ ๋จ์ด๋ง ์ฌ์ฉ" ๋ช ์ ์ ํ ๋ฌธ๊ตฌ ์ถ๊ฐ
prompt = f"""
Task๋ ๋ง์ผํ
ํ์ด ์ ํ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์๋งค ์น์ฌ์ดํธ์ ์ ํ์ ์๋งค ์น์ฌ์ดํธ์ ๋ํ ์ค๋ช
์ ๊ธฐ์ ์๋ฃ์ง์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
๊ธฐ์ ์๋ฃ๋ก ๊ตฌ๋ถ๋ ๊ธฐ์ ์ฌ์์ ์ ๊ณต๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ธฐ์ ์ฌ์์ ์ ๊ณต๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก triple backticks๋ก ๊ตฌ๋ถํฉ๋๋ค.
50์์ ๋จ์ด๋ง ์ฌ์ฉ ํฉ๋๋ค.
๊ธฐ์ ์์ธ ๋ด์ญ: ```{fact_sheet_chair}```
"""
response = get_completion(prompt)
print(response)
# ์ค์ธ ์๋์์ ์๊ฐ์ ๋ฐ์ ์ฌ๋ฌด์ฉ ๊ฐ๊ตฌ. ํ์ผ ์บ๋น๋ท, ์ฑ
์, ์ฑ
์ฅ, ํ
์ด๋ธ ๋ฑ ํฌํจ. ์
ธ ์์, ๋ง๊ฐ ์ต์
์ ํ ๊ฐ๋ฅ. ์์๋ ํ๊ฑธ์ด ์ ํ ๊ฐ๋ฅ. ์๋ฃจ๋ฏธ๋ ๊ธฐ๋ฐ, ๊ณต์์ ์์ ์กฐ์ ๊ธฐ๋ฅ. ์ดํ๋ฆฌ์ ์์ฐ์ง.
Issue 2 : Text focuses on the wrong details
- ์๋ํ๋ ๋์๊ณผ ๊ด๋ จ๋ ์์ฒญ์ ์ง์คํ๋๋ก ์์ฒญ.
-
๋์์ ๋ํ ์ค๋ช ๋ช ์ (ํน์ ์ ํ ID ์ถ๊ฐ)
-
“์ด ์ค๋ช ์ ๊ฐ๊ตฌ ์๋งค์ ์ฒด๋ฅผ ์ํ ๊ฒ์ ๋๋ค, ๋ฐ๋ผ์ ๊ธฐ์ ์ ์ธ ๋ด์ฉ์ด ์์ด์ผํ๋ฉฐ ์ ํ์ ๊ตฌ์ฑํ๋ ์ฌ๋ฃ์ ์ด์ ์ ๋ง์ถฐ์ผํฉ๋๋ค.”
-
“์ค๋ช ๋ง์ง๋ง์ ๊ธฐ์ ์ฌ์์ 7์๋ฆฌ ์ซ์, ์ ํ ID๋ฅผ ๊ธฐ์ ์ฌ์์ ํฌํจํ์ธ์.”
-
prompt = f"""
Task๋ ๋ง์ผํ
ํ์ด ์ ํ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์๋งค ์น์ฌ์ดํธ์ ์ ํ์ ์๋งค ์น์ฌ์ดํธ์ ๋ํ ์ค๋ช
์ ๊ธฐ์ ์๋ฃ์ง์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
๊ธฐ์ ์๋ฃ๋ก ๊ตฌ๋ถ๋ ๊ธฐ์ ์ฌ์์ ์ ๊ณต๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ธฐ์ ์ฌ์์ ์ ๊ณต๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก triple backticks๋ก ๊ตฌ๋ถํฉ๋๋ค.
์ด ์ค๋ช
์ ๊ฐ๊ตฌ ์๋งค์
์ฒด๋ฅผ ์ํ ๊ฒ์
๋๋ค, ๋ฐ๋ผ์ ๊ธฐ์ ์ ์ธ ๋ด์ฉ์ด์ด์ผํ๋ฉฐ ์ ํ์ ๊ตฌ์ฑํ๋ ์ฌ๋ฃ์ ์ด์ ์ ๋ง์ถฐ์ผํฉ๋๋ค.
์ค๋ช
๋ง์ง๋ง์ ๊ธฐ์ ์ฌ์์ 7์๋ฆฌ ์ซ์, ์ ํ ID๋ฅผ ๊ธฐ์ ์ฌ์์ ํฌํจํ์ธ์.
50์์ ๋จ์ด๋ง ์ฌ์ฉ ํฉ๋๋ค.
๊ธฐ์ ์์ธ ๋ด์ญ: ```{fact_sheet_chair}```
"""
response = get_completion(prompt)
print(response)
Issue 3. Description needs a table of dimensions
- ์ ํ ์์ธ ๋ด์ญ์ผ๋ก ํ๋ก ์ ๋ฆฌํด๋ฌ๋ผ๊ณ ์์ฒญ
- ์ค๋ช ๋ค์ ์ ํ์ ์น์๋ฅผ ์ ๊ณตํ๋ ํ๋ฅผ ํฌํจํฉ๋๋ค. ํ์๋ ๋๊ฐ์ ์ด์ด ์์ด์ผํ๊ณ ์ฒซ๋ฒ์งธ ์ด์๋ ์น์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค. ๋๋ฒ์งธ ์ด์๋ ์ธ์น ๋จ์๋ก๋ง ์น์๋ฅผ ํฌํจํฉ๋๋ค. ํ์ ์ ๋ชฉ์ "์ ํ ์น์"๋ก ์ง์ ํฉ๋๋ค.
- Format์ ์น์ฌ์ดํธ์์ ์ฌ์ฉํ ์ ์๊ฒ HTML์ผ๋ก ์์ฑํ์ธ์.
•์ค๋ช ์ <div>์ ๋ฐฐ์นํฉ๋๋ค.
prompt = f"""
Task๋ ๋ง์ผํ
ํ์ด ์ ํ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์๋งค ์น์ฌ์ดํธ์ ์ ํ์ ์๋งค ์น์ฌ์ดํธ์ ๋ํ ์ค๋ช
์ ๊ธฐ์ ์๋ฃ์ง์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
๊ธฐ์ ์๋ฃ๋ก ๊ตฌ๋ถ๋ ๊ธฐ์ ์ฌ์์ ์ ๊ณต๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ธฐ์ ์ฌ์์ ์ ๊ณต๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก triple backticks๋ก ๊ตฌ๋ถํฉ๋๋ค.
์ด ์ค๋ช
์ ๊ฐ๊ตฌ ์๋งค์
์ฒด๋ฅผ ์ํ ๊ฒ์
๋๋ค, ๋ฐ๋ผ์ ๊ธฐ์ ์ ์ธ ๋ด์ฉ์ด์ด์ผํ๋ฉฐ ์ ํ์ ๊ตฌ์ฑํ๋ ์ฌ๋ฃ์ ์ด์ ์ ๋ง์ถฐ์ผํฉ๋๋ค.
์ค๋ช
๋ง์ง๋ง์ ๊ธฐ์ ์ฌ์์ 7์๋ฆฌ ์ซ์, ์ ํ ID๋ฅผ ๊ธฐ์ ์ฌ์์ ํฌํจํ์ธ์.
์ค๋ช
๋ค์ ์ ํ์ ์น์๋ฅผ ์ ๊ณตํ๋ ํ๋ฅผ ํฌํจํฉ๋๋ค. ํ์๋ ๋๊ฐ์ ์ด์ด ์์ด์ผํ๊ณ ์ฒซ๋ฒ์งธ ์ด์๋ ์น์ ์ด๋ฆ์ ์
๋ ฅํฉ๋๋ค. ๋๋ฒ์งธ ์ด์๋ ์ธ์น ๋จ์๋ก๋ง ์น์๋ฅผ ํฌํจํฉ๋๋ค. ํ์ ์ ๋ชฉ์ "์ ํ ์น์"๋ก ์ง์ ํฉ๋๋ค.
Format์ ์น์ฌ์ดํธ์์ ์ฌ์ฉํ ์ ์๊ฒ HTML์ผ๋ก ์์ฑํ์ธ์.
์ค๋ช
์ <div>์ ๋ฐฐ์นํฉ๋๋ค.
๊ธฐ์ ์์ธ ๋ด์ญ: ```{fact_sheet_chair}```
"""
response = get_completion(prompt)
print(response)
from IPython.display import display, HTML
display(HTML(response))
๋ฐ์ํ
'๐ ๏ธ Tools > ๐ค ChatGPT' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LLM] ChatGPT Prompt Engineering for Developers - Inferring (0) | 2023.05.04 |
---|---|
[LLM] ChatGPT Prompt Engineering for Developers - Summarizing (0) | 2023.05.04 |
[LLM] ChatGPT Prompt Engineering for Developers - Guidelines (0) | 2023.05.02 |
[ChatGPT] ChatGPT + Iphone User Mode ๊ณต์ (0) | 2023.03.02 |
[ChatGPT API] ์์ดํฐ+ChatGPT ์ตํฉ! (GPT3.5 turbo) ์ ๋ฃ (0) | 2023.03.02 |