MCPcopy Create free account
hub / github.com/OpenPipe/OpenPipe / generate

Function generate

trainer/src/lora_inference/experiments.py:89–148  ·  view source on GitHub ↗
(self, request)

Source from the content-addressed store, hash-verified

87 image=vllm_image,
88)
89async def generate(self, request):
90 logging.info(f"Processing for model {request.lora_model}")
91 lora_dir = lora_model_cache_dir(request.lora_model)
92
93 if request.lora_model not in self.seen_models:
94 if not os.path.exists(lora_model_cache_dir(request.lora_model)):
95 logging.info(f"Couldn't find model, reloading {lora_dir}")
96 stub.volume.reload()
97
98 if not os.path.exists(lora_model_cache_dir(request.lora_model)):
99 raise Exception(f"Couldn't find model {lora_dir}after reloading!")
100
101 self.seen_models.add(request.lora_model)
102
103 sample_params = SamplingParams(
104 n=request.n,
105 temperature=request.temperature,
106 max_tokens=request.max_tokens,
107 )
108
109 lora_request = LoRARequest(
110 request.lora_model,
111 abs(hash(request.lora_model)),
112 lora_dir,
113 )
114
115 request_id = random_uuid()
116
117 logging.info(f"Generating for request {request_id}")
118 output_generator = self.engine.generate(
119 request.prompt,
120 sample_params,
121 request_id=request_id,
122 lora_request=lora_request,
123 )
124
125 final_output: Union[RequestOutput, None] = None
126 async for request_output in output_generator:
127 # TODO: support streaming
128 final_output = request_output
129
130 if final_output is None:
131 raise Exception("No output generated")
132
133 prompt_tokens = len(final_output.prompt_token_ids)
134 completion_tokens = sum(len(x.token_ids) for x in final_output.outputs)
135
136 # output = Output(
137 # id=request_id,
138 # choices=[
139 # Choice(text=choice.text, finish_reason=choice.finish_reason)
140 # for choice in final_output.outputs
141 # ],
142 # usage=Usage(
143 # prompt_tokens=prompt_tokens,
144 # completion_tokens=completion_tokens,
145 # ),
146 # )

Callers

nothing calls this directly

Calls 2

lora_model_cache_dirFunction · 0.85
generateMethod · 0.45

Tested by

no test coverage detected