Compare commits
5 Commits
main
...
suyue/perf
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8fa1119850 | ||
|
|
d6255cf38c | ||
|
|
06e0910411 | ||
|
|
b45fc4f3bd | ||
|
|
6916390cc1 |
@@ -37,7 +37,7 @@ deploy:
|
||||
|
||||
llm:
|
||||
engine: vllm # or tgi
|
||||
model_id: "meta-llama/Meta-Llama-3-8B-Instruct" # mandatory
|
||||
model_id: "meta-llama/Llama-3.1-8B-Instruct" # mandatory
|
||||
replicaCount:
|
||||
with_teirerank: [7, 15, 31, 63] # When teirerank.enabled is True
|
||||
without_teirerank: [8, 16, 32, 64] # When teirerank.enabled is False
|
||||
|
||||
@@ -192,7 +192,7 @@ def configure_rerank(values, with_rerank, deploy_config, example_type, node_sele
|
||||
values["teirerank"]["nodeSelector"] = {key: value for key, value in node_selector.items()}
|
||||
else:
|
||||
if example_type == "chatqna":
|
||||
values["image"] = {"repository": "opea/chatqna-without-rerank"}
|
||||
values["CHATQNA_TYPE"] = "CHATQNA_NO_RERANK"
|
||||
if "teirerank" not in values:
|
||||
values["teirerank"] = {"enabled": False}
|
||||
elif "enabled" not in values["teirerank"]:
|
||||
|
||||
@@ -143,7 +143,7 @@ def pull_helm_chart(chart_pull_url, version, chart_name):
|
||||
return untar_dir
|
||||
|
||||
|
||||
def main(yaml_file, target_node=None, test_mode="oob"):
|
||||
def main(yaml_file, target_node=None, test_mode="oob", clean_up=True):
|
||||
"""Main function to process deployment configuration.
|
||||
|
||||
Args:
|
||||
@@ -278,6 +278,9 @@ def main(yaml_file, target_node=None, test_mode="oob"):
|
||||
chart_dir,
|
||||
]
|
||||
result = subprocess.run(cmd, check=True, capture_output=True, text=True)
|
||||
print("Show deploy logs...")
|
||||
print(result.stdout)
|
||||
print("End of show deploy logs.")
|
||||
|
||||
match = re.search(r"values_file_path: (\S+)", result.stdout)
|
||||
if match:
|
||||
@@ -306,6 +309,9 @@ def main(yaml_file, target_node=None, test_mode="oob"):
|
||||
"--update-service",
|
||||
]
|
||||
result = subprocess.run(cmd, check=True, capture_output=True, text=True)
|
||||
print("Show deploy logs...")
|
||||
print(result.stdout)
|
||||
print("End of show deploy logs.")
|
||||
if result.returncode != 0:
|
||||
print(f"Update failed for {node} nodes configuration with {param_name} {batch_param}")
|
||||
break # Skip remaining {param_name} for this node
|
||||
@@ -372,36 +378,48 @@ def main(yaml_file, target_node=None, test_mode="oob"):
|
||||
os.remove(temp_config_file)
|
||||
|
||||
finally:
|
||||
# Uninstall the deployment
|
||||
print(f"\nUninstalling deployment for {node} nodes...")
|
||||
cmd = [
|
||||
python_cmd,
|
||||
"deploy.py",
|
||||
"--chart-name",
|
||||
chart_name,
|
||||
"--namespace",
|
||||
namespace,
|
||||
"--uninstall",
|
||||
]
|
||||
try:
|
||||
result = subprocess.run(cmd, check=True)
|
||||
if result.returncode != 0:
|
||||
print(f"Failed to uninstall deployment for {node} nodes")
|
||||
except Exception as e:
|
||||
print(f"Error while uninstalling deployment for {node} nodes: {str(e)}")
|
||||
if clean_up:
|
||||
# Uninstall the deployment
|
||||
print(f"\nUninstalling deployment for {node} nodes...")
|
||||
cmd = [
|
||||
python_cmd,
|
||||
"deploy.py",
|
||||
"--chart-name",
|
||||
chart_name,
|
||||
"--namespace",
|
||||
namespace,
|
||||
"--uninstall",
|
||||
]
|
||||
try:
|
||||
result = subprocess.run(cmd, check=True)
|
||||
if result.returncode != 0:
|
||||
print(f"Failed to uninstall deployment for {node} nodes")
|
||||
except Exception as e:
|
||||
print(f"Error while uninstalling deployment for {node} nodes: {str(e)}")
|
||||
|
||||
# Delete labels for current node configuration
|
||||
print(f"Deleting labels for {node} nodes...")
|
||||
cmd = [python_cmd, "deploy.py", "--chart-name", chart_name, "--num-nodes", str(node), "--delete-label"]
|
||||
if current_node_names:
|
||||
cmd.extend(["--node-names"] + current_node_names)
|
||||
# Delete labels for current node configuration
|
||||
print(f"Deleting labels for {node} nodes...")
|
||||
cmd = [
|
||||
python_cmd,
|
||||
"deploy.py",
|
||||
"--chart-name",
|
||||
chart_name,
|
||||
"--num-nodes",
|
||||
str(node),
|
||||
"--delete-label",
|
||||
]
|
||||
if current_node_names:
|
||||
cmd.extend(["--node-names"] + current_node_names)
|
||||
|
||||
try:
|
||||
result = subprocess.run(cmd, check=True)
|
||||
if result.returncode != 0:
|
||||
print(f"Failed to delete labels for {node} nodes")
|
||||
except Exception as e:
|
||||
print(f"Error while deleting labels for {node} nodes: {str(e)}")
|
||||
try:
|
||||
result = subprocess.run(cmd, check=True)
|
||||
if result.returncode != 0:
|
||||
print(f"Failed to delete labels for {node} nodes")
|
||||
except Exception as e:
|
||||
print(f"Error while deleting labels for {node} nodes: {str(e)}")
|
||||
else:
|
||||
print("Skipping cleanup for local debug. Manual cleanup may be required.")
|
||||
exit(0)
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error processing configuration for {node} nodes: {str(e)}")
|
||||
@@ -419,6 +437,9 @@ if __name__ == "__main__":
|
||||
parser.add_argument("yaml_file", help="Path to the YAML configuration file")
|
||||
parser.add_argument("--target-node", type=int, help="Optional: Target number of nodes to deploy.", default=None)
|
||||
parser.add_argument("--test-mode", type=str, help="Test mode, either 'oob' (out of box) or 'tune'.", default="oob")
|
||||
parser.add_argument(
|
||||
"--clean-up", type=bool, help="Clean up after test, which can be closed for local debug.", default=True
|
||||
)
|
||||
|
||||
args = parser.parse_args()
|
||||
main(args.yaml_file, args.target_node, args.test_mode)
|
||||
main(args.yaml_file, args.target_node, args.test_mode, args.clean_up)
|
||||
|
||||
Reference in New Issue
Block a user