v3.3.1: редактор промпта LLM — сохранить/сбросить/по умолчанию

This commit is contained in:
2026-06-18 09:32:58 +04:00
parent 958865c397
commit ce4871227c
4 changed files with 142 additions and 8 deletions
+23 -1
View File
@@ -59,7 +59,8 @@ def process(cid):
yield f"data: {_json.dumps({'type': 'extract_start', 'name': s['filename']})}\n\n"
t0 = _time.time()
result = extractor.extract(s["parsed_text"])
custom_prompt = _prompts.get(cid) or None
result = extractor.extract(s["parsed_text"], custom_prompt=custom_prompt)
if "error" in result:
yield f"data: {_json.dumps({'type': 'extract_error', 'name': s['filename'], 'error': result['error']})}\n\n"
@@ -140,6 +141,27 @@ def process(cid):
return Response(generate(), mimetype="text/event-stream")
# ── Хранилище промптов (в памяти) ──────────────────────────────
_prompts = {} # cid → prompt
def save_prompt(cid):
"""POST /llm/prompt/<cid> — сохранить промпт. Тело: {"prompt": "..."}"""
data = request.get_json(silent=True) or {}
prompt = data.get("prompt", "").strip()
if prompt:
_prompts[cid] = prompt
return jsonify({"ok": True})
return jsonify({"error": "пустой промпт"}), 400
def get_prompt(cid):
"""GET /llm/prompt/<cid> — получить сохранённый промпт (или DEFAULT_PROMPT)"""
import extractor
return jsonify({"prompt": _prompts.get(cid, "")})
def chat(cid):
"""
POST /llm/chat/<cid> — задать вопрос по договору.