Spaces:
Running
Running
import tiktoken | |
from urllib.parse import urlparse | |
import requests | |
import logging | |
def mylogger(name, format, level=logging.INFO): | |
# Create a custom logger | |
logger = logging.getLogger("custom_logger") | |
logger.setLevel(level) | |
# Configure the custom logger with the desired settings | |
formatter = logging.Formatter(format) | |
c_handler = logging.StreamHandler() | |
c_handler.setFormatter(formatter) | |
# file_handler = logging.FileHandler('custom_logs.log') | |
# file_handler.setFormatter(formatter) | |
logger.addHandler(c_handler) | |
return logger | |
def count_token(text, encoding="cl100k_base"): | |
return len(tiktoken.get_encoding(encoding).encode(text)) | |
def is_valid_url(url: str) -> bool: | |
try: | |
result = urlparse(url) | |
return all([result.scheme, result.netloc]) | |
except ValueError: | |
return False | |
def is_valid_openai_api_key(api_base:str, api_key: str)->bool: | |
headers = {"Authorization": f"Bearer {api_key}"} | |
response = requests.get(api_base, headers=headers) | |
return response.status_code == 200 | |
def zip_api(api_base:str, api_key:str, model:str)->dict[str, str]: | |
return {"base": api_base, "key": api_key, "model": model} | |