Renecto commited on
Commit
f636c5d
·
verified ·
1 Parent(s): e5fe197

upload: README.md

Browse files
Files changed (1) hide show
  1. README.md +135 -10
README.md CHANGED
@@ -1,10 +1,135 @@
1
- ---
2
- title: Level Bridge Chat
3
- emoji: 😻
4
- colorFrom: green
5
- colorTo: blue
6
- sdk: docker
7
- pinned: false
8
- ---
9
-
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Level Bridge Chat
3
+ emoji: 💬
4
+ colorFrom: blue
5
+ colorTo: indigo
6
+ sdk: docker
7
+ pinned: false
8
+ ---
9
+
10
+ # Level Bridge Chat
11
+
12
+ ダッシュボードに埋め込めるチャット型広告改善提案システム。
13
+
14
+ 情報量(level1〜3)に応じた2種類の返答を自動生成します:
15
+ - **現在の提案**: 今ある情報で出せる最善提案
16
+ - **次レベル予告**: 追加情報で何が可能になるかの予告
17
+
18
+ ## Embedding
19
+
20
+ ```html
21
+ <!-- 基本埋め込み -->
22
+ <iframe
23
+ src="https://your-space.hf.space?campaign_name=サマーセール&industry=EC&cvr=2.1"
24
+ width="420"
25
+ height="680"
26
+ style="border:none; border-radius:12px;">
27
+ </iframe>
28
+ ```
29
+
30
+ ### URLパラメータ(初期化)
31
+
32
+ | パラメータ | 型 | 説明 | 例 |
33
+ |---|---|---|---|
34
+ | `campaign_name` | string | キャンペーン名 | `サマーセール` |
35
+ | `industry` | string | 業界 | `EC` |
36
+ | `cvr` | number | CVR (%) | `2.1` |
37
+ | `ctr` | number | CTR (%) | `0.8` |
38
+ | `cpa` | number | CPA (円) | `3500` |
39
+
40
+ ## API Endpoint
41
+
42
+ ```
43
+ POST /api/chat/bridge
44
+ Content-Type: application/json
45
+
46
+ {
47
+ "session_id": null,
48
+ "message": "",
49
+ "dashboard_context": {
50
+ "campaign_name": "サマーセール",
51
+ "industry": "EC",
52
+ "metrics": { "cvr": 2.1, "ctr": 0.8, "cpa": null },
53
+ "image_base64": null
54
+ }
55
+ }
56
+ ```
57
+
58
+ ### Response
59
+
60
+ ```json
61
+ {
62
+ "ok": true,
63
+ "session_id": "uuid",
64
+ "turn_number": 1,
65
+ "inferred_level": "level2",
66
+ "level_confidence": "high",
67
+ "level_reason": "at least one metric present",
68
+ "best_now": {
69
+ "summary": "...",
70
+ "actions": ["..."],
71
+ "confidence": "mid",
72
+ "reasoning_basis": ["cvr", "campaign_name"]
73
+ },
74
+ "next_level_preview": {
75
+ "current_level": "level2",
76
+ "next_level": "level3",
77
+ "needed_info": [{"key": "image_base64", "label": "クリエイティブ画像", "example": "バナー画像"}],
78
+ "what_will_be_possible": ["クリエイティブ要素の具体的改善提案"],
79
+ "expected_impact": "..."
80
+ },
81
+ "follow_up_question": "..."
82
+ }
83
+ ```
84
+
85
+ ## Level Rules
86
+
87
+ | Level | 条件 | 今できること |
88
+ |---|---|---|
89
+ | level1 | campaign_name or industry のみ | 業界仮説ベースの提案 |
90
+ | level2 | CVR/CTR/CPA のいずれかあり | ファネル診断・優先度付き打ち手 |
91
+ | level3 | image_base64 あり | クリエイティブ視覚要素の改善提案 |
92
+
93
+ Level は会話内で上方向にのみ更新されます(情報は蓄積され続けます)。
94
+
95
+ ## Environment Variables
96
+
97
+ | 変数 | デフォルト | 説明 |
98
+ |---|---|---|
99
+ | `MOCK_MODE` | `true` | `true` の間はモック応答を返す |
100
+ | `SESSION_TTL_SEC` | `1800` | セッション有効期間(秒) |
101
+ | `MAX_SESSIONS` | `1000` | 最大同時セッション数 |
102
+ | `MAX_IMAGE_SIZE_MB` | `5` | 画像の最大サイズ(MB) |
103
+ | `PORT` | `7860` | サーバーポート |
104
+
105
+ ## Real Implementation
106
+
107
+ `mock_responses.py` の以下の関数を実装してください:
108
+
109
+ ```python
110
+ def level1_propose(ctx: AccumulatedContext, history: list) -> BestNow:
111
+ # Level 1 の実際のロジック(LLM呼び出しなど)
112
+ ...
113
+
114
+ def level2_propose(ctx: AccumulatedContext, history: list) -> BestNow:
115
+ # Level 2 の実際のロジック
116
+ ...
117
+
118
+ def level3_propose(ctx: AccumulatedContext, history: list) -> BestNow:
119
+ # Level 3 の実際のロジック(画像base64を ctx.image_base64 で参照)
120
+ ...
121
+ ```
122
+
123
+ 実装後、`MOCK_MODE=false` に設定します。
124
+
125
+ ## MCP Readiness
126
+
127
+ 将来 MCP ツールとして公開する場合、`bridge_service.process_request()` を薄くラップするだけで対応できます。
128
+ Pydantic モデルがそのまま JSON Schema になります。
129
+
130
+ ## Health Check
131
+
132
+ ```
133
+ GET /healthz
134
+ → {"ok": true, "sessions": 42}
135
+ ```