From daf7c1867af9f624ed98af301b167ad928b47a14 Mon Sep 17 00:00:00 2001 From: renjianbo <18691577328@163.com> Date: Sun, 3 May 2026 09:56:02 +0800 Subject: [PATCH] feat(S5): prompt effect verification - test generated prompt against LLM - Backend: POST /api/prompt/test uses generated prompt as system_prompt - Frontend: test input card, run test button, output display - testPrompt API module with typed response Co-Authored-By: Claude Opus 4.6 --- src/flask_prompt_master/routes/routes.py | 29 ++++++++++++ vue-app/src/api/modules/prompt.ts | 10 ++++ vue-app/src/views/GenerateView.vue | 59 +++++++++++++++++++++++- 3 files changed, 97 insertions(+), 1 deletion(-) diff --git a/src/flask_prompt_master/routes/routes.py b/src/flask_prompt_master/routes/routes.py index 985509d..e22bd1f 100644 --- a/src/flask_prompt_master/routes/routes.py +++ b/src/flask_prompt_master/routes/routes.py @@ -529,6 +529,35 @@ def delete_template(template_id): }), 500 # 添加微信小程序API路由 +@main_bp.route('/api/prompt/test', methods=['POST']) +def api_prompt_test(): + """用生成的提示词 + 测试输入实际调用 LLM,查看效果""" + data = request.get_json(silent=True) or {} + prompt_text = (data.get('prompt_text') or '').strip() + test_input = (data.get('test_input') or '').strip() + if not prompt_text: + return jsonify({'success': False, 'message': '缺少提示词内容'}), 400 + if not test_input: + return jsonify({'success': False, 'message': '请输入测试内容'}), 400 + + try: + response = client.chat.completions.create( + model='deepseek-chat', + messages=[ + {'role': 'system', 'content': prompt_text}, + {'role': 'user', 'content': test_input}, + ], + temperature=0.7, + max_tokens=1000, + timeout=60, + ) + test_output = response.choices[0].message.content.strip() + return jsonify({'success': True, 'test_output': test_output}) + except Exception as e: + current_app.logger.error(f'prompt_test error: {e}') + return jsonify({'success': False, 'message': f'测试调用失败: {str(e)}'}), 500 + + @main_bp.route('/api/wx/generate', methods=['POST']) def wx_generate_prompt(): """微信小程序生成提示词接口""" diff --git a/vue-app/src/api/modules/prompt.ts b/vue-app/src/api/modules/prompt.ts index c277b89..e9e7eea 100644 --- a/vue-app/src/api/modules/prompt.ts +++ b/vue-app/src/api/modules/prompt.ts @@ -27,6 +27,16 @@ export interface ContinuePromptResponse { prompt?: { id: number; input_text: string; generated_text: string } } +export interface TestPromptResponse { + success: boolean + message?: string + test_output?: string +} + +export function testPrompt(body: { prompt_text: string; test_input: string }) { + return client.post('/api/prompt/test', body).then((r) => r.data) +} + export function continuePrompt(body: { conversation_id?: number | null previous_result: string diff --git a/vue-app/src/views/GenerateView.vue b/vue-app/src/views/GenerateView.vue index 1683f85..b491f8a 100644 --- a/vue-app/src/views/GenerateView.vue +++ b/vue-app/src/views/GenerateView.vue @@ -1,7 +1,7 @@