import mlflow, pickle from sentence_transformers import SentenceTransformer mlflow.set_tracking_uri("file:./mlruns") mlflow.set_experiment("multi_agent_system") def log_agent_run(topic, mode, parsed, scores): with mlflow.start_run(run_name=f"{topic[:30]}_{mode}"): mlflow.log_param("topic", topic); mlflow.log_param("mode", mode) for agent, data in parsed.items(): mlflow.log_metric(f"{agent}_confidence", data.get("confidence", 0)) if data.get("trust_score"): mlflow.log_metric(f"{agent}_trust_score", data["trust_score"]) for agent, sc in scores.items(): for dim, val in sc.items(): mlflow.log_metric(f"{agent}_{dim}", val) def save_embedding_model(): model = SentenceTransformer("all-MiniLM-L6-v2") with open("models/embedder_v1.pkl", "wb") as f: pickle.dump(model, f) mlflow.log_artifact("models/embedder_v1.pkl", artifact_path="embedding_models")