v3.3.1: редактор промпта LLM — сохранить/сбросить/по умолчанию
This commit is contained in:
+23
-1
@@ -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> — задать вопрос по договору.
|
||||
|
||||
Reference in New Issue
Block a user