mirror of
https://github.com/RockChinQ/QChatGPT.git
synced 2024-11-16 03:32:33 +08:00
28 lines
572 B
Python
28 lines
572 B
Python
from __future__ import annotations
|
|
|
|
import typing
|
|
|
|
import pydantic
|
|
|
|
|
|
class TokenManager():
|
|
"""鉴权 Token 管理器
|
|
"""
|
|
|
|
provider: str
|
|
|
|
tokens: list[str]
|
|
|
|
using_token_index: typing.Optional[int] = 0
|
|
|
|
def __init__(self, provider: str, tokens: list[str]):
|
|
self.provider = provider
|
|
self.tokens = tokens
|
|
self.using_token_index = 0
|
|
|
|
def get_token(self) -> str:
|
|
return self.tokens[self.using_token_index]
|
|
|
|
def next_token(self):
|
|
self.using_token_index = (self.using_token_index + 1) % len(self.tokens)
|