# -*- coding: utf-8 -*-
import base64,json,os,glob
import urllib.request
from concurrent.futures import ThreadPoolExecutor
API="https://api.deepseek.com/v1/chat/completions"; MODEL="deepseek-v4-flash-vision-exp"
KEY="sk-2af0093dfbac45359276d8aa85d83618"
Q=("这张文档照片中的正文/表格文字，是哪种情况？\n"
   "A) 正常横向排版，直接看就能读（文字行是水平的）\n"
   "B) 需要把图片顺时针旋转90°才能正常阅读\n"
   "C) 需要把图片逆时针旋转90°才能正常阅读\n"
   "D) 文字是上下颠倒的\n"
   "只回答一个字母，然后附一句说明。")
def q(f):
    b64=base64.b64encode(open(f,"rb").read()).decode()
    p={"model":MODEL,"temperature":0,"max_tokens":200,"messages":[{"role":"user","content":[
      {"type":"image_url","image_url":{"url":"data:image/jpeg;base64,"+b64}},{"type":"text","text":Q}]}]}
    r=urllib.request.Request(API,data=json.dumps(p).encode(),headers={"Authorization":"Bearer "+KEY,"Content-Type":"application/json"})
    d=json.loads(urllib.request.urlopen(r,timeout=300).read())
    return os.path.basename(f), d["choices"][0]["message"]["content"].strip().replace("\n"," | ")
fs=sorted(glob.glob("/home/zyw/Downloads/dl-hub/26-合同审查/originals/*.jpg"))
with ThreadPoolExecutor(max_workers=6) as ex:
    for n,t in ex.map(q,fs): print(n, "=>", t, flush=True)
