package openai import "sync" var ( maxBlackApikeySize = 5000 ) type BlackkeyMgr struct { blackApikey map[string]struct{} lock *sync.Mutex } var blackKeyMgr = &BlackkeyMgr{blackApikey: make(map[string]struct{}), lock: new(sync.Mutex)} func (b *BlackkeyMgr) AddBlackKey(k string) { b.lock.Lock() defer b.lock.Unlock() if len(b.blackApikey) >= maxBlackApikeySize { b.blackApikey = make(map[string]struct{}) } b.blackApikey[k] = struct{}{} return } func (b *BlackkeyMgr) IsBlack(k string) bool { b.lock.Lock() defer b.lock.Unlock() _, ok := b.blackApikey[k] return ok }