34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
"""用例6:复杂推理任务 —— 对比不同难度推理任务的延迟差异"""
|
|
from ..ollama_client import OllamaClient
|
|
from .base import case_meta, make_result
|
|
|
|
REASONING_LEVELS = [
|
|
("简单问答", "什么是人工智能?", 80),
|
|
("中等推理", "解释Transformer架构中的自注意力机制是如何工作的。", 200),
|
|
("复杂推理", "分析大语言模型在长链推理中的主要局限性,并提出三种改进方案。", 400),
|
|
]
|
|
|
|
|
|
def run_test(client: OllamaClient, repeats: int = 2, stop_event=None) -> dict:
|
|
"""执行复杂推理任务测试"""
|
|
results = []
|
|
for level_name, prompt, num_predict in REASONING_LEVELS:
|
|
for i in range(repeats):
|
|
if stop_event and stop_event.is_set():
|
|
break
|
|
infer = client.generate(
|
|
prompt,
|
|
options={"temperature": 0.3, "num_predict": num_predict},
|
|
)
|
|
results.append(make_result(
|
|
infer, i + 1,
|
|
reasoning_level=level_name,
|
|
))
|
|
|
|
meta = case_meta(
|
|
"case_06_reasoning", "复杂推理任务",
|
|
"不同推理复杂度下的延迟对比", "耗时", 15,
|
|
)
|
|
meta["results"] = results
|
|
return meta
|