Overview
Concrete tool for listing, retrieving, and deleting AI models provided by the Groq Python SDK's models resource.
Description
The Models class (and its async counterpart AsyncModels) provides methods to interact with Groq's model management API. retrieve() fetches details for a specific model by ID, list() returns all available models, and delete() removes a model. All methods communicate with the /openai/v1/models endpoint family and return typed Pydantic response objects.
Usage
Use client.models.list() to discover available models before making inference requests. Use client.models.retrieve() to inspect a specific model's metadata (creation date, owner). Use client.models.delete() to remove custom or fine-tuned models.
Code Reference
Source Location
Signature
class Models(SyncAPIResource):
def retrieve(
self,
model: str,
*,
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> Model:
"""Get a specific model."""
def list(
self,
*,
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ModelListResponse:
"""Get all available models."""
def delete(
self,
model: str,
*,
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ModelDeleted:
"""Delete a model."""
Import
from groq import Groq
client = Groq()
# Access via: client.models.retrieve(...), client.models.list(), client.models.delete(...)
I/O Contract
Inputs (retrieve)
| Name |
Type |
Required |
Description
|
| model |
str |
Yes |
Model ID to retrieve (e.g., "llama-3.3-70b-versatile")
|
| extra_headers |
Headers or None |
No |
Additional HTTP headers
|
| timeout |
float or Timeout or None |
No |
Per-request timeout override
|
Outputs (retrieve)
| Name |
Type |
Description
|
| return |
Model |
Model object with id, created, object, and owned_by fields
|
Inputs (list)
| Name |
Type |
Required |
Description
|
| extra_headers |
Headers or None |
No |
Additional HTTP headers
|
| timeout |
float or Timeout or None |
No |
Per-request timeout override
|
Outputs (list)
| Name |
Type |
Description
|
| return |
ModelListResponse |
List of available Model objects
|
Inputs (delete)
| Name |
Type |
Required |
Description
|
| model |
str |
Yes |
Model ID to delete
|
| extra_headers |
Headers or None |
No |
Additional HTTP headers
|
| timeout |
float or Timeout or None |
No |
Per-request timeout override
|
Outputs (delete)
| Name |
Type |
Description
|
| return |
ModelDeleted |
Confirmation with id, deleted flag, and object type
|
Usage Examples
List Available Models
from groq import Groq
client = Groq()
# List all available models
models = client.models.list()
for model in models.data:
print(f"{model.id} (owned by: {model.owned_by})")
Retrieve a Specific Model
from groq import Groq
client = Groq()
model = client.models.retrieve("llama-3.3-70b-versatile")
print(f"Model: {model.id}")
print(f"Created: {model.created}")
print(f"Owner: {model.owned_by}")
Delete a Model
from groq import Groq
client = Groq()
result = client.models.delete("my-custom-model")
print(f"Deleted: {result.deleted}")
Related Pages