角色切换
使用场景
主要用于在PD集群节点数量固定的场景下,由于业务的变化,期望PD集群节点间可以相互切换,充分利用资源。
涉及的接口
调用SetRole接口对LLM-DataDist的角色进行切换,并通过option切换Client或者Server。
功能示例
示例由角色Decoder切换为Prompt, 从Client切换为Server。切换角色后,根据业务功能调用LLM-DataDist其他接口。
- LLM-DataDist初始化。
1 2 3 4 5 6 7 8
LlmDataDist llm_data_dist(DECODER_CLUSTER_ID, LlmRole::kDecoder); std::map<AscendString, AscendString> options; options[OPTION_DEVICE_ID] = "0"; auto ret = llm_data_dist.Initialize(options); if (ret != LLM_SUCCESS) { printf("[ERROR] Initialize failed, ret = %u\n", ret); return -1; }
- 调用SetRole进行角色切换,Client切换为Server需指定侦听的Host IP和端口;Server切换为Client时,option不指定Host IP和端口。
1 2 3 4
std::map<AscendString, AscendString> options; //替换成真实IP端口 options[OPTION_LISTEN_IP_INFO] = "ip:port"; llmDataDist.SetRole(LlmRole::kPrompt, options);
异常处理
异常处理请参考LLM-DataDist错误码。
父主题: 专题