fix(mypy): add type stubs and fix typing issues (#3938)

Adds type stubs and fixes mypy errors for better type coverage.

Changes:
- Added type_checking dependency group with type stubs (torchtune, trl,
etc.)
- Added lm-format-enforcer to pre-commit hook
- Created HFAutoModel Protocol for type-safe HuggingFace model handling
- Added mypy.overrides for untyped libraries (torchtune, fairscale,
etc.)
- Fixed type issues in post-training providers, databricks, and
api_recorder

Note: ~1,200 errors remain in excluded files (see pyproject.toml exclude
list).

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Ashwin Bharambe 2025-10-28 11:00:09 -07:00 committed by GitHub
parent 1d385b5b75
commit 94b0592240
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 487 additions and 68 deletions

View file

@ -32,8 +32,9 @@ class DatabricksInferenceAdapter(OpenAIMixin):
return f"{self.config.url}/serving-endpoints"
async def list_provider_model_ids(self) -> Iterable[str]:
# Filter out None values from endpoint names
return [
endpoint.name
endpoint.name # type: ignore[misc]
for endpoint in WorkspaceClient(
host=self.config.url, token=self.get_api_key()
).serving_endpoints.list() # TODO: this is not async

View file

@ -8,8 +8,8 @@
from collections.abc import Iterable
from typing import Any, cast
from together import AsyncTogether
from together.constants import BASE_URL
from together import AsyncTogether # type: ignore[import-untyped]
from together.constants import BASE_URL # type: ignore[import-untyped]
from llama_stack.apis.inference import (
OpenAIEmbeddingsRequestWithExtraBody,