## 主要改进 ### 🚀 Gemini 3 Pro 集成 - 支持通过 OpenRouter API 调用 Google Gemini 3 Pro Preview 模型 - 针对数学试卷优化 prompt,增强数学公式识别能力 - 自动检测 Gemini 模型并启用数学优化模式 - 设置 Gemini 3 Pro 为默认解析模型(AI_MODEL 环境变量) ### 🔧 JSON 转义修复 - 实现 fix_json_escaping() 函数处理 LaTeX 公式中的反斜杠 - 智能识别并转义 LaTeX 命令(\frac, \sqrt, \pm 等) - 保留有效的 JSON 转义序列(\", \\, \/, \uXXXX) - 解决 Gemini 返回的 LaTeX 公式 JSON 解析失败问题 ### 📐 数学解析增强 - 详细的 LaTeX 公式转换说明(分数、根式、积分、矩阵等) - 特殊数学符号支持(不等式、集合、逻辑、箭头等) - 几何图形识别和描述 - 完整的解题步骤和思路分析 ### 📝 新增文件 - GEMINI_INTEGRATION.md: 完整的集成文档 - test_gemini_math.py: Claude vs Gemini 对比测试脚本 - test_gemini_fixed.py: JSON 修复验证测试 - example_gemini_usage.py: 使用示例和最佳实践 - quick_test_gemini.sh: 快速测试脚本 ### 🎯 测试结果 - ✅ 成功解析数学试卷(5 道题,100 分) - ✅ 正确提取所有 LaTeX 公式 - ✅ 详细的解题步骤和知识点标注 - ✅ 准确的难度评估(难度 2-5) ## 配置说明 在 .env 文件中设置: ```bash AI_MODEL=google/gemini-3-pro-preview USE_CLAUDE_PARSER=true ``` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
86 lines
2.1 KiB
Bash
Executable File
86 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# 快速测试 Gemini 3 Pro 数学试卷解析
|
|
|
|
echo "============================================"
|
|
echo " Gemini 3 Pro 数学试卷解析快速测试"
|
|
echo "============================================"
|
|
echo ""
|
|
|
|
# 检查是否有试卷文件参数
|
|
if [ -z "$1" ]; then
|
|
echo "❌ 错误: 请提供试卷文件路径"
|
|
echo ""
|
|
echo "用法:"
|
|
echo " ./quick_test_gemini.sh <试卷文件路径> [学科] [年级]"
|
|
echo ""
|
|
echo "示例:"
|
|
echo " ./quick_test_gemini.sh sample_math.pdf 数学 高一"
|
|
echo " ./quick_test_gemini.sh physics.pdf 物理"
|
|
echo ""
|
|
exit 1
|
|
fi
|
|
|
|
# 检查文件是否存在
|
|
if [ ! -f "$1" ]; then
|
|
echo "❌ 错误: 文件不存在: $1"
|
|
exit 1
|
|
fi
|
|
|
|
# 检查 .env 文件
|
|
if [ ! -f ".env" ]; then
|
|
echo "⚠️ 警告: 未找到 .env 文件,正在从 .env.example 复制..."
|
|
cp .env.example .env
|
|
echo "✅ 已创建 .env 文件,请编辑并设置 OPENROUTER_API_KEY"
|
|
exit 1
|
|
fi
|
|
|
|
# 检查 API Key
|
|
if ! grep -q "OPENROUTER_API_KEY=sk-" .env; then
|
|
echo "❌ 错误: 请在 .env 文件中设置有效的 OPENROUTER_API_KEY"
|
|
echo ""
|
|
echo "步骤:"
|
|
echo "1. 访问 https://openrouter.ai/keys"
|
|
echo "2. 获取 API Key"
|
|
echo "3. 在 .env 文件中设置: OPENROUTER_API_KEY=sk-or-v1-..."
|
|
exit 1
|
|
fi
|
|
|
|
# 设置参数
|
|
FILE_PATH="$1"
|
|
SUBJECT="${2:-数学}"
|
|
GRADE="${3:-}"
|
|
|
|
echo "📄 试卷文件: $FILE_PATH"
|
|
echo "📚 学科: $SUBJECT"
|
|
if [ -n "$GRADE" ]; then
|
|
echo "🎓 年级: $GRADE"
|
|
fi
|
|
echo ""
|
|
|
|
echo "🚀 开始测试..."
|
|
echo ""
|
|
|
|
# 运行测试脚本
|
|
if [ -n "$GRADE" ]; then
|
|
python test_gemini_math.py "$FILE_PATH" "$SUBJECT" "$GRADE"
|
|
else
|
|
python test_gemini_math.py "$FILE_PATH" "$SUBJECT"
|
|
fi
|
|
|
|
# 检查结果
|
|
if [ $? -eq 0 ]; then
|
|
echo ""
|
|
echo "✅ 测试完成!"
|
|
echo ""
|
|
echo "📊 详细结果已保存到 test_results/ 目录"
|
|
echo ""
|
|
echo "下一步:"
|
|
echo " - 查看 test_results/ 中的 JSON 文件"
|
|
echo " - 对比 Claude 和 Gemini 的解析效果"
|
|
echo " - 在 .env 中设置 AI_MODEL=google/gemini-3-pro-preview 以全局使用"
|
|
else
|
|
echo ""
|
|
echo "❌ 测试失败,请检查错误信息"
|
|
exit 1
|
|
fi
|