xinference.py 741 B

123456789101112131415161718
  1. import requests
  2. from core.tools.errors import ToolProviderCredentialValidationError
  3. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  4. class XinferenceProvider(BuiltinToolProviderController):
  5. def _validate_credentials(self, credentials: dict) -> None:
  6. base_url = credentials.get("base_url")
  7. api_key = credentials.get("api_key")
  8. model = credentials.get("model")
  9. res = requests.post(
  10. f"{base_url}/sdapi/v1/options",
  11. headers={"Authorization": f"Bearer {api_key}"},
  12. json={"sd_model_checkpoint": model},
  13. )
  14. if res.status_code != 200:
  15. raise ToolProviderCredentialValidationError("Xinference API key is invalid")