diff --git a/1.py b/1.py new file mode 100644 index 0000000..ee3296d --- /dev/null +++ b/1.py @@ -0,0 +1,52 @@ +import base64 +import mimetypes +import os +from pathlib import Path + +import httpx +from openai import OpenAI + + +BASE_DIR = Path(__file__).resolve().parent +IMAGE_PATH = BASE_DIR / "03_43431636157.jpg" + + +def image_to_data_url(path): + if not path.exists(): + raise FileNotFoundError("Image not found: {}".format(path)) + + mime_type = mimetypes.guess_type(str(path))[0] or "image/jpeg" + image_base64 = base64.b64encode(path.read_bytes()).decode("ascii") + return "data:{};base64,{}".format(mime_type, image_base64) + + +client = OpenAI( + base_url=os.environ.get("OPENAI_BASE_URL", "http://127.0.0.1:8080/v1"), + api_key=os.environ.get("OPENAI_API_KEY", "pwd"), + http_client=httpx.Client(trust_env=False), +) + +response = client.chat.completions.create( + model=os.environ.get("OPENAI_MODEL", "gpt-5.5"), + messages=[ + { + "role": "user", + "content": [ + { + "type": "text", + "text": ( + "请观察这张图片中人物身上 T 恤胸前的印花。" + "只回答印花是什么,包括图案形状、主要颜色、可能的文字或符号;" + "如果文字看不清,请明确说明不要编造。" + ), + }, + { + "type": "image_url", + "image_url": {"url": image_to_data_url(IMAGE_PATH)}, + }, + ], + } + ], +) + +print(response.choices[0].message.content)