Files
2026-06-18 15:21:49 +08:00

53 lines
1.5 KiB
Python

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)