Skip to content

Add provider API catalogue and inference smoke-test utilities - #8

Open
sfloess wants to merge 128 commits into
mainfrom
research/provider-api-inference-smoke
Open

sfloess wants to merge 128 commits into
mainfrom
research/provider-api-inference-smoke

Conversation

@sfloess

@sfloess sfloess commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Add a standard-library Python smoke-test harness for selected provider/model candidates.
  • Copy the authenticated model-catalogue inventory utility into the evaluation repository.
  • Tighten chat-candidate classification so missing metadata is treated as unknown, and known task-specific models are excluded from the general chat shortlist.
  • Classify all responses terminated by the output limit as incomplete, including responses containing partial text.
  • Add deterministic unit tests for response classification, provider request headers, and provider endpoint configuration.
  • Identify the HTTP client as FlossWare-ProviderSmoke/0.1 with explicit JSON headers.
  • Add DeepInfra using its OpenAI-compatible chat endpoint and a representative model candidate.
  • Add NVIDIA NIM using its documented OpenAI-compatible /v1/chat/completions endpoint and openai/gpt-oss-120b candidate.
  • Record requested output-token budgets, provider-native usage, normalized reasoning-token usage, visible-output length, request IDs, rate-limit headers, and finish reasons.
  • Append JSONL evidence across runs; do not automatically retry 429, 402, or other failures.
  • Document these as research utilities, not part of the published evaluation-ai package or production provider transport.

Safety and scope

  • Reads only FlossWare-scoped environment variables and never prints credential values.
  • Uses a synthetic prompt and bounded output.
  • Paid/promotional-credit candidates require explicit --include-paid.
  • Smoke tests are non-streaming; TTFT measurement belongs in the later capability suite.
  • Never send real user data, proprietary code, or secrets.

Research notes remain in FlossWare/research/provider-api-inference.

Run deterministic tests with python3 -m unittest discover -s tests -v.

  • Add --all-configured for one representative candidate per provider in a single resilient batch. Missing credentials and paid-only candidates are explicitly skipped unless --include-paid is supplied; no implicit paid fan-out.

@sonarqubecloud

sonarqubecloud Bot commented Nov 1, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant