Spaces:
Sleeping
Sleeping
| import requests | |
| import json | |
| import sys | |
| from pathlib import Path | |
| root_path = Path(__file__).parent.parent.parent | |
| sys.path.append(str(root_path)) | |
| from configs.server_config import FSCHAT_MODEL_WORKERS | |
| from server.utils import api_address, get_model_worker_config | |
| from pprint import pprint | |
| import random | |
| from typing import List | |
| def get_configured_models() -> List[str]: | |
| model_workers = list(FSCHAT_MODEL_WORKERS) | |
| if "default" in model_workers: | |
| model_workers.remove("default") | |
| return model_workers | |
| api_base_url = api_address() | |
| def get_running_models(api="/llm_model/list_models"): | |
| url = api_base_url + api | |
| r = requests.post(url) | |
| if r.status_code == 200: | |
| return r.json()["data"] | |
| return [] | |
| def test_running_models(api="/llm_model/list_running_models"): | |
| url = api_base_url + api | |
| r = requests.post(url) | |
| assert r.status_code == 200 | |
| print("\n获取当前正在运行的模型列表:") | |
| pprint(r.json()) | |
| assert isinstance(r.json()["data"], list) | |
| assert len(r.json()["data"]) > 0 | |
| # 不建议使用stop_model功能。按现在的实现,停止了就只能手动再启动 | |
| # def test_stop_model(api="/llm_model/stop"): | |
| # url = api_base_url + api | |
| # r = requests.post(url, json={""}) | |
| def test_change_model(api="/llm_model/change_model"): | |
| url = api_base_url + api | |
| running_models = get_running_models() | |
| assert len(running_models) > 0 | |
| model_workers = get_configured_models() | |
| availabel_new_models = list(set(model_workers) - set(running_models)) | |
| assert len(availabel_new_models) > 0 | |
| print(availabel_new_models) | |
| local_models = [x for x in running_models if not get_model_worker_config(x).get("online_api")] | |
| model_name = random.choice(local_models) | |
| new_model_name = random.choice(availabel_new_models) | |
| print(f"\n尝试将模型从 {model_name} 切换到 {new_model_name}") | |
| r = requests.post(url, json={"model_name": model_name, "new_model_name": new_model_name}) | |
| assert r.status_code == 200 | |
| running_models = get_running_models() | |
| assert new_model_name in running_models | |