change get_conf

这个提交包含在:
binary-husky
2023-10-29 00:34:40 +08:00
父节点 12b2a229b6
当前提交 527f9d28ad
共有 32 个文件被更改,包括 85 次插入50 次删除

29
request_llms/key_manager.py 普通文件
查看文件

@@ -0,0 +1,29 @@
import random
def Singleton(cls):
_instance = {}
def _singleton(*args, **kargs):
if cls not in _instance:
_instance[cls] = cls(*args, **kargs)
return _instance[cls]
return _singleton
@Singleton
class OpenAI_ApiKeyManager():
def __init__(self, mode='blacklist') -> None:
# self.key_avail_list = []
self.key_black_list = []
def add_key_to_blacklist(self, key):
self.key_black_list.append(key)
def select_avail_key(self, key_list):
# select key from key_list, but avoid keys also in self.key_black_list, raise error if no key can be found
available_keys = [key for key in key_list if key not in self.key_black_list]
if not available_keys:
raise KeyError("No available key found.")
selected_key = random.choice(available_keys)
return selected_key