Detail View

This module contains views to implement the LLMHost.

card-style detail view in the Smarter Dashboard.

class smarter.apps.llmhost.views.detailview.LLMHostDetailView(**kwargs)[source]

Bases: DocsBaseView

Renders the detail view for a Smarter dashboard llmhost.

This view renders a detailed manifest for a specific llmhost, including its configuration and metadata, in YAML format. It is intended for authenticated users and provides error handling for missing or unsupported llmhost kinds and names.

Parameters:
  • request (ASGIRequest) – Django HTTP request object.

  • args (tuple) – Additional positional arguments.

  • kwargs (dict) – Keyword arguments, must include ‘name’ (llmhost name) and ‘kind’ (llmhost type).

Returns:

Rendered HTML page with llmhost manifest details, or a 404 error page if the llmhost is not found or parameters are invalid.

Return type:

HttpResponse

Note

The llmhost name and kind must be provided and valid. Otherwise, a “not found” response is returned.

See also

LLMHost for llmhost metadata retrieval. ApiV1CliDescribeApiView for API details.

Example usage:

GET /llmhost/detail/?name=my_llmhost&kind=custom
get(request, *args, **kwargs)[source]

Handle GET requests to render the llmhost manifest detail view.

This method processes the incoming request to retrieve the specified llmhost’s manifest details and renders them in a user-friendly format. It performs validation on the provided llmhost name and kind, retrieves the llmhost metadata, and handles any errors that may arise during this process.

Process: 1. Extract and validate ‘name’ and ‘kind’ from kwargs. 2. Retrieve the llmhost metadata using the provided name and user context. 3. If the llmhost is found, call the API view to get the llmhost details 4. Convert the JSON response to YAML format for better readability. 5. Render the llmhost manifest detail template with the retrieved data. 6. Handle any errors that occur during the process and return appropriate error responses.

Parameters:
  • request (ASGIRequest) – Django HTTP request object.

  • args (tuple) – Additional positional arguments.

  • kwargs (dict) – Keyword arguments, must include ‘name’ (llmhost name) and ‘kind’ (llmhost type).

Returns:

Rendered HTML page with llmhost manifest details, or an error response if the llmhost is not found or parameters are invalid.

Return type:

HttpResponse

llmhost: LLMHost | None = None
template_path: str | None = 'common/manifest_detail.html'