在修改一个比较复杂的库,例如transformers时,修改了库中内容,但苦于不知道该如何为库创建一个接口时,可以尝试以下方法
设置不同环境变量:
export MODE=defualt, reverse, hybrid...
代码中获取环境变量:
mode = os.getenv("MODE", "default") ## 提取不到就默认default
接下来:
if mode == "default":
query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin)
elif mode == "reverse":
query_states, key_states = apply_reverse_position_emb(query_states, key_states, cos, sin, length = len(position_ids[0]))
elif mode == "hybrid":
query_states, key_states = apply_hybrid_position_emb(query_states, key_states, cos, sin, length = len(position_ids[0]))
检验:
echo $MODE