brunch
매거진 NCP AI

Lab 3 . 프롬프트 템플릿

by Master Seo

1 실습 코드 다운 :



2. 패키지 설치

! pip install openai



CLOVA Studio 연동 및 설정


from

openai import OpenAI

client = OpenAI(

api_key= KEY "", # CLOVA Studio API 키

base_url= url="https://clovastudio.stream.ntruss.com/v1/ # CLOVA Studio 오픈 AI 호환 API URL

)

response =

client.chat.completions.create(

model=model="HCX 005"005", # CLOVA Studio 지원 모델명

messages=[

{{" role": " system", " content": 당신은 유능한 AI 어시스턴트입니다 사용자의 질문에 대해 30 자 내외로 간략

하게 설명하세요

{{" role": " user", " content": 인공지능에 대해 설명해 주세요

)

print(response. 0 ].message.


프롬프트 템플릿 작성 변수 1 개 지정


from langchain.prompts import PromptTemplate

#

프롬프트 템플릿 정의 변수 1 개

template =

너는 친절한 번역가야

다음 문장을 한국어로 번역해 줘

{

입력한 { 만 번역한 결과만 출력하고 그 외에 다른 말은 출력하지 않기

출력 결과는 아래와 같은 포맷으로 출력

번역결과 : 결과

#

프롬프트 구성

prompt = PromptTemplate(

input_variables=["text"],

template=template,

)

formatted = prompt.format(text="hello")


5. 언어 모델 설정 및 실행


#

메시지 구성 단일 user 메시지

messages = [

{{" role": " user", " content":

]

# Chat Completion

호출

response = client.chat.completions.create(

model= HCX 005 "", # 또는 CLOVA 의 실제 모델 ID

messages=messages

)

# 6.

결과 출력

print

(response. 0 ].message.



6. 번역할 문장을 입력 받 은 뒤 결과 실행


#입력을 input 으로 받아서 결과를 출력하는 버전

from langchain.prompts import PromptTemplate

from openai import OpenAI


# 1.

사용자 입력 받기

user_input = input("

번역할 영어 문장을 입력하세요 :


# 2. 프롬프트 템플릿 정의

template = """

너는 친절한 번역가야

다음 문장을 한국어로 번역해 줘

{text}


입력한

{ 만 번역한 결과만 출력하고 그 외에 다른 말은 출력하지 않기

출력

결과는 아래와 같은 포맷으로 출력

번역결과

: 결과

"""

prompt = PromptTemplate(

input_variables=["text"],

template=template,

)

# 3.

프롬프트 적용

formatted_prompt = prompt.format(text=user_input)

# 4. CLOVA OpenAI

호환 API 클라이언트 설정

client = OpenAI(

api_key=" KEY ", # CLOVA Studio 콘솔에서 발급

base_url="htt ps://clovastudio.stream.ntruss.com/v1/openai"

)

# 5.

메시지 구성

messages = [

{"role": "user", "content": formatted_

]

# 6. Chat Completion

호출

response = client.chat.completions.create(

model=" HCX 005 ", # CLOVA 에서 제공하는 모델명

messages=messages

)

# 7.

결과 출력

print(response.choices[0].message.content)




7. 이메일 작성 요청 프롬프트 작성 변수 2 개


from

langchain.prompts import PromptTemplate

from

openai import OpenAI

# 1.

사용자 입력 받기

recipient =

input 수신자 이름을 입력하세요 예 : 김부장님 ):

request =

input 이메일 요청 내용을 입력하세요 예 다음 주 화요일까지 보고서 검토 부탁드립니다 ):

# 2.

프롬프트 템플릿 정의

template =

너는 예의 바르고 논리적인 비즈니스 이메일 작성 전문가야



부탁드립니다 ' 등 공손한 표현으로 마무리

출력 형식

이메일 본문 시작

작성된 이메일

이메일 본문 끝

"""

# 3. PromptTemplate

생성

prompt = PromptTemplate(

input_variables=[ variables=[" recipient", "

template=template,

)

# 4.

사용자 입력을 넣어 프롬프트 완성

formatted_prompt = prompt.

format

recipient=reci pient,

request=request

)

# 5. CLOVA X

또는 OpenAI API 호출

client = OpenAI(

api_key= KEY "", # 실제 API 키로 교체

base_url= url="https://clovastudio.stream.ntruss.com/v1/

)

messages = [

{{" role": " user", " content": formatted_

]

response =

client.chat.completions.create(

model=model="HCX 005"005", # CLOVA Studio 모델명

messages=messages

)

# 6.

결과 출력


keyword
매거진의 이전글Lab 2 . Chat completion API v3