728x90
반응형
https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/
ChatGPT Prompt Engineering for Developers
What you’ll learn in this course In ChatGPT Prompt Engineering for Developers, you will learn how to use a large language model (LLM) to quickly build new and powerful applications. Using the OpenAI API, you’ll...
www.deeplearning.ai
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 |