SPB Git forge

spb/ai-atlas

Public
41commits 1branches 0releases
4.6 MBsize
maindefault branch
12 days agolast push
HTML 77.2% TypeScript 10.5% Python 9.6% JavaScript 2.5%
3.4 KB · 52 lines python
Raw Blame History
1import pytest23from aiatlas.connectors.labs.xai import DOCS, XAIConnector, _display, _tok, _unit4from aiatlas.sdk.facts import Target5from tests.conftest import claims_of, entity_names, extract_from_fixture, fixture_path678@pytest.fixture9def connector() -> XAIConnector:10    return XAIConnector()111213async def test_models_catalog(connector):14    facts = await extract_from_fixture(connector, Target(url=f"{DOCS}/models", doc_type="model_docs", key="models"), fixture_path("xai", "models.html"))15    models = entity_names(facts, "model")16    assert len(models) == 16 and {"Grok 4.6", "Grok 4.5", "Grok 4.3", "Grok Imagine Image 2.0", "Grok Imagine Video 1.5", "Grok TTS"} <= models17    g46 = claims_of(facts, "Grok 4.6")18    assert g46["api_model_id"] == "grok-4.6" and g46["context_length"] == 500_000 and g46["reasoning"] is True and g46["tool_calling"] is True19    assert g46["modalities_input"] == ["text", "image"] and g46["vision"] is True and g46["reasoning_effort_options"] == ["low", "medium", "high", "xhigh"]20    assert set(g46["regions"]) == {"us-east-1", "us-west-2", "us-central-1"}21    g45 = next(e for e in facts.entities if e.name == "Grok 4.5")22    assert g45.identifiers == {"xai_model_id": "grok-4.5"} and {"grok-4.5-latest", "grok-build-latest"} <= set(g45.aliases)23    by_id = {p.provider_model_id: p for p in facts.prices}24    p46 = by_id["grok-4.6"]25    assert (p46.input_per_mtok, p46.cached_input_per_mtok, p46.output_per_mtok) == (2.0, 0.5, 6.0) and p46.context_length == 500_00026    assert p46.features["long_context_threshold_tokens"] == 200_000 and p46.features["long_context_input_per_mtok"] == 4.0 and p46.features["long_context_output_per_mtok"] == 12.027    assert p46.provider.identifiers["registry_provider"] == "xai"28    p43 = by_id["grok-4.3"]29    assert (p43.input_per_mtok, p43.output_per_mtok, p43.batch_input_per_mtok, p43.batch_output_per_mtok) == (1.25, 2.5, 1.0, 2.0)30    assert by_id["grok-imagine-image-2.0"].per_image == 0.0431    assert claims_of(facts, "Grok Imagine Video 1.5")["pricing_per_second_usd"] == {"480p": 0.08, "720p": 0.14, "1080p": 0.25}32    pages = [t for t in facts.targets if t.doc_type == "model_page"]33    assert len(pages) == 7 and pages[0].url == f"{DOCS}/models/grok-4.6.md"34    assert facts.document_entity is not None and facts.document_entity.entity_type == "provider"353637async def test_model_page(connector):38    target = Target(url=f"{DOCS}/models/grok-4.6.md", doc_type="model_page", key="model:grok-4.6", meta={"api_id": "grok-4.6"})39    facts = await extract_from_fixture(connector, target, fixture_path("xai", "model-grok-4.6.md"), content_type="text/markdown")40    m = claims_of(facts, "Grok 4.6")41    assert m["context_length"] == 500_000 and m["batch_api"] is False and m["reasoning"] is True and m["structured_output"] is True42    assert m["modalities_input"] == ["text", "image"] and m["modalities_output"] == ["text"]43    assert m["description"].startswith("SpaceXAI's frontier model")44    assert next(e for e in facts.entities if e.entity_type == "model").identifiers == {"xai_model_id": "grok-4.6"}454647def test_units_and_names():48    assert _tok("20000") == 2.0 and _tok("125") == 0.0125 and _tok(None) is None49    assert _unit("400000000") == 0.04 and _unit("800000000") == 0.0850    assert _display("grok-4.6") == "Grok 4.6" and _display("grok-imagine-image-2.0") == "Grok Imagine Image 2.0"51    assert _display("grok-4.20-0309-reasoning") == "grok-4.20-0309-reasoning" and _display("grok-tts") == "Grok TTS"52