|
|
@ -1,5 +1,4 @@
|
|
|
|
from openai import OpenAI
|
|
|
|
from openai import OpenAI
|
|
|
|
from Util.LightRagUtil import format_exam_content
|
|
|
|
|
|
|
|
from Config.Config import *
|
|
|
|
from Config.Config import *
|
|
|
|
|
|
|
|
|
|
|
|
# 一、调用OCR整理出试题
|
|
|
|
# 一、调用OCR整理出试题
|
|
|
@ -17,7 +16,7 @@ completion = client.chat.completions.create(
|
|
|
|
"content": [
|
|
|
|
"content": [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
"type": "image_url",
|
|
|
|
"type": "image_url",
|
|
|
|
"image_url": "https://ylt.oss-cn-hangzhou.aliyuncs.com/HuangHai/Test/Source.jpg",
|
|
|
|
"image_url": "https://ylt.oss-cn-hangzhou.aliyuncs.com/HuangHai/Test/SourceWithPhoto.jpg",
|
|
|
|
"min_pixels": 28 * 28 * 4,
|
|
|
|
"min_pixels": 28 * 28 * 4,
|
|
|
|
"max_pixels": 28 * 28 * 8192
|
|
|
|
"max_pixels": 28 * 28 * 8192
|
|
|
|
},
|
|
|
|
},
|
|
|
@ -28,6 +27,33 @@ completion = client.chat.completions.create(
|
|
|
|
|
|
|
|
|
|
|
|
ocr_text = completion.choices[0].message.content
|
|
|
|
ocr_text = completion.choices[0].message.content
|
|
|
|
|
|
|
|
|
|
|
|
# 二、调用格式化函数处理内容
|
|
|
|
|
|
|
|
format_exam_content(raw_text=ocr_text, output_path="../output/数学OCR整理后的结果.md")
|
|
|
|
prompt = """
|
|
|
|
|
|
|
|
我将提供一份markdown格式的试卷,请帮我整理出每道题的以下内容:
|
|
|
|
|
|
|
|
1. 题目序号
|
|
|
|
|
|
|
|
2. 题目内容(自动识别并添加$或$$包裹数学公式)
|
|
|
|
|
|
|
|
3. 选项(如果有)
|
|
|
|
|
|
|
|
4. 答案
|
|
|
|
|
|
|
|
5. 解析
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
要求:
|
|
|
|
|
|
|
|
- 一道题一道题输出,不要使用表格
|
|
|
|
|
|
|
|
- 自动检测数学表达式并用$或$$正确包裹
|
|
|
|
|
|
|
|
- 确保公式中的特殊字符正确转义
|
|
|
|
|
|
|
|
- 除题目内容外,不要输出其它无关信息
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
内容如下:
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
prompt += ocr_text
|
|
|
|
|
|
|
|
completion = client.chat.completions.create(
|
|
|
|
|
|
|
|
model="deepseek-v3",
|
|
|
|
|
|
|
|
messages=[
|
|
|
|
|
|
|
|
{"role": "system", "content": "You are a helpful assistant."},
|
|
|
|
|
|
|
|
{"role": "user",
|
|
|
|
|
|
|
|
"content": prompt},
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
print(completion.choices[0].message.content)
|
|
|
|
|
|
|
|
with open("../output/数学OCR整理后的结果.md", "w", encoding="utf-8") as f:
|
|
|
|
|
|
|
|
f.write(completion.choices[0].message.content)
|
|
|
|
print("保存成功!")
|
|
|
|
print("保存成功!")
|
|
|
|