80 lines
10 KiB
Python
80 lines
10 KiB
Python
import requests
|
||
import time
|
||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
||
|
||
# 模型配置
|
||
model_config = {
|
||
"Qwen2-72B-Instruct": {
|
||
"model_name": "Qwen2-72B-Instruct",
|
||
"api_base_url": "http://192.168.56.123:8821/v1",
|
||
"api_key": "fake",
|
||
},
|
||
"Qwen1.5-32B-Chat": {
|
||
"model_name": "Qwen1.5-32B-Chat",
|
||
"api_base_url": "http://192.168.56.123:8822/v1",
|
||
"api_key": "fake",
|
||
}
|
||
}
|
||
|
||
# 选择要测试的模型
|
||
selected_model = "Qwen2-72B-Instruct"
|
||
API_URL = model_config[selected_model]["api_base_url"] + "/completions"
|
||
API_KEY = model_config[selected_model]["api_key"]
|
||
MODEL_NAME = model_config[selected_model]["model_name"]
|
||
|
||
# 测试输入
|
||
TEST_PROMPT_short = "现在开始成语接龙:"
|
||
TEST_PROMPT_long = "总结这段内容:各州、市人民政府,省直各委、办、厅、局:为贯彻落实《国务院关于印发“十二五”期间深化医药卫生体制改革规划暨实施方案的通知》(国发〔2012〕11号)、《国务院办公厅印发关于县级公立医院综合改革试点意见的通知》(国办发〔2012〕33号)等文件要求,加快推进我省县级公立医院改革试点工作,结合我省实际,经省人民政府同意,现提出如下实施意见:一、指导思想以科学发展观为指导,按照保基本、强基层、建机制的要求,遵循上下联动、内增活力、外加推力的原则,围绕政事分开、管办分开、医药分开、营利性和非营利性分开的改革要求,明确县级公立医院的功能定位,改革县级公立医院补偿机制和运行机制,完善医疗服务体系,健全行业监管机制,努力提高县级医疗机构的技术水平和服务能力,切实缓解“看病难、看病贵”问题,让广大人民群众看病就医更方便、更安全。二、基本原则——政府主导,惠民利民。强化政府对县级公立医院在规划、政策、投入和监管等方面的责任,维护县级公立医院公益性质,努力减轻人民群众医疗费用负担,实现人人享有基本医疗卫生服务的目标。——创新机制,综合推进。建立县级公立医院运行新机制。通过调整医疗服务收费、增加财政对县级公立医院改革的投入、改革医保支付方式、合理降低医药费用等综合措施,确保改革有力推进。——积极探索,稳步发展。各地结合自身实际制定县级公立医院综合改革试点方案,探索改革的有效形式和办法。切实做到人民群众得实惠,医务人员受鼓舞,公立医院得发展。三、改革目标以破除“以药补医”机制为关键环节,以改革补偿机制和落实医院自主经营管理权为切入点,统筹推进县级公立医院管理体制、补偿机制、人事分配、价格机制、医保支付制度、采购机制、监管机制等综合改革,建立起维护公益性、调动积极性、保障可持续的县级公立医院运行机制。坚持以改革促发展,加强以人才、技术、临床重点专科为核心的县级公立医院能力建设,统筹县域医疗卫生体系发展,实现“小病不出乡镇,大病不出县城,预防在基层”,90%左右的患者在县域内就诊的改革目标。四、实施步骤2012年10月1日起,在16个州(市)的30个县(市、区)实施县级公立医院综合改革试点。力争2013年总结评估,形成基本路子,为2015年实现县级公立医院阶段性改革目标打好基础。五、改革任务(一)制定县级公立医院发展规划。县(市、区)人民政府要针对县域群众主要健康问题,根据人口数量和分布、地理交通等因素,制定县域卫生规划和医疗机构设置规划,合理确定县域内医院的数量、布局、功能、规模和标准。在每个县(市、区)重点办好1—2所县级公立医院(含中医医院)。按照“填平补齐”原则完成县级医院标准化建设,30万以上人口的县(市、区)至少有1所县级综合公立医院达到二级甲等水平。以县级公立医院为中心完善县域急救服务体系,建立县域院前急救体系。严格控制县级公立医院建设规模和大型设备配置。鼓励有条件的地区探索对医疗资源进行整合、重组和改制,优化资源配置。鼓励资源集约化,探索成立检查检验中心,推行检查检验结果医疗机构互认,以及后勤服务外包等。落实支持和引导社会资本办医政策。(二)明确县级公立医院功能定位。明确县级公立医院是县域内的医疗卫生中心和农村三级医疗卫生服务网络的龙头,并与城市大医院分工协作。主要为县域居民提供基本医疗服务,包括运用适宜医疗技术和药物,开展常见病、多发病诊疗,危急重症病人救治,重大疑难疾病接治转诊;推广应用适宜医疗技术,为农村基层医疗卫生机构人员提供培训和技术指导;承担部分公共卫生服务,以及自然灾害和突发公共卫生事件医疗救治等工作。(三)提升县级公立医院技术水平。编制县级公立医院重点专科发展规划,按照规划支持县级公立医院专科建设。近期重点加强重症监护、血液(腹膜)透析、新生儿、病理、传染、急救、职业病防治和精神卫生,以及近3年县外转诊率排名前4位的病种所在临床专业科室的建设。开展好宫颈癌、乳腺癌、终末期肾病血液透析等重大疾病的救治和儿童白血病、先天性心脏病等复杂疑难疾病的筛查转诊工作。(四)落实和完善政府投入政策。县级人民政府负责县级公立医院基本建设和大型设备购置、临床重点专科发展、符合国家规定的离退休人员费用、政策性亏损补贴等,对县级公立医院承担的公共卫生任务给予专项补助,保障紧急救治、救灾、支援基层等公共服务经费。中央、省、州(市)财政加大对经济薄弱地区试点医院的财政转移支付,对县级公立医院在基础设施建设、大型设备配置、人才引进培养、医疗技术和信息化建设等方面给予支持。禁止县级公立医院举债建设。实行收支两条线的县级公立医院,收支结余主要用于医院发展建设,同时兼顾医院职工的绩效奖励。(五)改革补偿机制。1.改革以药补医机制。积极探索医药分开的多种形式。2012年10月1日起,30个试点县(市、区)县级公立医院全面取消药品加成政策,实行零差率销售。将试点县级公立医院的补偿由过去的服务收费、药品加成收入和政府补助三个渠道改为服务收费和政府补助两个渠道。对医院取消药品加成所减少的合理收入,通过调整医疗技术服务价格、增加政府投入、加强医院内部管理降低运营成本等途径予以补偿。2.合理调整医疗服务价格。按照总量控制、结构调整的原则,实行“三降一消一升”,即降低药品价格、降低大型设备检查治疗价格、降低高值医用耗材价格,取消药品加成,提高医疗服务技术价格。逐步实行县级公立医院药品、高值医用耗材和大型设备统一集中采购。政府出资购置的大型医用设备按不含设备折旧的合理成本制定检查治疗价格,已贷款或集资购买的大型设备原则上由政府回购,回购有困难的限期降低价格。严禁县级公立医院贷款或集资购买大型医用设备。提高中医和体现医务人员技术劳务价值的诊疗、手术、护理等项目价格,使医疗机构通过提供优质服务获得合理补偿。价格调整要遵循有利于减轻患者负担的原则,由医保支付政策进行紧密衔接。2012年10月1日起,30个试点县(市、区)县级公立医院的诊疗、手术、护理等项目价格调整与取消药品加成同步进行,在现有基础上按一定比例提高,提高部分主要通过医保、新农合报销予以保障"
|
||
def make_request(api_url, api_key, prompt, model_name, max_tokens):
|
||
headers = {"Authorization": f"Bearer {api_key}"}
|
||
data = {
|
||
"model": model_name,
|
||
"prompt": prompt,
|
||
"max_tokens": max_tokens
|
||
}
|
||
start_time = time.time()
|
||
response = requests.post(api_url, headers=headers, json=data)
|
||
end_time = time.time()
|
||
response_time = end_time - start_time
|
||
return response.status_code, response_time
|
||
|
||
def test_average_response_time(api_url, api_key, prompt, model_name, max_tokens, num_requests):
|
||
response_times = []
|
||
|
||
with ThreadPoolExecutor(max_workers=num_requests) as executor:
|
||
futures = [executor.submit(make_request, api_url, api_key, prompt, model_name, max_tokens) for _ in range(num_requests)]
|
||
for future in as_completed(futures):
|
||
status_code, response_time = future.result()
|
||
if status_code == 200:
|
||
response_times.append(response_time)
|
||
|
||
average_response_time = sum(response_times) / len(response_times) if response_times else 0
|
||
return average_response_time, response_times
|
||
|
||
def print_csv(headers, rows):
|
||
header_line = ",".join(headers)
|
||
print(header_line)
|
||
for row in rows:
|
||
row_line = ",".join(map(str, row))
|
||
print(row_line)
|
||
|
||
# 主程序
|
||
if __name__ == "__main__":
|
||
max_tokens_list = [512, 1024, 2048, 4096]
|
||
num_requests = 100 # 要发起的请求数量
|
||
|
||
for max_tokens in max_tokens_list:
|
||
# 测试短提示
|
||
average_response_time_short, response_times_short = test_average_response_time(API_URL, API_KEY, TEST_PROMPT_short, MODEL_NAME, max_tokens, num_requests)
|
||
headers = ["请求数量", "max_tokens", "平均响应时间 (秒)"]
|
||
rows_short = [[num_requests, max_tokens, f"{average_response_time_short:.2f}"]]
|
||
print(f"\n100个请求的平均响应时间测试结果 (短提示, max_tokens={max_tokens}):")
|
||
print_csv(headers, rows_short)
|
||
|
||
# 测试长提示
|
||
average_response_time_long, response_times_long = test_average_response_time(API_URL, API_KEY, TEST_PROMPT_long, MODEL_NAME, max_tokens, num_requests)
|
||
rows_long = [[num_requests, max_tokens, f"{average_response_time_long:.2f}"]]
|
||
print(f"\n100个请求的平均响应时间测试结果 (长提示, max_tokens={max_tokens}):")
|
||
print_csv(headers, rows_long)
|
||
|