60 lines
1.7 KiB
Python
60 lines
1.7 KiB
Python
from openai import OpenAI
|
||
from Config.Config import *
|
||
|
||
# 一、调用OCR整理出试题
|
||
client = OpenAI(
|
||
api_key=LLM_API_KEY,
|
||
base_url=LLM_BASE_URL,
|
||
)
|
||
|
||
prompt = "请提取图片中的试题"
|
||
completion = client.chat.completions.create(
|
||
model="qwen-vl-ocr-latest",
|
||
messages=[
|
||
{
|
||
"role": "user",
|
||
"content": [
|
||
{
|
||
"type": "image_url",
|
||
"image_url": "https://ylt.oss-cn-hangzhou.aliyuncs.com/HuangHai/Test/SourceWithPhoto.jpg",
|
||
"min_pixels": 28 * 28 * 4,
|
||
"max_pixels": 28 * 28 * 8192
|
||
},
|
||
{"type": "text", "text": prompt},
|
||
]
|
||
}
|
||
])
|
||
|
||
ocr_text = completion.choices[0].message.content
|
||
|
||
|
||
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("保存成功!")
|