from pydantic import BaseModel import requests import argparse def main(server: str, port: int): # 模拟发送的特征数据 features_data1 = { "somatization": 0.5, "obsessive_compulsive": 0.3, "interpersonal_sensitivity": 0.7, "depression": 0.6, "anxiety": 0.8, "hostility": 0.4, "terror": 0.2, "paranoia": 0.1, "psychoticism": 0.9, "other": 0.2, "father_parenting_style": 2, "mother_parenting_style": 3, "self_assessed_family_economic_condition": 4, "history_of_psychological_counseling": 1, "absenteeism_above_average": True, "academic_warning": False, "label": -1 } features_data2 = { "somatization": 4.3, "obsessive_compulsive": 4.1, "interpersonal_sensitivity": 3.8, "depression": 4, "anxiety": 4.2, "hostility": 4.2, "terror": 4, "paranoia": 4.2, "psychoticism": 3.8, "other": 3.6, "father_parenting_style": 1, "mother_parenting_style": 0, "self_assessed_family_economic_condition": 0, "history_of_psychological_counseling": False, "absenteeism_above_average": True, "academic_warning": True, "label": -1 } features_data3 = { "somatization": 1.1, "obsessive_compulsive": 2.3, "interpersonal_sensitivity": 2.6, "depression": 2.2, "anxiety": 1.6, "hostility": 1.5, "terror": 1.6, "paranoia": 1.5, "psychoticism": 1.2, "other": 1.3, "father_parenting_style": 1, "mother_parenting_style": 1, "self_assessed_family_economic_condition": 1, "history_of_psychological_counseling": False, "absenteeism_above_average": False, "academic_warning": False, "label": -1 } features_data4 = { "somatization": 1.5, "obsessive_compulsive": 2.4, "interpersonal_sensitivity": 2.2, "depression": 3.2, "anxiety": 1.6, "hostility": 1.5, "terror": 3.1, "paranoia": 1.5, "psychoticism": 1.9, "other": 2.6, "father_parenting_style": 1, "mother_parenting_style": 1, "self_assessed_family_economic_condition": 0, "history_of_psychological_counseling": False, "absenteeism_above_average": False, "academic_warning": False, "label": -1 } # 必须是 features_list, 前面出现了只有一个样本时测不准,考虑是用了样本间归一化的原因,现在么有用了 features_data_list = [features_data4, features_data2, features_data3, features_data1] # 构建请求 URL url = f"http://{server}:{port}/inference/" # 发送 POST 请求 response = requests.post(url, json=features_data_list) if response.status_code == 200: # 获取分类结果列表 classified_results = response.json() print(classified_results) # 这里的 classified_results 就是返回的列表对象 else: print("请求失败:", response.text) if __name__ == "__main__": parser = argparse.ArgumentParser(description="发送特征数据到服务器进行推断") parser.add_argument("--server", type=str, default="127.0.0.1", help="服务器地址") parser.add_argument("--port", type=int, default=8088, help="服务器端口") args = parser.parse_args() main(args.server, args.port) input("任意键结束!")