Spaces:
Runtime error
Runtime error
import openai | |
import streamlit as st | |
from huggingface_hub import InferenceClient | |
from streamlit.logger import get_logger | |
from utils.constants import APIKeyType, TEST_PROMPT, OPENAI_TEST_MODEL | |
logger = get_logger(__name__) | |
def validate_api_token(api_key_type: APIKeyType, api_key: str) -> tuple[bool, str]: | |
if not api_key_type: | |
return ( | |
False, | |
"API key type is not mentioned", | |
) | |
if not api_key: | |
return ( | |
False, | |
"Invalid API key detected", | |
) | |
try: | |
if api_key_type == APIKeyType.OPENAI: | |
openai.Completion.create( | |
model=OPENAI_TEST_MODEL, | |
prompt=TEST_PROMPT, | |
api_key=api_key, | |
max_tokens=1, | |
) | |
logger.info("OpenAI token validated") | |
else: | |
client = InferenceClient(token=api_key) | |
client.text_generation(prompt=TEST_PROMPT, max_new_tokens=1) | |
logger.info("HuggingFace token validated") | |
except Exception as e: | |
logger.error(f"{e.__class__.__name__}: {e}") | |
return False, f"{e.__class__.__name__}: {e}" | |
return True, "" | |