Spaces:
Sleeping
Sleeping
File size: 2,180 Bytes
b34f0d5 7dcc8af 16edf41 b34f0d5 8144da3 c65ce97 5d429a8 7dcc8af f1d1009 16edf41 c753d25 5d429a8 c753d25 5d429a8 c753d25 5d429a8 092cc1c 5d429a8 092cc1c 5d429a8 092cc1c c753d25 5d429a8 b34f0d5 16edf41 f1d1009 16edf41 5d429a8 16edf41 c753d25 5d429a8 16edf41 5d429a8 16edf41 5d429a8 16edf41 5d429a8 16edf41 5d429a8 16edf41 958e155 b34f0d5 5d429a8 |
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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
import gradio as gr
from huggingface_hub import InferenceClient
import os
# Cohere Command R+ 모델 ID 정의
COHERE_MODEL = "CohereForAI/c4ai-command-r-plus-08-2024"
# Hugging Face API 토큰을 환경 변수에서 가져옴
def get_client():
hf_token = os.getenv("HF_TOKEN")
if not hf_token:
raise ValueError("HuggingFace API 토큰이 필요합니다.")
return InferenceClient(COHERE_MODEL, token=hf_token)
def generate_blog(tone: str, ref1: str, ref2: str, ref3: str):
"""
Cohere Command R+ 모델을 사용하여 블로그 글을 생성하는 함수
"""
system_message = f"""반드시 한글로 답변할 것.
너는 최고의 비서이며 요청에 따라 주어진 말투를 사용하여 블로그를 작성한다.
말투: {tone}.
"""
question = f"참조글 1: {ref1}\n참조글 2: {ref2}\n참조글 3: {ref3}\n블로그 글을 생성하라."
try:
client = get_client()
response = client.chat_completion(
messages=[
{"role": "system", "content": system_message},
{"role": "user", "content": question}
],
max_tokens=4000,
temperature=0.7,
top_p=0.95
)
return response.choices[0].message.content
except Exception as e:
return f"오류가 발생했습니다: {str(e)}"
# Gradio 인터페이스 구축
with gr.Blocks() as demo:
gr.Markdown("# 블로그 생성기")
with gr.Row():
tone = gr.Radio(
label="말투 바꾸기",
choices=["친근하게", "일반적인", "전문적인"],
value="일반적인"
)
ref1 = gr.Textbox(label="참조글 1", lines=3)
ref2 = gr.Textbox(label="참조글 2", lines=3)
ref3 = gr.Textbox(label="참조글 3", lines=3)
output = gr.Textbox(label="생성된 블로그 글", lines=10, interactive=False)
generate_button = gr.Button("생성하기")
generate_button.click(
fn=generate_blog,
inputs=[tone, ref1, ref2, ref3],
outputs=output
)
if __name__ == "__main__":
demo.launch()
# requirements.txt
gradio
huggingface-hub==4.44.1
|