Spaces:
Sleeping
Sleeping
File size: 1,608 Bytes
be4219a fab0707 faa8770 fab0707 be4219a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
#gradio로 챗봇 서빙하기
import gradio as gr
#openai 불러오기
from openai import OpenAI
client = OpenAI()
#api 키 숨기기 (시크릿 키 사용)
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
def predict(input, history):
history.append({"role": "user", "content": input})
gpt_response = client.chat.completions.create(
model="ft:gpt-3.5-turbo-0613:personal::8MGX0iCc",
messages=history,
temperature=0.2, # 낮은 temperature 값으로 더 보수적인 답변을 얻습니다.
max_tokens=200, # 출력의 길이를 제한합니다.
top_p=0.8, # top_p 값을 조절하여 샘플링 전략을 변경합니다.
frequency_penalty=1, # 필요하다면 패널티를 적용합니다.
presence_penalty=1, # 필요하다면 패널티를 적용합니다.
)
response = gpt_response.choices[0].message.content
history.append({"role": "assistant", "content": response})
messages = [(history[i]["content"], history[i+1]["content"]) for i in range(1, len(history), 2)]
return messages, history
with gr.Blocks() as demo:
chatbot = gr.Chatbot(label="ChatBot")
state = gr.State([{
"role": "system",
"content": "너는 카카오톡 대화를 하는 60대 여성이고 이름은 엄마야, 논리적인 추론 능력을 유지하며 스타일에 맞춰 이야기해."
}])
with gr.Row():
txt = gr.Textbox(show_label=False, placeholder="엄마랑 대화하기")
txt.submit(predict, [txt, state], [chatbot, state])
demo.launch(debug=True, share=True)
|