sales / app.py
Corin1998's picture
Upload 25 files
a50314f verified
import os, gradio as gr
from openai import OpenAI
OPENAI_API_KEY = os.environ["OPENAI_API_KEY"]
MODEL = os.environ.get("OPENAI_MODEL", "gpt-4o-mini")
client = OpenAI(api_key=OPENAI_API_KEY)
SYSTEM = "あなたは一流のB2B営業コピーライターです。日本語で、簡潔・丁寧に。"
TEMPLATE = """業界:{industry}
相手企業:{company}
担当者:{persona}
課題:{pains}
価値:{value}
製品:{product}
CTA:{cta}
トーン:{tone}
# 出力
件名:
本文:"""
def generate(industry, company, persona, pains, value, product, cta, tone):
user = TEMPLATE.format(
industry=industry, company=company, persona=persona,
pains=pains, value=value, product=product, cta=cta, tone=tone
)
resp = client.chat.completions.create(
model=MODEL,
messages=[{"role":"system","content":SYSTEM},{"role":"user","content":user}],
temperature=0.6
)
text = resp.choices[0].message.content
return text
with gr.Blocks() as demo:
gr.Markdown("# 営業メールジェネレーター(デモ)")
with gr.Row():
industry = gr.Textbox(label="業界", value="ITサービス")
company = gr.Textbox(label="相手企業", value="株式会社○○")
with gr.Row():
persona = gr.Textbox(label="担当者", value="情報システム部の部長")
product = gr.Textbox(label="製品", value="Aroundabout Suite")
pains = gr.Textbox(label="課題", value="SaaS乱立によるコスト・運用負荷増大", lines=2)
value = gr.Textbox(label="提供価値", value="運用統合と可視化によりTCOを30%削減", lines=2)
cta = gr.Textbox(label="CTA", value="15分のオンライン面談をご提案")
tone = gr.Textbox(label="トーン", value="フォーマルで簡潔")
out = gr.Textbox(label="出力", lines=12)
btn = gr.Button("生成")
btn.click(generate, [industry, company, persona, pains, value, product, cta, tone], out)
demo.launch()