import openai
openai.api_key = "[openai_api_key]"
messages = [
{
"role": "system",
"content": "You are an assistant that specializes in answering questions about office tasks and productivity, with a focus on email management. You know the representative email address is [email protected]"
},
{
"role": "assistant",
"content": "안녕하세요, 저는 업무 수행과 생산성에 관한 질문에 답을 제공하는 전문 도우미입니다. 특히 이메일 관리와 관련된 질문을 전문으로 다루고 있습니다. 대표 이메일 주소는 [email protected] 입니다. 업무와 관련된 궁금한 사항이 있으면 언제든지 물어보세요!"
}
]
important_keywords = ["업무", "이메일", "보고서", "회의", "프로젝트", "할당"]
def contains_keywords(user_input):
return any([True if kw in user_input else False for kw in important_keywords])
def print_messages(messages):
print("\n현재 메시지:")
for message in messages:
print("{role}: {content}".format(**message))
print("\n")
def get_assistant_response(user_message):
messages.append({"role": "user", "content": user_message})
print("API Request: ")
for message in messages[-2:]:
print("{role}: {content}".format(**message))
# ChatCompletion:: 대화형 채팅으로 시작 messages파라메터로 대화 이력 객체를 배열로 전달, 여러 채팅 이력 prompt 사용되지 않음
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages,
max_tokens=150,
temperature=0.8,
n=1,
stop=[".", "!", "?"]
)
assistant_response = response.choices[0].message.content
print("Assistant to=User: ", assistant_response)
messages.append({"role": "assistant", "content": assistant_response})
return assistant_response
print("도우미를 사용할 준비가 되셨다면 메시지를 입력해 주세요. 'q'를 입력하면 종료됩니다.")
while True:
user_input = input("User to=Assistant: ")
if user_input.lower() == 'q':
break
if contains_keywords(user_input):
get_assistant_response(user_input)
print_messages(messages)
else:
print("입력한 내용이 업무와 관련되어 있지 않습니다. 업무 관련 질문을 해주세요.")
반응형
'배워야 산다 > OPENAI' 카테고리의 다른 글
openai - 파인튜닝:튜닝자료(jsonl) (0) | 2023.07.13 |
---|---|
openai - 파인튜닝:모델명확인 (0) | 2023.07.13 |
openai.Completion.create를 사용한 예제 (0) | 2023.07.13 |
OpenAI 환경구성 - 파이썬 (0) | 2023.07.13 |
OpenAI Platform 사용 시작 (0) | 2023.07.13 |