Files
dsProject/dsLightRag/ShiTi/T2_ImageToMd.py
2025-08-14 15:45:08 +08:00

60 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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("保存成功!")