126 lines
3.5 KiB
Bash
126 lines
3.5 KiB
Bash
#!/bin/bash
|
|
# 快速测试脚本
|
|
|
|
echo "=========================================="
|
|
echo "数学作业批改系统 - 快速测试"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# 检查容器是否运行
|
|
if ! docker ps | grep -q math-grading; then
|
|
echo "❌ 容器未运行,请先启动容器"
|
|
echo "运行: docker start math-grading"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ 容器正在运行"
|
|
echo ""
|
|
|
|
# 测试 1: 健康检查
|
|
echo "测试 1: 健康检查"
|
|
echo "----------------------------------------"
|
|
response=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:8000/health)
|
|
if [ "$response" = "200" ]; then
|
|
echo "✅ 健康检查通过 (200 OK)"
|
|
else
|
|
echo "❌ 健康检查失败 (HTTP $response)"
|
|
fi
|
|
echo ""
|
|
|
|
# 测试 2: 环境变量检查
|
|
echo "测试 2: 环境变量检查"
|
|
echo "----------------------------------------"
|
|
echo "检查关键环境变量..."
|
|
|
|
# COZE_API_KEY
|
|
if docker exec math-grading env | grep -q "COZE_API_KEY=Bearer"; then
|
|
echo "✅ COZE_API_KEY 已设置"
|
|
else
|
|
echo "❌ COZE_API_KEY 未设置"
|
|
fi
|
|
|
|
# COZE_WORKSPACE_ID
|
|
if docker exec math-grading env | grep -q "COZE_WORKSPACE_ID=7622238752642957347"; then
|
|
echo "✅ COZE_WORKSPACE_ID 已设置 (7622238752642957347)"
|
|
else
|
|
echo "❌ COZE_WORKSPACE_ID 未设置或值不正确"
|
|
fi
|
|
|
|
# API 端点
|
|
if docker exec math-grading env | grep -q "COZE_INTEGRATION_BASE_URL=https://api.coze.cn/v1"; then
|
|
echo "✅ API 端点已配置 (https://api.coze.cn/v1)"
|
|
else
|
|
echo "❌ API 端点未配置或缺少 /v1 前缀"
|
|
fi
|
|
|
|
# LLM 模型
|
|
if docker exec math-grading env | grep -q "LLM_MODEL_NAME=doubao-seed-2-0-pro-260215"; then
|
|
echo "✅ LLM 模型已配置 (doubao-seed-2-0-pro-260215)"
|
|
else
|
|
echo "❌ LLM 模型未配置"
|
|
fi
|
|
echo ""
|
|
|
|
# 测试 3: LLM 调用测试
|
|
echo "测试 3: LLM 调用测试"
|
|
echo "----------------------------------------"
|
|
echo "发送测试请求..."
|
|
|
|
response=$(curl -s -X POST http://localhost:8000/stream_run \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"student_homework": [
|
|
{
|
|
"student_id": 1,
|
|
"student_name": "测试学生",
|
|
"homework_images": [
|
|
"https://dpcclass.oss-cn-beijing.aliyuncs.com/umsupload/2026/03/18/69baa4f5-4826-4901-00e1-c6e66f02947f.jpg?x-oss-process=image/resize,w_1000"
|
|
]
|
|
}
|
|
],
|
|
"answer_doc_url": "",
|
|
"comment_max_length": 50,
|
|
"max_concurrent": 1
|
|
}' \
|
|
--max-time 120)
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "✅ 请求发送成功"
|
|
echo ""
|
|
echo "响应预览:"
|
|
echo "$response" | head -c 500
|
|
echo "..."
|
|
else
|
|
echo "❌ 请求失败"
|
|
fi
|
|
echo ""
|
|
|
|
# 测试 4: 日志检查
|
|
echo "测试 4: 日志检查"
|
|
echo "----------------------------------------"
|
|
echo "检查最近日志中的错误..."
|
|
|
|
errors=$(docker logs --tail 100 math-grading 2>&1 | grep -i "401\|404\|authentication is invalid" | wc -l)
|
|
|
|
if [ "$errors" -eq 0 ]; then
|
|
echo "✅ 未发现认证错误或端点错误"
|
|
else
|
|
echo "❌ 发现 $errors 个错误"
|
|
echo "最近的错误:"
|
|
docker logs --tail 50 math-grading 2>&1 | grep -i "401\|404\|authentication is invalid" | tail -5
|
|
fi
|
|
echo ""
|
|
|
|
# 总结
|
|
echo "=========================================="
|
|
echo "测试总结"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo "如果所有测试都通过,说明部署成功!"
|
|
echo ""
|
|
echo "下一步:"
|
|
echo " 1. 查看详细日志: docker logs -f math-grading"
|
|
echo " 2. 测试完整功能: 使用上面的测试请求"
|
|
echo " 3. 部署到生产环境: 参考 DOCKER_DEPLOY.md"
|
|
echo ""
|