Prompt Manifest View

LLMClientDetailView is a Django class-based view that renders a detail view of.

a SAM manifest for an llmclient.

class smarter.apps.prompt.views.detailviews.prompt_manifest_view.LLMClientDetailView(**kwargs)[source]

Bases: DocsBaseView

Renders the detail view for a Smarter llmclient.

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

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

  • args (tuple) – Additional positional arguments.

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

Returns:

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

Return type:

HttpResponse

Note

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

See also

LLMClient for llmclient retrieval. ApiV1CliDescribeApiView for API details.

Example usage:

GET /llm-client/detail/?name=my_llmclient&kind=custom
property formatted_class_name: str

Returns a formatted string of the class name for logging purposes.

get(request, *args, **kwargs)[source]

Handle GET requests to render the llmclient manifest detail view.

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

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

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

  • args (tuple) – Additional positional arguments.

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

Returns:

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

Return type:

HttpResponse

llmclient: LLMClient | None = None
llmclient_helper: LLMClientHelper | None = None
template_path: str | None = 'prompt/manifest-detail.html'
smarter.apps.prompt.views.detailviews.prompt_manifest_view.should_log(level)[source]

Check if logging should be done based on the waffle switch.

smarter.apps.prompt.views.detailviews.prompt_manifest_view.should_log_verbose(level)[source]

Check if logging should be done based on the waffle switch.