cleanup --model-metadata-file

This commit is contained in:
Paul Gauthier 2024-06-11 13:29:05 -07:00
parent 2f6e360188
commit fb3cc98da5
8 changed files with 60 additions and 49 deletions

View file

@ -142,21 +142,10 @@ def get_parser(default_config_files, git_root):
help="Specify the OpenAI organization ID",
)
group.add_argument(
"--model-file",
"--model-metadata-file",
metavar="MODEL_FILE",
default=None,
help={
"Specify a file with model definitions (info and cost) to be registered with litellm, json formated",
" {"
" \"gpt-4\": {",
" \"max_tokens\": 8192,",
" \"input_cost_per_token\": 0.00003,",
" \"output_cost_per_token\": 0.00006,",
" \"litellm_provider\": \"openai\",",
" \"mode\": \"chat\"",
" },",
" }"
}
help="Specify a file with context window and costs for unknown models",
)
group.add_argument(
"--edit-format",

View file

@ -341,17 +341,17 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F
model_def_files.append(Path.home() / model_def_fname) # homedir
if git_root:
model_def_files.append(Path(git_root) / model_def_fname) # git root
if args.model_file:
model_def_files.append(args.model_file)
if args.model_metadata_file:
model_def_files.append(args.model_metadata_file)
model_def_files.append(model_def_fname.resolve())
model_def_files = list(map(str, model_def_files))
model_def_files = list(dict.fromkeys(model_def_files))
try:
model_files_loaded=models.register_models(model_def_files)
if len(model_files_loaded) > 0:
io.tool_output(f"Loaded {len(model_files_loaded)} model file(s)")
for model_file in model_files_loaded:
io.tool_output(f" - {model_file}")
model_metadata_files_loaded = models.register_models(model_def_files)
if len(model_metadata_files_loaded) > 0:
io.tool_output(f"Loaded {len(model_metadata_files_loaded)} model file(s)")
for model_metadata_file in model_metadata_files_loaded:
io.tool_output(f" - {model_metadata_file}")
except Exception as e:
io.tool_error(f"Error loading model info/cost: {e}")
return 1

View file

@ -426,12 +426,13 @@ class Model:
return res
def register_models(model_def_fnames):
model_files_loaded = []
model_metadata_files_loaded = []
for model_def_fname in model_def_fnames:
if not os.path.exists(model_def_fname):
continue
model_files_loaded.append(model_def_fname)
model_metadata_files_loaded.append(model_def_fname)
try:
with open(model_def_fname, "r") as model_def_file:
model_def = json.load(model_def_file)
@ -440,7 +441,8 @@ def register_models(model_def_fnames):
litellm.register_model(model_def)
return model_files_loaded
return model_metadata_files_loaded
def validate_variables(vars):
missing = []