File size: 1,035 Bytes
2323b4d
 
 
2c837a7
 
2323b4d
2c837a7
2323b4d
2c837a7
2323b4d
2c837a7
2323b4d
0b79131
2c837a7
2323b4d
 
 
2c837a7
 
 
 
 
2323b4d
 
 
 
2c837a7
2323b4d
 
 
 
 
2c837a7
2323b4d
 
 
2c837a7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from huggingface_hub import InferenceClient
from PIL import Image
import time
import base64
from io import BytesIO

remote_model="zai-org/GLM-4.5V"

client = InferenceClient(model=remote_model)

def query_remote(image: Image.Image, question: str, client: InferenceClient):
    start_time = time.time()
    print("starting remote inference... %s" %(start_time))

    if not Image:
        raise ValueError("Missing image")

    buffered = BytesIO()
    image.save(buffered, format="JPEG")
    img_str = base64.b64encode(buffered.getvalue()).decode("utf-8")
    image_url = f"data:image/jpeg;base64,{img_str}"

    messages = [
        {
            "role": "user",
            "content": [
                {"type": "image_url", "image_url": {"url": image_url}},
                {"type": "text", "text": question}
            ]
        }
    ]

    response = client.chat.completions.create(messages=messages, max_tokens=256)

    print("remote time %s --- " % (time.time() - start_time))

    return response.choices[0].message.content