merge_kv
函数功能
合并kv。
函数原型
merge_kv(llm_req: LLMReq, batch_index: int, batch_id: int = 0)
参数说明
| 参数名称 | 数据类型 | 取值说明 | 
|---|---|---|
| llm_req | 请求信息。 | |
| batch_index | int | 单个batch中的索引。 | 
| batch_id | int | 多个batch中所在batch的id。 | 
调用示例
from llm_datadist import LLMDataDist, LLMRole, ModelConfig, ModelRunner, LLMReq
llm_datadist = LLMDataDist(LLMRole.DECODER, 0)
model_config = ModelConfig()
kv_nums = 80
model_config.kv_shapes = ["1,1024" for _ in range(kv_nums)]
model_config.kv_dtypes = [DataType.DT_FLOAT for _ in range(kv_nums)]
model_options = model_config.generate_options()
class TestModelRunner(ModelRunner):    
   def run_model(self, kv_cache: KvCache, input_tensors, **kwargs):        
       return []
llm_model = llm_datadist.add_model(model_options, TestModelRunner())
llm_req = LLMReq()
llm_model.merge_kv(llm_req)
   返回值
正常情况下无返回值。
传入数据类型错误情况下会抛出TypeError异常。
异常情况会抛出LLMException。
执行时间超过sync_kv_timeout配置会抛出LLMException异常。
约束说明
无
     父主题: LLMModel