Spaces:
Sleeping
Sleeping
Create proposal_generator.py
Browse files
modules/proposal_generator.py
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from typing import List
|
| 2 |
+
from modules.llm import generate
|
| 3 |
+
|
| 4 |
+
SYSTEM_PROMPT = """あなたは営業企画のエキスパートです。以下の制約で日本語の提案文を作成します。
|
| 5 |
+
- トーン:簡潔・価値訴求・次アクション明確
|
| 6 |
+
- 構成: ①現状理解 ②提案価値 ③導入プラン ④期待効果 ⑤CTA
|
| 7 |
+
- 出力: Markdown
|
| 8 |
+
"""
|
| 9 |
+
|
| 10 |
+
def make_proposal(company_name: str, objective: str, top_contexts: List[str], temperature: float=0.4) -> str:
|
| 11 |
+
contexts_md ="\n\n".join([f"-{c}" for c in top_contexts])
|
| 12 |
+
user_prompt = f"""
|
| 13 |
+
会社名: {company_name}
|
| 14 |
+
目的:{objective or "初回接触(無料相談/PoCの打診)"}
|
| 15 |
+
|
| 16 |
+
参考コンテキスト(RAG上位):
|
| 17 |
+
{contexts_md}
|
| 18 |
+
|
| 19 |
+
上記を踏まえ、1枚提案のMarkdownを出力してください。見出し・箇条書きを効果的に。
|
| 20 |
+
"""
|
| 21 |
+
return generate(SYSTEM_PROMPT, user_prompt, temperature=temperature, max_new_tokens=600)
|
| 22 |
+
|
| 23 |
+
def suggest_next_actions(proposal_md: str, score_overall: float, temperature: float=0.3) -> str:
|
| 24 |
+
system = "あなたは営業マネージャーです。短い箇条書きで次アクションを提案してください。"
|
| 25 |
+
user = f"提案ドラフト:\n{proposal_md}\n\n見込み度(0-100):{score_overall}\n反応: 未送信または未反応想定。"
|
| 26 |
+
return generate(system, user, temperature=temperature, max_new_tokens=256)
|