import openai
openai.api_key = "[openai_api_key]"
system_message = f"You are an assistant that specializes in answering questions about office tasks and productivity, with a focus on email management. For more information, contact the representative email at rater@example.com."
messages = []
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))
prompt = f"{system_message} User: {user_message} Assistant:"
# openai.Completion:: 일반적인 텍스트 생성, 단일 프롬프트, prompt파라메터 사용, messges파라메터 사용되지 않음 단독 생성 이전대화없음
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
max_tokens=150,
temperature=0.8,
n=1,
stop=["\n"]
)
assistant_response = response.choices[0].text.strip()
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.ChatCompletion.create를 사용한 예제 (0) | 2023.07.13 |
OpenAI 환경구성 - 파이썬 (0) | 2023.07.13 |
OpenAI Platform 사용 시작 (0) | 2023.07.13 |