61 lines
2.4 KiB
Python
61 lines
2.4 KiB
Python
|
|
import logging
|
|||
|
|
from services.deepseek_service import deepseek_service
|
|||
|
|
|
|||
|
|
# 设置日志
|
|||
|
|
logging.basicConfig(level=logging.DEBUG)
|
|||
|
|
logger = logging.getLogger(__name__)
|
|||
|
|
|
|||
|
|
def test_feedback_generation():
|
|||
|
|
logger.info("开始测试反馈生成功能")
|
|||
|
|
|
|||
|
|
# 准备测试数据
|
|||
|
|
conversation_history = [
|
|||
|
|
{"role": "assistant", "content": "你好!我是面试官,现在开始针对前端开发岗位的面试。请做一下自我介绍。"},
|
|||
|
|
{"role": "user", "content": "你好,我叫张三,有3年前端开发经验,熟悉React、Vue等框架。"},
|
|||
|
|
{"role": "assistant", "content": "请介绍一下你最印象深刻的项目。"},
|
|||
|
|
{"role": "user", "content": "我在之前的公司负责开发了一个电商网站,使用React框架,优化了页面加载速度,提升了用户体验。"}
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
system_prompt = """作为一位专业的面试评估专家,请对整场面试进行全面评估。
|
|||
|
|
|
|||
|
|
请提供:
|
|||
|
|
1. 整体表现评分(0-100分)和评级(优秀/良好/一般/需改进)
|
|||
|
|
2. 各轮回答的详细分析(针对每个问题和回答给出具体评价)
|
|||
|
|
3. strengths(优势)- 列出至少3点
|
|||
|
|
4. areas_for_improvement(需要改进的方面)- 列出至少3点
|
|||
|
|
5. 具体的准备建议(针对改进点给出可操作的建议)
|
|||
|
|
|
|||
|
|
请用中文回复,格式清晰、结构化,避免过于笼统的描述。"""
|
|||
|
|
|
|||
|
|
user_prompt = f"请分析以下针对前端开发岗位的面试对话并给出综合反馈:\n\n" + "\n\n".join([
|
|||
|
|
f"{'面试官' if msg['role'] == 'assistant' else '候选人'}:{msg['content']}"
|
|||
|
|
for msg in conversation_history
|
|||
|
|
])
|
|||
|
|
|
|||
|
|
messages = [
|
|||
|
|
{"role": "system", "content": system_prompt},
|
|||
|
|
{"role": "user", "content": user_prompt}
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
try:
|
|||
|
|
logger.info("准备调用DeepSeek API")
|
|||
|
|
response = deepseek_service._call_api(messages)
|
|||
|
|
logger.info("API调用成功")
|
|||
|
|
logger.debug(f"API响应:{response}")
|
|||
|
|
|
|||
|
|
feedback = response["choices"][0]["message"]["content"]
|
|||
|
|
logger.info("生成的反馈内容:")
|
|||
|
|
logger.info(feedback)
|
|||
|
|
|
|||
|
|
return True
|
|||
|
|
except Exception as e:
|
|||
|
|
logger.error(f"API调用失败:{str(e)}", exc_info=True)
|
|||
|
|
return False
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
success = test_feedback_generation()
|
|||
|
|
if success:
|
|||
|
|
logger.info("测试成功")
|
|||
|
|
else:
|
|||
|
|
logger.info("测试失败")
|