mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-07-30 23:51:00 +00:00
build->run
This commit is contained in:
parent
47d91b10fb
commit
649efc2f45
3 changed files with 15 additions and 10 deletions
|
@ -189,16 +189,24 @@ class StackBuild(Subcommand):
|
||||||
import yaml
|
import yaml
|
||||||
from termcolor import cprint
|
from termcolor import cprint
|
||||||
|
|
||||||
|
from llama_stack.distribution.build import ImageType
|
||||||
|
|
||||||
from llama_stack.distribution.utils.serialize import EnumEncoder
|
from llama_stack.distribution.utils.serialize import EnumEncoder
|
||||||
|
|
||||||
# TODO: we should make the run.yaml file invisible to users by with ENV variables
|
|
||||||
# but keeping it visible and exposed to users for now
|
|
||||||
# generate a default run.yaml file using the build_config
|
|
||||||
apis = list(build_config.distribution_spec.providers.keys())
|
apis = list(build_config.distribution_spec.providers.keys())
|
||||||
run_config = StackRunConfig(
|
run_config = StackRunConfig(
|
||||||
built_at=datetime.now(),
|
built_at=datetime.now(),
|
||||||
|
docker_image=(
|
||||||
|
build_config.name
|
||||||
|
if build_config.image_type == ImageType.docker.value
|
||||||
|
else None
|
||||||
|
),
|
||||||
image_name=build_config.name,
|
image_name=build_config.name,
|
||||||
conda_env=build_config.name,
|
conda_env=(
|
||||||
|
build_config.name
|
||||||
|
if build_config.image_type == ImageType.conda.value
|
||||||
|
else None
|
||||||
|
),
|
||||||
apis=apis,
|
apis=apis,
|
||||||
providers={},
|
providers={},
|
||||||
)
|
)
|
||||||
|
@ -223,7 +231,9 @@ class StackBuild(Subcommand):
|
||||||
p_spec.config = config_type()
|
p_spec.config = config_type()
|
||||||
run_config.providers[api].append(p_spec)
|
run_config.providers[api].append(p_spec)
|
||||||
|
|
||||||
|
os.makedirs(build_dir, exist_ok=True)
|
||||||
run_config_file = build_dir / f"{build_config.name}-run.yaml"
|
run_config_file = build_dir / f"{build_config.name}-run.yaml"
|
||||||
|
|
||||||
with open(run_config_file, "w") as f:
|
with open(run_config_file, "w") as f:
|
||||||
to_write = json.loads(json.dumps(run_config.model_dump(), cls=EnumEncoder))
|
to_write = json.loads(json.dumps(run_config.model_dump(), cls=EnumEncoder))
|
||||||
f.write(yaml.dump(to_write, sort_keys=False))
|
f.write(yaml.dump(to_write, sort_keys=False))
|
||||||
|
@ -240,7 +250,6 @@ class StackBuild(Subcommand):
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
from termcolor import cprint
|
|
||||||
|
|
||||||
from llama_stack.distribution.build import build_image, ImageType
|
from llama_stack.distribution.build import build_image, ImageType
|
||||||
from llama_stack.distribution.utils.config_dirs import DISTRIBS_BASE_DIR
|
from llama_stack.distribution.utils.config_dirs import DISTRIBS_BASE_DIR
|
||||||
|
|
|
@ -7,8 +7,6 @@
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
from llama_stack.cli.subcommand import Subcommand
|
from llama_stack.cli.subcommand import Subcommand
|
||||||
from llama_stack.distribution.utils.config_dirs import BUILDS_BASE_DIR
|
|
||||||
from llama_stack.distribution.datatypes import * # noqa: F403
|
|
||||||
|
|
||||||
|
|
||||||
class StackConfigure(Subcommand):
|
class StackConfigure(Subcommand):
|
||||||
|
|
|
@ -45,7 +45,6 @@ class StackRun(Subcommand):
|
||||||
|
|
||||||
import pkg_resources
|
import pkg_resources
|
||||||
import yaml
|
import yaml
|
||||||
from termcolor import cprint
|
|
||||||
|
|
||||||
from llama_stack.distribution.build import ImageType
|
from llama_stack.distribution.build import ImageType
|
||||||
from llama_stack.distribution.configure import parse_and_maybe_upgrade_config
|
from llama_stack.distribution.configure import parse_and_maybe_upgrade_config
|
||||||
|
@ -71,11 +70,10 @@ class StackRun(Subcommand):
|
||||||
|
|
||||||
if not config_file.exists():
|
if not config_file.exists():
|
||||||
self.parser.error(
|
self.parser.error(
|
||||||
f"File {str(config_file)} does not exist. Please run `llama stack build` and `llama stack configure <name>` to generate a run.yaml file"
|
f"File {str(config_file)} does not exist. Please run `llama stack build` to generate a run.yaml file"
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
cprint(f"Using config `{config_file}`", "green")
|
|
||||||
with open(config_file, "r") as f:
|
with open(config_file, "r") as f:
|
||||||
config_dict = yaml.safe_load(config_file.read_text())
|
config_dict = yaml.safe_load(config_file.read_text())
|
||||||
config = parse_and_maybe_upgrade_config(config_dict)
|
config = parse_and_maybe_upgrade_config(config_dict)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue