openai.py 1.0 KB

1234567891011121314151617181920212223
  1. from huggingface_hub.hf_api import InferenceProviderMapping
  2. from huggingface_hub.inference._providers._common import BaseConversationalTask
  3. class OpenAIConversationalTask(BaseConversationalTask):
  4. def __init__(self):
  5. super().__init__(provider="openai", base_url="https://api.openai.com")
  6. def _prepare_api_key(self, api_key: str | None) -> str:
  7. if api_key is None:
  8. raise ValueError("You must provide an api_key to work with OpenAI API.")
  9. if api_key.startswith("hf_"):
  10. raise ValueError(
  11. "OpenAI provider is not available through Hugging Face routing, please use your own OpenAI API key."
  12. )
  13. return api_key
  14. def _prepare_mapping_info(self, model: str | None) -> InferenceProviderMapping:
  15. if model is None:
  16. raise ValueError("Please provide an OpenAI model ID, e.g. `gpt-4o` or `o1`.")
  17. return InferenceProviderMapping(
  18. provider="openai", providerId=model, task="conversational", status="live", hf_model_id=model
  19. )