Skip to content

Commit

Permalink
Remove duplicate code about get_model (#2133)
Browse files Browse the repository at this point in the history
* Improve serving

* Fix format

* Fix yapf
  • Loading branch information
cmpute authored Aug 6, 2024
1 parent 951608c commit 40fdc77
Showing 1 changed file with 15 additions and 12 deletions.
27 changes: 15 additions & 12 deletions lmdeploy/serve/openai/api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,21 @@
from lmdeploy.utils import get_logger


def get_model_list(api_url: str):
def get_model_list(api_url: str, headers: dict = None):
"""Get model list from api server."""
response = requests.get(api_url)
if hasattr(response, 'text'):
model_list = json.loads(response.text)
response = requests.get(api_url, headers=headers)
logger = get_logger('lmdeploy')
if not response.ok:
logger.error(f'Failed to get the model list: {api_url}'
'returns {response.status_code}')
return None
elif not hasattr(response, 'text'):
logger.warning('Failed to get the model list.')
return None
else:
model_list = response.json()
model_list = model_list.pop('data', [])
return [item['id'] for item in model_list]
return None


def json_loads(content):
Expand Down Expand Up @@ -59,13 +66,9 @@ def available_models(self):
"""Show available models."""
if self._available_models is not None:
return self._available_models
response = requests.get(self.models_v1_url, headers=self.headers)
if hasattr(response, 'text'):
model_list = json_loads(response.text)
model_list = model_list.pop('data', [])
self._available_models = [item['id'] for item in model_list]
return self._available_models
return None
self._available_models = get_model_list(self.models_v1_url,
headers=self.headers)
return self._available_models

def encode(self,
input: Union[str, List[str]],
Expand Down

0 comments on commit 40fdc77

Please sign in to comment.