MCPcopy Create free account
hub / github.com/PaddlePaddle/FastDeploy / test_run_engine_and_streaming

Function test_run_engine_and_streaming

tests/entrypoints/test_llm.py:227–285  ·  view source on GitHub ↗
(monkeypatch)

Source from the content-addressed store, hash-verified

225
226
227def test_run_engine_and_streaming(monkeypatch):
228 llm = _make_llm(_make_engine(vocab_size=3, enable_logprob=True))
229 llm._build_sample_logprobs = lambda *_: [{1: None}]
230 llm._build_prompt_logprobs = lambda *_: [None]
231
232 top_logprobs = LogprobsLists(logprob_token_ids=[[1]], logprobs=[[-0.1]], sampled_token_ranks=[0])
233 prompt_logprobs = LogprobsTensors(
234 paddle.to_tensor([[1]], dtype=paddle.int64),
235 paddle.to_tensor([[-0.1]], dtype=paddle.float32),
236 paddle.to_tensor([1], dtype=paddle.int64),
237 )
238 result = DummyResult("r1", [1], top_logprobs=top_logprobs, prompt_logprobs=prompt_logprobs, finished=True)
239 llm.req_output["r1"] = result
240
241 class DummyTqdm:
242 last_instance = None
243
244 def __init__(self, **_):
245 self.updated = 0
246 self.closed = False
247 DummyTqdm.last_instance = self
248
249 def update(self, n):
250 self.updated += n
251
252 def close(self):
253 self.closed = True
254 return None
255
256 llm_module.tqdm = DummyTqdm
257 out = llm._run_engine(["r1"], use_tqdm=True, topk_logprobs=-1, num_prompt_logprobs=-1)
258 assert out[0] is result
259
260 current = DummyResult(
261 "r2",
262 [1, 2],
263 top_logprobs=top_logprobs,
264 prompt_logprobs=None,
265 finished=True,
266 )
267 if "r2" in llm.req_output:
268 llm.req_output.pop("r2")
269
270 def fake_sleep(_):
271 if "r2" not in llm.req_output:
272 llm.req_output["r2"] = current
273 return None
274
275 monkeypatch.setattr(llm_module.time, "sleep", fake_sleep)
276 it = llm._run_engine_stream(
277 ["r2"],
278 prompts=["hi"],
279 use_tqdm=True,
280 topk_logprobs=1,
281 chat_template_kwargs={"enable_thinking": True},
282 )
283 batches = list(it)
284 assert batches[0][0].prompt == "hi"

Callers

nothing calls this directly

Calls 8

LogprobsListsClass · 0.90
LogprobsTensorsClass · 0.90
_make_llmFunction · 0.85
_make_engineFunction · 0.85
DummyResultClass · 0.85
_run_engineMethod · 0.80
popMethod · 0.80
_run_engine_streamMethod · 0.80

Tested by

no test coverage detected