superwise_api.entities.application

class ApplicationApi(superwise_api.entities.base.BaseApi):

This class provides methods to interact with the Application API.

Attributes:
  • api_client (ApiClient): An instance of the ApiClient to make requests.
  • _model_name (str): The name of the model.
  • _resource_path (str): The path of the resource.
ApplicationApi(api_client: superwise_api.client.api_client.ApiClient)

Initializes the DatasetApi class.

Arguments:
  • api_client (ApiClient): An instance of the SuperwiseApiClient to make requests.
def create( self, name: str, additional_config: typing.Annotated[superwise_api.models.application.application.ReactAgentConfig | superwise_api.models.application.application.ContextChainConfig | superwise_api.models.application.application.BasicLLMConfig, Discriminator(discriminator='type', custom_error_type=None, custom_error_message=None, custom_error_context=None)], llm_model: Optional[Annotated[Union[superwise_api.models.application.application.OpenAIModel, superwise_api.models.application.application.OpenAICompatibleModel, superwise_api.models.application.application.GoogleModel, superwise_api.models.application.application.AnthropicModel, superwise_api.models.application.application.VertexAIModelGardenModel], FieldInfo(annotation=NoneType, required=True, discriminator='provider')]], prompt: Optional[str] = None, show_cites: bool = False, guards: List[Annotated[Union[superwise_api.models.application.application.ApplicationToxicityGuard, superwise_api.models.application.application.ApplicationAllowedTopicsGuard, superwise_api.models.application.application.ApplicationRestrictedTopicsGuard], FieldInfo(annotation=NoneType, required=True, discriminator='type')]] = [], **kwargs) -> superwise_api.models.application.application.Application:

Creates a new application.

Arguments:
  • name (str): The name of the application.
  • additional_config (ADDITIONAL_CONFIG): The type of the application and connected tools/context.
  • llm_model (ModelLLM, optional): The model of the application.
  • prompt (str, optional): The prompt of the application.
  • show_cites (bool, optional): Whether to show cites or not.
  • guards (ApplicationGuards, optional): The guards of the application.
Returns:

Application: The created application.

def put( self, application_id: str, *, name: str, additional_config: typing.Annotated[superwise_api.models.application.application.ReactAgentConfig | superwise_api.models.application.application.ContextChainConfig | superwise_api.models.application.application.BasicLLMConfig, Discriminator(discriminator='type', custom_error_type=None, custom_error_message=None, custom_error_context=None)] = None, llm_model: Optional[Annotated[Union[superwise_api.models.application.application.OpenAIModel, superwise_api.models.application.application.OpenAICompatibleModel, superwise_api.models.application.application.GoogleModel, superwise_api.models.application.application.AnthropicModel, superwise_api.models.application.application.VertexAIModelGardenModel], FieldInfo(annotation=NoneType, required=True, discriminator='provider')]] = None, prompt: Optional[str] = None, show_cites: bool = False, guards: List[Annotated[Union[superwise_api.models.application.application.ApplicationToxicityGuard, superwise_api.models.application.application.ApplicationAllowedTopicsGuard, superwise_api.models.application.application.ApplicationRestrictedTopicsGuard], FieldInfo(annotation=NoneType, required=True, discriminator='type')]] = [], **kwargs) -> superwise_api.models.application.application.Application:

Updates an application.

Arguments:
  • application_id (str): The id of the application.
  • name (str): The name of the application.
  • additional_config (ADDITIONAL_CONFIG): The type of the application and connected tools/context.
  • llm_model (ModelLLM, optional): The model of the application.
  • prompt (str, optional): The prompt of the application.
  • show_cites (bool, optional): Whether to show cites or not.
  • guards (ApplicationGuards, optional): The guards of the application.
Returns:

Application: The updated application.

def get( self, name: Optional[str] = None, created_by: Optional[str] = None, prompt: Optional[str] = None, dataset_id: Optional[str] = None, page: Optional[Annotated[int, Strict(strict=True), Interval(gt=None, ge=1, lt=None, le=None), None]] = None, size: Optional[Annotated[int, Strict(strict=True), Interval(gt=None, ge=1, lt=None, le=500), None]] = None, **kwargs) -> superwise_api.client.models.page.Page:

Gets applications. Filter if any of the parameters are provided.

Arguments:
  • name (str, optional): The name of the application.
  • created_by (str, optional): The creator of the application.
  • prompt (str, optional): The prompt of the application.
  • dataset_id (str, optional): The id of the dataset.
  • page (int, optional): The page number.
  • size (int, optional): The size of the page.
Returns:

Page: A page of applications.

@BaseApi.raise_exception
def test_model_connection( self, llm_model: Annotated[Union[superwise_api.models.application.application.OpenAIModel, superwise_api.models.application.application.OpenAICompatibleModel, superwise_api.models.application.application.GoogleModel, superwise_api.models.application.application.AnthropicModel, superwise_api.models.application.application.VertexAIModelGardenModel], FieldInfo(annotation=NoneType, required=True, discriminator='provider')], **kwargs):

Tests the connection to the model. Raises exception on fail.

Arguments:
  • llm_model (ModelLLM): The model to test.
@BaseApi.raise_exception
def test_tool_connection(self, tool: superwise_api.models.tool.tool.ToolDef, **kwargs):

Tests the connection to the tool. Raises exception on fail.

Arguments:
  • tool (ToolDef): The tool to test.
@BaseApi.raise_exception
def ask_playground( self, input: str, llm_model: Annotated[Union[superwise_api.models.application.application.OpenAIModel, superwise_api.models.application.application.OpenAICompatibleModel, superwise_api.models.application.application.GoogleModel, superwise_api.models.application.application.AnthropicModel, superwise_api.models.application.application.VertexAIModelGardenModel], FieldInfo(annotation=NoneType, required=True, discriminator='provider')], additional_config: typing.Annotated[superwise_api.models.application.application.ReactAgentConfig | superwise_api.models.application.application.ContextChainConfig | superwise_api.models.application.application.BasicLLMConfig, Discriminator(discriminator='type', custom_error_type=None, custom_error_message=None, custom_error_context=None)], chat_history: Optional[Sequence[dict]] = None, prompt: Optional[str] = None, show_cites: bool = False, guards: List[Annotated[Union[superwise_api.models.application.application.ApplicationToxicityGuard, superwise_api.models.application.application.ApplicationAllowedTopicsGuard, superwise_api.models.application.application.ApplicationRestrictedTopicsGuard], FieldInfo(annotation=NoneType, required=True, discriminator='type')]] = [], **kwargs) -> superwise_api.models.application.playground.AskResponsePayload:

Performs ask request in playground mode.

Arguments:
  • input (str): The input to the model.
  • llm_model (ModelLLM): The model of the application.
  • additional_config (ADDITIONAL_CONFIG): The type of the application and connected tools/context.
  • chat_history (Sequence[dict], optional): The chat history.
  • prompt (str, optional): The prompt of the application.
  • show_cites (bool, optional): Whether to show cites or not.
  • guards (ApplicationGuards, optional): The guards of the application.
Returns:

AskResponsePayload: The response payload.

Inherited Members
superwise_api.entities.base.BaseApi
api_client
wrap_api_calls
raise_exception
get_by_id
delete