产品 |
是否支持 |
---|---|
√ |
|
x |
|
x |
|
x |
|
x |
分配Cache,分配成功后,会同时被cache_id与cache_keys引用,只有当这些引用都解除后,cache所占用的资源才会实际释放。
cache_id的引用需通过deallocate_cache解除,cache_keys的引用则可以通过以下2种方式解除。
1 | allocate_cache(cache_desc: CacheDesc, cache_keys: Union[Tuple[CacheKey], List[CacheKey]] = ()) |
1 2 3 4 5 6 | from llm_datadist import * ... kv_cache_manager = data_dist.kv_cache_manager cache_desc = CacheDesc(80, [2, 2 * 1024 * 1024], DataType.DT_FLOAT16) cache_keys = [CacheKey(prompt_cluster_id=0, req_id=1)] kv_cache = kv_cache_manager.allocate_cache(cache_desc, cache_keys) |
正常情况下返回KvCache。
参数错误可能抛出TypeError或ValueError。
cache_keys中包含之前allocate_cache时绑定的CacheKey的情况下抛出LLMException异常。
执行时间超过sync_kv_timeout配置会抛出LLMException异常。