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
|