feat: add Crusoe managed inference backend (#20475)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
49ac447c94
commit
b49d05fd0e
@@ -0,0 +1,79 @@
|
||||
"""
|
||||
Manual tests for the Crusoe managed inference backend.
|
||||
|
||||
Requires CRUSOE_API_KEY to be set in the environment.
|
||||
|
||||
Run all tests:
|
||||
python3 -m unittest test/manual/test_crusoe_backend.py
|
||||
|
||||
Run a single test:
|
||||
python3 -m unittest test_crusoe_backend.TestCrusoeBackend.test_mt_bench
|
||||
"""
|
||||
|
||||
import unittest
|
||||
|
||||
from sglang import Crusoe, set_default_backend
|
||||
from sglang.test.test_programs import (
|
||||
test_mt_bench,
|
||||
test_parallel_decoding,
|
||||
test_parallel_encoding,
|
||||
test_stream,
|
||||
)
|
||||
from sglang.test.test_utils import CustomTestCase
|
||||
|
||||
# Default model available on Crusoe managed inference.
|
||||
DEFAULT_CRUSOE_MODEL = "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B"
|
||||
|
||||
|
||||
class TestCrusoeBackend(CustomTestCase):
|
||||
backend = None
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.backend = Crusoe(DEFAULT_CRUSOE_MODEL)
|
||||
|
||||
def setUp(self):
|
||||
set_default_backend(self.backend)
|
||||
|
||||
def test_mt_bench(self):
|
||||
test_mt_bench()
|
||||
|
||||
def test_stream(self):
|
||||
test_stream()
|
||||
|
||||
def test_parallel_decoding(self):
|
||||
test_parallel_decoding()
|
||||
|
||||
def test_parallel_encoding(self):
|
||||
test_parallel_encoding()
|
||||
|
||||
|
||||
class TestCrusoeBackendInit(CustomTestCase):
|
||||
"""Unit tests for Crusoe backend initialisation — no network required."""
|
||||
|
||||
def test_raises_without_api_key(self):
|
||||
import os
|
||||
|
||||
key = os.environ.pop("CRUSOE_API_KEY", None)
|
||||
try:
|
||||
with self.assertRaises(ValueError):
|
||||
Crusoe(DEFAULT_CRUSOE_MODEL, api_key=None)
|
||||
finally:
|
||||
if key is not None:
|
||||
os.environ["CRUSOE_API_KEY"] = key
|
||||
|
||||
def test_accepts_explicit_api_key(self):
|
||||
backend = Crusoe(DEFAULT_CRUSOE_MODEL, api_key="test-key")
|
||||
self.assertIsNotNone(backend)
|
||||
|
||||
def test_custom_base_url(self):
|
||||
backend = Crusoe(
|
||||
DEFAULT_CRUSOE_MODEL,
|
||||
api_key="test-key",
|
||||
base_url="https://managed-inference-api-proxy.crusoecloud.com/v1/",
|
||||
)
|
||||
self.assertIsNotNone(backend)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user