# -------------------------------------------------------- # InternVL # Copyright (c) 2024 OpenGVLab # Licensed under The MIT License [see LICENSE for details] # -------------------------------------------------------- import base64 import json from io import BytesIO import requests from PIL import Image def get_model_list(controller_url): ret = requests.post(controller_url + '/refresh_all_workers') assert ret.status_code == 200 ret = requests.post(controller_url + '/list_models') models = ret.json()['models'] return models def get_selected_worker_ip(controller_url, selected_model): ret = requests.post(controller_url + '/get_worker_address', json={'model': selected_model}) worker_addr = ret.json()['address'] return worker_addr def pil_image_to_base64(image): buffered = BytesIO() image.save(buffered, format='PNG') return base64.b64encode(buffered.getvalue()).decode('utf-8')