блоки 2 и 3 доработки интерфейса системы тестирования
This commit is contained in:
@@ -1,15 +1,11 @@
|
||||
"""Страница настроек: статус LLM-ключа и проверка подключения (E1.8).
|
||||
|
||||
Ключ — общий, читается из ENV (`DEEPSEEK_API_KEY` / `OPENAI_API_KEY`). Здесь —
|
||||
только просмотр статуса и smoke-проверка. Изменение ключа — через `.env` и
|
||||
рестарт процесса.
|
||||
"""
|
||||
"""Настройки: LLM-статус, пинг и редактор промптов."""
|
||||
from __future__ import annotations
|
||||
|
||||
from flask import Blueprint, jsonify, render_template
|
||||
from flask import Blueprint, jsonify, render_template, request
|
||||
|
||||
from ..auth.decorators import login_required
|
||||
from ..services.llm_client import get_llm_config, ping_llm
|
||||
from ..services import prompt_store
|
||||
|
||||
settings_bp = Blueprint('settings', __name__)
|
||||
|
||||
@@ -27,7 +23,34 @@ def settings_page():
|
||||
)
|
||||
|
||||
|
||||
@settings_bp.route('/settings/prompts', methods=['GET'])
|
||||
@login_required
|
||||
def prompts_page():
|
||||
return render_template('settings_prompts.html', prompts=prompt_store.get_all())
|
||||
|
||||
|
||||
@settings_bp.route('/api/llm/ping', methods=['POST', 'GET'])
|
||||
@login_required
|
||||
def api_llm_ping():
|
||||
return jsonify(ping_llm())
|
||||
|
||||
|
||||
@settings_bp.route('/api/ai/prompts', methods=['GET'])
|
||||
@login_required
|
||||
def api_get_prompts():
|
||||
return jsonify(prompts=prompt_store.get_all())
|
||||
|
||||
|
||||
@settings_bp.route('/api/ai/prompts/<prompt_id>', methods=['PUT'])
|
||||
@login_required
|
||||
def api_save_prompt(prompt_id: str):
|
||||
body = request.get_json(silent=True) or {}
|
||||
system = str(body.get('system') or '').strip()
|
||||
user = str(body.get('user') or '').strip()
|
||||
try:
|
||||
prompt_store.save_prompt(prompt_id, system, user)
|
||||
except KeyError as e:
|
||||
return jsonify(ok=False, error=str(e)), 404
|
||||
except Exception as e:
|
||||
return jsonify(ok=False, error=str(e)), 500
|
||||
return jsonify(ok=True)
|
||||
|
||||
Reference in New Issue
Block a user