feat(test): action 'llm' — тест LLM через /test

POST /test {"action":"llm", "prompt":"...", "model":"...", "max_tokens":500}
→ вызывает llm_client.ask() → возвращает {text, model, usage}
This commit is contained in:
2026-06-14 07:00:50 +04:00
parent 44e53edc72
commit fe8a5563bf
+12
View File
@@ -16,6 +16,7 @@ import os
from psycopg2 import sql as psysql from psycopg2 import sql as psysql
from flask import Blueprint, jsonify, request from flask import Blueprint, jsonify, request
import db import db
import llm_client
test_bp = Blueprint("test", __name__) test_bp = Blueprint("test", __name__)
@@ -39,6 +40,7 @@ def test():
"POST /test createdb — создать БД (если нет)", "POST /test createdb — создать БД (если нет)",
"POST /test tables — список таблиц", "POST /test tables — список таблиц",
"POST /test exec {...} — INSERT/UPDATE/DDL (без fetch)", "POST /test exec {...} — INSERT/UPDATE/DDL (без fetch)",
"POST /test llm {...} — тест LLM (промпт → ответ)",
"POST /test sql {...} — SELECT (с fetch)", "POST /test sql {...} — SELECT (с fetch)",
], ],
}) })
@@ -99,4 +101,14 @@ def test():
return jsonify({"error": err}), 500 return jsonify({"error": err}), 500
return jsonify(result) return jsonify(result)
if action == "llm":
# Тест LLM: отправить промпт → получить ответ
prompt = data.get("prompt", "Скажи 'Привет, мир!'")
model = data.get("model") # None = default
max_tokens = data.get("max_tokens", 500)
result = llm_client.ask(prompt, model=model, max_tokens=max_tokens)
if "error" in result:
return jsonify(result), 500
return jsonify(result)
return jsonify({"error": f"unknown action: {action}"}), 400 return jsonify({"error": f"unknown action: {action}"}), 400