en-US/powershai-help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Add-PowershaiChatTool</command:name>
      <command:verb>Add</command:verb>
      <command:noun>PowershaiChatTool</command:noun>
      <maml:description>
        <maml:para>Adds functions, scripts, executables as a tool invocable by the LLM in the current chat (or default for all).</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Adds functions to the current session to the list of allowed Tool calling! When a command is added, it is sent to the current model as an option for Tool Calling. The available help of the function will be used to describe it, including the parameters. With that, you can, at runtime, add new skills to the AI that can be invoked by the LLM and executed by PowershAI.</maml:para>
      <maml:para>When adding scripts, all functions within the script are added at once.</maml:para>
      <maml:para>For more information on tools see the about_Powershai_Chats topic</maml:para>
      <maml:para>VERY IMPORTANT: NEVER ADD COMMANDS THAT YOU DO NOT KNOW OR THAT COULD COMPROMISE YOUR COMPUTER. POWERSHELL WILL EXECUTE IT AT THE REQUEST OF THE LLM AND WITH THE PARAMETERS THAT THE LLM INVOKES, AND WITH THE CURRENT USER'S CREDENTIALS. IF YOU ARE LOGGED IN WITH A PRIVILEGED ACCOUNT, SUCH AS THE ADMINISTRATOR, NOTE THAT YOU MAY PERFORM ANY ACTION AT THE REQUEST OF A REMOTE SERVER (THE LLM).</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Add-PowershaiChatTool</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>names</maml:name>
        <maml:description>
          <maml:para>Command name, script path or executable It can be an array of string with these elements mixed. When a name ending with .ps1 is passed, it is treated as a script (that is, the functions of the script will be loaded) If you want to treat it as a command (execute the script), inform the -Command parameter, to force it to be treated as a command!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>description</maml:name>
        <maml:description>
          <maml:para>Description for this tool to be passed to the LLM. The command will use the help and send the described content as well. If this parameter is added, it is sent along with the help.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ForceCommand</maml:name>
        <maml:description>
          <maml:para>Forces to be treated as a command. Useful when you want a script to be executed as a command. Useful only when you pass an ambiguous file name, which coincides with the name of some command!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Chat in which to create the tool</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Global</maml:name>
        <maml:description>
          <maml:para>Creates the tool globally, that is, it will be available in all chats</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Clear-PowershaiChat</command:name>
      <command:verb>Clear</command:verb>
      <command:noun>PowershaiChat</command:noun>
      <maml:description>
        <maml:para>Clears elements of a chat!</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Clears specific elements from a chat.
Useful to free up resources, or to break the llm's addiction to history.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Clear-PowershaiChat</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>History</maml:name>
        <maml:description>
          <maml:para>Clears the entire history</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Context</maml:name>
        <maml:description>
          <maml:para>Clears the context Chat Id. Default: active.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Close-HttpRequest</command:name>
      <command:verb>Close</command:verb>
      <command:noun>HttpRequest</command:noun>
      <maml:description>
        <maml:para>Close Http opended with Start-HttpRequest</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Close-HttpRequest</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>HttpRequest</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Connect-HuggingFaceSpaceGradio</command:name>
      <command:verb>Connect</command:verb>
      <command:noun>HuggingFaceSpaceGradio</command:noun>
      <maml:description>
        <maml:para>Connects with the Gradio of a Hugging Face Space!</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Connect-HuggingFaceSpaceGradio</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>space</maml:name>
        <maml:description>
          <maml:para>Space to connect to!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Force connect</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Convert-GradioParamPowershell</command:name>
      <command:verb>Convert</command:verb>
      <command:noun>GradioParamPowershell</command:noun>
      <maml:description>
        <maml:para>Convert-GradioParamPowershell [[-Param] &lt;Object&gt;] [[-value] &lt;Object&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Convert-GradioParamPowershell</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Param</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>value</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>ConvertTo-GoogleContentMessage</command:name>
      <command:verb>ConvertTo</command:verb>
      <command:noun>GoogleContentMessage</command:noun>
      <maml:description>
        <maml:para>Converts OpenAI messages to an array of Content message https://ai.google.dev/api/caching#Content</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>ConvertTo-GoogleContentMessage</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>messages</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>ConvertTo-OpenaiMessage</command:name>
      <command:verb>ConvertTo</command:verb>
      <command:noun>OpenaiMessage</command:noun>
      <maml:description>
        <maml:para>Converts an array of string and objects to a standard OpenAI message format!</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>You can pass a mixed array where each item can be a string or an object. If it's a string, it can start with the prefix s, u, or a, which means, respectively, system, user, or assistant. If it's an object, it is added directly to the resulting array.</maml:para>
      <maml:para>See: https://platform.openai.com/docs/api-reference/chat/create#chat-create-messages</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>ConvertTo-OpenaiMessage</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>prompt</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>ConvertTo-OpenaiMessage "This is some text",@{role:"assistant";content="Assistant response"}, "s:System message"</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>ConvertTo-PowershaiContextJson</command:name>
      <command:verb>ConvertTo</command:verb>
      <command:noun>PowershaiContextJson</command:noun>
      <maml:description>
        <maml:para>Converts the context to JSON using ConverTo-Json</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>ConvertTo-PowershaiContextJson</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>context</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>ConvertTo-PowershaiContextList</command:name>
      <command:verb>ConvertTo</command:verb>
      <command:noun>PowershaiContextList</command:noun>
      <maml:description>
        <maml:para>Converts the object to a list format using Format-List.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>ConvertTo-PowershaiContextList</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>context</maml:name>
        <maml:description>
          <maml:para>Object to be injected into the context</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>FlParams</maml:name>
        <maml:description>
          <maml:para>Parameters of the Format-List command</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: @{}</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>ConvertTo-PowershaiContextOutString</command:name>
      <command:verb>ConvertTo</command:verb>
      <command:noun>PowershaiContextOutString</command:noun>
      <maml:description>
        <maml:para>Converts the context to JSON using ConverTo-Json</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>ConvertTo-PowershaiContextOutString</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>context</maml:name>
        <maml:description>
          <maml:para>Object to be injected in the context</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>ConvertTo-PowershaiContextTable</command:name>
      <command:verb>ConvertTo</command:verb>
      <command:noun>PowershaiContextTable</command:noun>
      <maml:description>
        <maml:para>Converts the object to a Table format using Format-Table</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>ConvertTo-PowershaiContextTable</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>context</maml:name>
        <maml:description>
          <maml:para>Object that will be injected into the context</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>FlParams</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: @{}</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Export-PowershaiSettings</command:name>
      <command:verb>Export</command:verb>
      <command:noun>PowershaiSettings</command:noun>
      <maml:description>
        <maml:para>Exports the current session's settings to a file, encrypted by a password</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This cmdlet is useful for saving settings, such as Tokens, in a safe manner.
It prompts for a password and uses it to create a hash and encrypt the session settings data in AES256.
The exported settings are all those defined in the $POWERSHAI_SETTINGS variable.
This variable is a hashtable containing all the data configured by the providers, which includes the tokens.
By default, chats are not exported due to the amount of data involved, which can make the file very large!</maml:para>
      <maml:para>The exported file is saved in a directory automatically created, by default, in the user's home ($HOME).
The objects are exported via Serialization, which is the same method used by Export-CliXml.
The data is exported in a proprietary format that can only be imported with Import-PowershaiSettings and providing the same password.
Since PowershAI does not do an automatic export, it is recommended to invoke this command whenever there is a configuration change, such as the inclusion of new tokens.
The export directory can be any valid path, including cloud drives like OneDrive, Dropbox, etc.
This command was created to be interactive, meaning it requires user keyboard input.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Export-PowershaiSettings</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ExportDir</maml:name>
        <maml:description>
          <maml:para>Export directory By default, it is a directory called .powershai in the user's profile, but you can specify the environment variable POWERSHAI_EXPORT_DIR to change it.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: $Env:POWERSHAI_EXPORT_DIR</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Chats</maml:name>
        <maml:description>
          <maml:para>If specified, includes chats in the export All chats will be exported</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------------- Exporting the default settings! ---------------</maml:title>
        <dev:code>Export-PowershaiSettings</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>------------- Exports everything, including chats! -------------</maml:title>
        <dev:code>Export-PowershaiSettings -Chat</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------- Exporting to OneDrive --------------------</maml:title>
        <dev:code>$Env:POWERSHAI_EXPORT_DIR = "C:\Users\MyUserName\OneDrive\Powershai"
Export-PowershaiSettings</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Format-PowershaiContext</command:name>
      <command:verb>Format</command:verb>
      <command:noun>PowershaiContext</command:noun>
      <maml:description>
        <maml:para>Formats an object to be injected into the context of a message sent in a Powershai Chat</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Given that LLMs process only strings, objects passed in the context need to be converted to a string format, before being injected into the prompt. And, as there are several string representations of an object, Powershai allows the user to have complete control over this.
Whenever an object needs to be injected into the prompt, when invoked with Send-PowershaAIChat, via pipeline or Context parameter, this cmdlet will be invoked. This cmdlet is responsible for transforming this object into a string, regardless of the object, be it array, hashtable, custom, etc.
It does this by invoking the formatter function configured using Set-PowershaiChatContextFormatter Overall, you don't need to invoke this function directly, but you may want to invoke it when you want to do some testing!</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Format-PowershaiContext</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>obj</maml:name>
        <maml:description>
          <maml:para>Any object to be injected</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>params</maml:name>
        <maml:description>
          <maml:para>Parameter to be passed to the formatter function</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>func</maml:name>
        <maml:description>
          <maml:para>Override the function to be invoked. If not specified, use the chat's default.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Chat to operate on</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AiChat</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AiChat</command:noun>
      <maml:description>
        <maml:para>Sends messages to an LLM and returns the response</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This is the most basic form of Chat promoted by PowershAI.
With this function, you can send a message to an LLM from the current provider.
This function is a lower level, standardized way to access an LLM that powershai provides.
It does not manage history or context. It is useful for invoking simple prompts that do not require multiple interactions like a Chat. Although it supports Function Calling, it does not execute any code and only returns the model's response.</maml:para>
      <maml:para>** INFORMATION FOR PROVIDERS The provider must implement the Chat function for this functionality to be available. The chat function should return an object with the response with the same specification as the OpenAI, Chat Completion function. The following links serve as a basis: https://platform.openai.com/docs/guides/chat-completions https://platform.openai.com/docs/api-reference/chat/object (return without streaming) The provider must implement the parameters of this function. See the documentation for each parameter for details and how to map to a provider;</maml:para>
      <maml:para> When the model does not support one of the informed parameters (that is, there is no equivalent functionality, or that can be implemented in an equivalent way) an error should be returned.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AiChat</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>prompt</maml:name>
        <maml:description>
          <maml:para>The prompt to be sent. It must be in the format described by the ConvertTo-OpenaiMessage function</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>temperature</maml:name>
        <maml:description>
          <maml:para>Model temperature</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: 0.6</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Model name. If not specified, it uses the provider's default.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxTokens</maml:name>
        <maml:description>
          <maml:para>Maximum number of tokens to be returned</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: 1024</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ResponseFormat</maml:name>
        <maml:description>
          <maml:para>Response format The acceptable formats, and behavior, should follow the same as OpenAI: https://platform.openai.com/docs/api-reference/chat/create#chat-create-response_format Shortcuts: "json", is equivalent to {"type": "json_object"}</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Functions</maml:name>
        <maml:description>
          <maml:para>List of tools that should be invoked! You can use commands like Get-OpenaiTool*, to easily transform powershell functions into the expected format! If the model invokes the function, the response, both in stream, and normal, must also follow the OpenAI tool caling model. This parameter must follow the same schema as OpenAI Function Calling: https://platform.openai.com/docs/api-reference/chat/create#chat-create-tools</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 6</maml:para>
          <maml:para>Default Value: @()</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>RawParams</maml:name>
        <maml:description>
          <maml:para>Specify direct parameters of the provider's API. This will overwrite the values that were calculated and generated based on the other parameters.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 7</maml:para>
          <maml:para>Default Value: @{}</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>StreamCallback</maml:name>
        <maml:description>
          <maml:para>Enables the Stream model You must specify a ScriptBlock that will be invoked for each piece of text generated by the LLM. The script should receive a parameter that represents each piece, in the same streaming format returned This parameter is an object that will contain the choices property, which is in the same schema returned by OpenAI streaming: https://platform.openai.com/docs/api-reference/chat/streaming</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 8</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>IncludeRawResp</maml:name>
        <maml:description>
          <maml:para>Include the API response in a field called IncludeRawResp</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AiCurrentProvider</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AiCurrentProvider</command:noun>
      <maml:description>
        <maml:para>Gets the active provider</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns the object that represents the active provider.
Providers are implemented as objects and are stored in the session's memory in a global variable.
This function returns the active provider, which was defined with the Set-AiProvider command.</maml:para>
      <maml:para>The returned object is a hashtable containing all the provider's fields.
This command is commonly used by providers to get the name of the active provider.
The -ContextProvider parameter returns the current provider where the script is running.
If running in a provider script, it will return that provider, instead of the provider defined with Set-AiProvider.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AiCurrentProvider</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ContextProvider</maml:name>
        <maml:description>
          <maml:para>If enabled, uses the context provider, that is, if the code is running in a file in a provider directory, it assumes this provider. Otherwise, it gets the provider currently enabled.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AiModels</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AiModels</command:noun>
      <maml:description>
        <maml:para>Lists the available models in the current provider</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command lists all the LLMs that can be used with the current provider for use in PowershaiChat.
This function depends on the provider implementing the GetModels function.</maml:para>
      <maml:para>The returned object varies by provider, but, every provider must return an array of objects, each must contain, at least, the id property, which should be a string used to identify the model in other commands that depend on a model.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AiModels</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AiNearProvider</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AiNearProvider</command:noun>
      <maml:description>
        <maml:para>Gets the nearest provider from the current script</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This cmdlet is commonly used by providers indirectly through Get-AiCurrentProvider.
It looks into the powershell callstack and identifies if the caller (the function that executed it) is part of a provider script.
If it is, it returns that provider.</maml:para>
      <maml:para>If the call was made in multiple providers, the latest one is returned. For example, imagine this scenario:</maml:para>
      <maml:para> User -&gt; Get-aiChat -&gt; ProviderX_Function -&gt; ProviderY_Function -&gt; Get-AiNearProvider</maml:para>
      <maml:para>In this case, notice there are 2 provider calls involved.
In this case, the Get-AiNearProvider function will return provider y, as it is the latest one in the call stack.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AiNearProvider</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AiProviders</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AiProviders</command:noun>
      <maml:description>
        <maml:para>Returns available providers.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command lists the providers implementing the powershai.
For more about providers see the about_Powershai_Providers topic.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AiProviders</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ClaudeMessages</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ClaudeMessages</command:noun>
      <maml:description>
        <maml:para>Get-ClaudeMessages [[-messages] &lt;Object&gt;] [[-model] &lt;Object&gt;] [[-max_tokens] &lt;Object&gt;] [[-temperature] &lt;Object&gt;] [[-StreamCallback] &lt;Object&gt;] [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ClaudeMessages</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>StreamCallback</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>max_tokens</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>messages</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>temperature</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-GoogleModels</command:name>
      <command:verb>Get</command:verb>
      <command:noun>GoogleModels</command:noun>
      <maml:description>
        <maml:para>Gets a list of Google models. Endpoint: https://ai.google.dev/api/models</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-GoogleModels</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-GradioInfo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>GradioInfo</command:noun>
      <maml:description>
        <maml:para></maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Gets information of the parameters of a Gradio Space!</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-GradioInfo</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>AppUrl</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-GradioSession</command:name>
      <command:verb>Get</command:verb>
      <command:noun>GradioSession</command:noun>
      <maml:description>
        <maml:para>Gets all created sessions, or one with a specific name.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-GradioSession</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>Specify the session name. * gets all . gets the default</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: Name</maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: *</maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Like</maml:name>
        <maml:description>
          <maml:para>If -name is a string, performs a search using -like operator</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ById</maml:name>
        <maml:description>
          <maml:para>Get by id (Session must by a id)</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-GradioSessionApi</command:name>
      <command:verb>Get</command:verb>
      <command:noun>GradioSessionApi</command:noun>
      <maml:description>
        <maml:para>Lists all API calls for a session</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-GradioSessionApi</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-GradioSessionApiProxyFunction</command:name>
      <command:verb>Get</command:verb>
      <command:noun>GradioSessionApiProxyFunction</command:noun>
      <maml:description>
        <maml:para>Returns the functions created with New-GradioSessionApiProxy</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-GradioSessionApiProxyFunction</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-HttpResponse</command:name>
      <command:verb>Get</command:verb>
      <command:noun>HttpResponse</command:noun>
      <maml:description>
        <maml:para>Gets the response for an HTTP request.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-HttpResponse</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ForceEnd</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: switch</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: Named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>HttpRequest</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ReadCount</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ReadMode</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>StreamsOnly</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: switch</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: Named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>WaitSleep</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-HuggingFaceModel</command:name>
      <command:verb>Get</command:verb>
      <command:noun>HuggingFaceModel</command:noun>
      <maml:description>
        <maml:para>Gets information of a specific model</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-HuggingFaceModel</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Model</maml:name>
        <maml:description>
          <maml:para>Filters by a specific space</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-HuggingFaceSpace</command:name>
      <command:verb>Get</command:verb>
      <command:noun>HuggingFaceSpace</command:noun>
      <maml:description>
        <maml:para>Gets information about a specific space!</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-HuggingFaceSpace</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Space</maml:name>
        <maml:description>
          <maml:para>Filters by a specific space (or array of spaces)</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: Single</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>author</maml:name>
        <maml:description>
          <maml:para>Filter all spaces by author</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: Multiple</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>My</maml:name>
        <maml:description>
          <maml:para>Filter all spaces of the current user!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: Multiple</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>NoGradioSession</maml:name>
        <maml:description>
          <maml:para>Does not create an automatic gradio session. By default, in gradio spaces, it already creates a gradio session!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-HuggingFaceWhoami</command:name>
      <command:verb>Get</command:verb>
      <command:noun>HuggingFaceWhoami</command:noun>
      <maml:description>
        <maml:para>Gets information of the currently logged in user https://huggingface.co/docs/hub/api#get-apiwhoami-v2</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-HuggingFaceWhoami</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>token</maml:name>
        <maml:description>
          <maml:para>use an alternative token to check validity!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-MaritalkChat</command:name>
      <command:verb>Get</command:verb>
      <command:noun>MaritalkChat</command:noun>
      <maml:description>
        <maml:para>Get-MaritalkChat [-prompt] &lt;Object&gt; [[-temperature] &lt;Object&gt;] [[-model] &lt;Object&gt;] [[-MaxTokens] &lt;Object&gt;] [[-ResponseFormat] &lt;Object&gt;] [[-Functions] &lt;Object&gt;] [[-RawParams] &lt;Object&gt;] [[-StreamCallback] &lt;Object&gt;] [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-MaritalkChat</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Functions</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxTokens</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>RawParams</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 6</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ResponseFormat</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>StreamCallback</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 7</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>prompt</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>temperature</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-MaritalkModels</command:name>
      <command:verb>Get</command:verb>
      <command:noun>MaritalkModels</command:noun>
      <maml:description>
        <maml:para>Get-MaritalkModels</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-MaritalkModels</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-OllamaTags</command:name>
      <command:verb>Get</command:verb>
      <command:noun>OllamaTags</command:noun>
      <maml:description>
        <maml:para>Get-OllamaTags [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-OllamaTags</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-OpenAiAnswerCost</command:name>
      <command:verb>Get</command:verb>
      <command:noun>OpenAiAnswerCost</command:noun>
      <maml:description>
        <maml:para>Get the cost of OpenAI answers.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-OpenAiAnswerCost</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>answers</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-OpenaiChat</command:name>
      <command:verb>Get</command:verb>
      <command:noun>OpenaiChat</command:noun>
      <maml:description>
        <maml:para>Get OpenAI Chat response</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-OpenaiChat</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Functions</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxTokens</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>RawParams</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 6</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ResponseFormat</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>StreamCallback</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 7</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>endpoint</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 8</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>prompt</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>temperature</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-OpenaiEmbeddings</command:name>
      <command:verb>Get</command:verb>
      <command:noun>OpenaiEmbeddings</command:noun>
      <maml:description>
        <maml:para>Get-OpenaiEmbeddings [[-text] &lt;Object&gt;] [[-model] &lt;Object&gt;] [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-OpenaiEmbeddings</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>text</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-OpenaiModels</command:name>
      <command:verb>Get</command:verb>
      <command:noun>OpenaiModels</command:noun>
      <maml:description>
        <maml:para>Get OpenAI Models</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-OpenaiModels</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-OpenAiTextCompletion</command:name>
      <command:verb>Get</command:verb>
      <command:noun>OpenAiTextCompletion</command:noun>
      <maml:description>
        <maml:para>Get-OpenAiTextCompletion [[-prompt] &lt;Object&gt;] [[-temperature] &lt;Object&gt;] [[-model] &lt;Object&gt;] [[-MaxTokens] &lt;Object&gt;] [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-OpenAiTextCompletion</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxTokens</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>prompt</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>temperature</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-OpenaiToolFromCommand</command:name>
      <command:verb>Get</command:verb>
      <command:noun>OpenaiToolFromCommand</command:noun>
      <maml:description>
        <maml:para></maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Converts PowerShell commands to OpenaiTool.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-OpenaiToolFromCommand</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>functions</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>parameters</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: *</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>UserDescription</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-OpenaiToolFromScript</command:name>
      <command:verb>Get</command:verb>
      <command:noun>OpenaiToolFromScript</command:noun>
      <maml:description>
        <maml:para></maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Helper function to convert a .ps1 script to a schema format expected by OpenAI. Essentially, this function does is read a .ps1 file (or string) along with its help doc.
Then, it returns an object in the format specified by OpenAI so the model can invoke it!</maml:para>
      <maml:para>Returns a hashtable containing the following keys: functions - The list of functions, with their code read from the file.
When the model invokes, you can execute directly from here.</maml:para>
      <maml:para> tools - List of tools, to be sent in the OpenAI call.</maml:para>
      <maml:para>You can document your functions and parameters following the PowerShell Comment Based Help: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_comment_based_help?view=powershell-7.4</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-OpenaiToolFromScript</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ScriptPath</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-PowershaiChat</command:name>
      <command:verb>Get</command:verb>
      <command:noun>PowershaiChat</command:noun>
      <maml:description>
        <maml:para>Returns one or more Chats created with New-PowershaAIChat</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command allows you to return the object that represents a Powershai Chat.
This object is the object internally referenced by the commands that operate on the Powershai Chat.
Although you can change certain parameters directly, it is not recommended that you do so.
Always prefer to use the output of this command as input to other PowershaiChat commands.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-PowershaiChat</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Chat Id Special names: . - Indicates the own chat * - Indicates all chats</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>SetActive</maml:name>
        <maml:description>
          <maml:para>Defines the chat as active, when the specified id is not a special name.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>NoError</maml:name>
        <maml:description>
          <maml:para>Ignores validation errors</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-PowershaiChatParameter</command:name>
      <command:verb>Get</command:verb>
      <command:noun>PowershaiChatParameter</command:noun>
      <maml:description>
        <maml:para>Returns the list of available parameters in a chat</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command returns an object containing the list of properties.
The object is actually an array, where each element represents a property.
This returned array has some modifications to facilitate access to parameters. You can access the parameters using the returned object directly, without the need to filter the list of parameters. This is useful when you want to access a specific parameter from the list.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-PowershaiChatParameter</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>$MyParams = Get-PowershaiChatParameter</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-PowershaiChatTool</command:name>
      <command:verb>Get</command:verb>
      <command:noun>PowershaiChatTool</command:noun>
      <maml:description>
        <maml:para>Get the list of current tools.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-PowershaiChatTool</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>tool</maml:name>
        <maml:description>
          <maml:para>get specific by name or the object itself! If ending in a .ps1, treats as script, unless ForceCommand is used!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: *</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Enabled</maml:name>
        <maml:description>
          <maml:para>list only the enabled tools</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Chat of origin</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>global</maml:name>
        <maml:description>
          <maml:para>When getting a specific tool, look in the global tools list.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ForceCommand</maml:name>
        <maml:description>
          <maml:para>Treat tool as a command!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-PowershaiContextFormatters</command:name>
      <command:verb>Get</command:verb>
      <command:noun>PowershaiContextFormatters</command:noun>
      <maml:description>
        <maml:para>Lists all available compact Context Formatters</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Some Context Formatters provided by PowershAI can have a compact name (or alias, if you prefer), to make their definition easier.
This cmdlet returns all these names that can be used when using Set-PowershaiChatContextFormatter</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-PowershaiContextFormatters</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-PowershaiDefaultParams</command:name>
      <command:verb>Get</command:verb>
      <command:noun>PowershaiDefaultParams</command:noun>
      <maml:description>
        <maml:para>Gets a reference to the variable defining the default parameters</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>In Powershell, modules have their own variable scope.
Therefore, trying to set this variable outside of the correct scope will not affect the module's commands.
This command allows the user to access the variable that controls the default parameters of the module's commands.
For the most part, this will be used for debugging, but eventually, a user may want to set default parameters.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-PowershaiDefaultParams</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>The example below shows how to set the debug variable default of the Invoke-Http command.</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-PowershaiHelp</command:name>
      <command:verb>Get</command:verb>
      <command:noun>PowershaiHelp</command:noun>
      <maml:description>
        <maml:para>Uses the current provider to help get help about Powershai!</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This cmdlet uses PowershAI's own commands to help the user get help about itself.
Basically, from the user's question, it builds a prompt with some common information and basic helps.
Then, it sends it to the LLM in a chat.</maml:para>
      <maml:para>Due to the large amount of data being sent, it is recommended to use this command only with providers and models that accept more than 128k and are cheap.
For now, this command is experimental and only works with these models: - Openai gpt-4*</maml:para>
      <maml:para>Internally, it will create a Powershai Chat called "_pwshai_help", where it will keep all the history!</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-PowershaiHelp</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>helptext</maml:name>
        <maml:description>
          <maml:para>Describe the help text!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>command</maml:name>
        <maml:description>
          <maml:para>If you want help from a specific command, enter the command here. It doesn't need to be just a PowershaiChat command.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Recreate</maml:name>
        <maml:description>
          <maml:para>Recreate the chat!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Import-PowershaiSettings</command:name>
      <command:verb>Import</command:verb>
      <command:noun>PowershaiSettings</command:noun>
      <maml:description>
        <maml:para>Imports a configuration exported with Export-PowershaiSettings</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This cmdlet is the pair of Export-PowershaiSettings, and as the name indicates, it imports the data that was exported.
You must ensure that the same password and the same file are passed.
IMPORTANT: This command will overwrite all configured data in the session. Only run it if you are absolutely sure that no previously configured data can be lost. For example, some newly generated API Token.</maml:para>
      <maml:para>If you were specified a different export path than the default, using the POWERSHAI_EXPORT_DIR variable, you should use the same here.</maml:para>
      <maml:para>The import process validates some headers to ensure that the data was decrypted correctly.
If the password provided is incorrect, the hashes will not be equal, and it will trigger the incorrect password error.</maml:para>
      <maml:para>If, on the other hand, an invalid file format error is displayed, it means that there was some corruption in the import process or it is a bug in this command.
In this case, you can open an issue on github reporting the problem.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Import-PowershaiSettings</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ExportDir</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: $Env:POWERSHAI_EXPORT_DIR</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------------------------ Default import ------------------------</maml:title>
        <dev:code>Import-PowershaiSettings</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>------------------- Importing from OneDrive -------------------</maml:title>
        <dev:code>$Env:POWERSHAI_EXPORT_DIR = "C:\Users\MyUserName\OneDrive\Powershai"
Import-PowershaiSettings</dev:code>
        <dev:remarks>
          <maml:para>Imports the settings that were exported to an alternative directory (one drive).</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-AESEncryption</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>AESEncryption</command:noun>
      <maml:description>
        <maml:para>Invoke-AESEncryption -Mode &lt;string&gt; -Key &lt;string&gt; -Text &lt;string&gt; [&lt;CommonParameters&gt;]</maml:para>
        <maml:para>Invoke-AESEncryption -Mode &lt;string&gt; -Key &lt;string&gt; -Path &lt;string&gt; [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-AESEncryption</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Key</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: string</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: true</maml:para>
          <maml:para>Position: Named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Mode</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: string</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: true</maml:para>
          <maml:para>Position: Named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Parameter Set: CryptFile</maml:para>
          <maml:para>Type: string</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: true</maml:para>
          <maml:para>Position: Named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Text</maml:name>
        <maml:description>
          <maml:para>Parameter Set: CryptText</maml:para>
          <maml:para>Type: string</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: true</maml:para>
          <maml:para>Position: Named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-AiChatTools</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>AiChatTools</command:noun>
      <maml:description>
        <maml:para>Sends a message to a LLM, with support for Tool Calling, and executes the tools requested by the model as powershell commands.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This is a helper function to help make tool processing easier with powershell. It handles the processing of "Tools", executing them when the model requests!</maml:para>
      <maml:para>You must pass the tools in a specific format, documented in the about_Powershai_Chats topic This format correctly maps powershell functions and commands to the schema acceptable by OpenAI (OpenAPI Schema).
This command encapsulates all the logic that identifies when the model wants to invoke the function, the execution of these functions, and the sending of this response back to the model.
It stays in this loop until the model stops deciding to invoke more functions, or until the limit of interactions (yes, here we call it interactions, not iterations) with the model has finished.</maml:para>
      <maml:para>The interaction concept is simple: Every time the function sends a prompt to the model, it counts as an integration.
Below is a typical flow that can happen:</maml:para>
      <maml:para></maml:para>
      <maml:para>You can get more details on how it works by consulting the about_Powershai_Chats topic</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-AiChatTools</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>prompt</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Tools</maml:name>
        <maml:description>
          <maml:para>Array of tools, as explained in the doc of this command Use the results of Get-OpenaiTool* to generate the possible values.
You can pass an array of objects of type OpenaiTool. If the same function is defined in more than one tool, the first one found in the defined order will be used!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>PrevContext</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxTokens</maml:name>
        <maml:description>
          <maml:para>max output!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: 500</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxInteractions</maml:name>
        <maml:description>
          <maml:para>Allow a maximum of 5 iterations in total!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: 10</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxSeqErrors</maml:name>
        <maml:description>
          <maml:para>Maximum number of consecutive errors that your function can generate before it ends.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 6</maml:para>
          <maml:para>Default Value: 2</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>temperature</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 7</maml:para>
          <maml:para>Default Value: 0.6</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 8</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>on</maml:name>
        <maml:description>
          <maml:para>Event handler Each key is an event that will be fired at some point by this command! events: answer: fired after obtaining the answer from the model (or when an answer becomes available when using stream). func: fired before starting the execution of a tool requested by the model. exec: fired after the model executes the function. error: fired when the executed function generates an error stream: fired when a response was sent (by stream) and -DifferentStreamEvent beforeAnswer: Fired after all answers. Useful when used in stream! afterAnswer: Fired before starting answers. Useful when used in stream!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 9</maml:para>
          <maml:para>Default Value: @{}</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Json</maml:name>
        <maml:description>
          <maml:para>Sends response_format = "json", forcing the model to return a json.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>RawParams</maml:name>
        <maml:description>
          <maml:para>Add custom parameters directly to the call (will overwrite the automatically defined parameters).</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 10</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Stream</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-GoogleGenerateContent</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>GoogleGenerateContent</command:noun>
      <maml:description>
        <maml:para>Endpoint: https://ai.google.dev/api/generate-content Stream: https://ai.google.dev/api/generate-content#method:-models.streamgeneratecontent</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-GoogleGenerateContent</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>messages</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: @()</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: gemini-1.5-flash</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>StreamCallback</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-GradioDynamicApi</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>GradioDynamicApi</command:noun>
      <maml:description>
        <maml:para>Invokes an API endpoint.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This is another cmdlet provided to invoke the Gradio API! The parameters are dynamically available, so their help is not available with Get-Help.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-GradioDynamicApi</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ApiName</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-GradioHttp</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>GradioHttp</command:noun>
      <maml:description>
        <maml:para></maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Executes HTTP calls to Gradio and already adds common headers, such as authentication, etc.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-GradioHttp</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>url</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>method</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: GET</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>data</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ContentType</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: application/json</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>StreamCallback</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>token</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 6</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-GradioSessionApi</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>GradioSessionApi</command:noun>
      <maml:description>
        <maml:para>Creates a new call to an endpoint in the current session.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Performs a call using the Gradio API, on a specific endpoint and passing the desired parameters.
This call will generate a GradioApiEvent (see Send-GradioApi), which will be saved internally in the session settings.
This object contains everything necessary to get the API result.
The cmdlet will return a SessionApiEvent object containing the following properties: id - Internal ID of the generated event. event - The internal event generated. Can be used directly with cmdlets that handle events.</maml:para>
      <maml:para>Sessions have a limit of defined Calls. The goal is to prevent creating undefined calls in a way that loses control.</maml:para>
      <maml:para>There are two session options that affect the call (can be changed with Set-GradioSession): - MaxCalls Controls the maximum number of calls that can be created</maml:para>
      <maml:para> - MaxCallsPolicy Controls what to do when the Max is reached. Possible values: - Error = results in error! - Remove = removes the oldest one - Warning = Displays a warning, but allows exceeding the limit.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-GradioSessionApi</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ApiName</maml:name>
        <maml:description>
          <maml:para>Endpoint name (without the initial slash)</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Params</maml:name>
        <maml:description>
          <maml:para>Parameter list If it is an array, it passes directly to the Gradio Api If it is a hashtable, it builds the array based on the position of the parameters returned by /info</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>EventId</maml:name>
        <maml:description>
          <maml:para>IF specified, creates with an existing event id (may have been generated outside the module).</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>session</maml:name>
        <maml:description>
          <maml:para>Session</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Token</maml:name>
        <maml:description>
          <maml:para>Force the use of a new token. If "public", then don't use any token!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-Http</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>Http</command:noun>
      <maml:description>
        <maml:para>Invoke-Http [[-url] &lt;Object&gt;] [[-data] &lt;Object&gt;] [[-method] &lt;Object&gt;] [[-contentType] &lt;Object&gt;] [[-Encoding] &lt;Object&gt;] [[-headers] &lt;Object&gt;] [[-SseCallBack] &lt;Object&gt;] [[-DebugVarName] &lt;Object&gt;] [[-Timeout] &lt;Object&gt;] [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-Http</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>DebugVarName</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 7</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Encoding</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>SseCallBack</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 6</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 8</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>contentType</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>data</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>headers</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>method</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>url</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-HttpOld</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>HttpOld</command:noun>
      <maml:description>
        <maml:para>Invoke-HttpOld [[-url] &lt;Object&gt;] [[-data] &lt;Object&gt;] [[-method] &lt;Object&gt;] [[-contentType] &lt;Object&gt;] [[-Encoding] &lt;Object&gt;] [[-headers] &lt;Object&gt;] [[-SseCallBack] &lt;Object&gt;] [[-DebugVarPrefix] &lt;Object&gt;] [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-HttpOld</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>DebugVarPrefix</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 7</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Encoding</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>SseCallBack</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 6</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>contentType</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>data</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>headers</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>method</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>url</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-HuggingFaceHub</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>HuggingFaceHub</command:noun>
      <maml:description>
        <maml:para>Invokes the Hugging Hub API. https://huggingface.co/docs/hub/en/api</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-HuggingFaceHub</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>endpoint</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>search</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>author</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>filter</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>direction</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>limit</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 6</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>sort</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 7</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Desc</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>full</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>config</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>RawParams</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 8</maml:para>
          <maml:para>Default Value: @{}</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Public</maml:name>
        <maml:description>
          <maml:para>Ignores the current token and lists only public resources</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Token</maml:name>
        <maml:description>
          <maml:para>uses a specific token</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 9</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-HuggingFaceInferenceApi</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>HuggingFaceInferenceApi</command:noun>
      <maml:description>
        <maml:para>Invokes the Hugging Face Inference API https://huggingface.co/docs/hub/en/api</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-HuggingFaceInferenceApi</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>params</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Public</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>OpenaiChatCompletion</maml:name>
        <maml:description>
          <maml:para>Forces to use chat completion endpoint Params should be treated as the same params from Openai API (See the Get-OpenaiChat cmdlet). More info: https://huggingface.co/blog/tgi-messages-api Only works with models that have a chat template!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>StreamCallback</maml:name>
        <maml:description>
          <maml:para>Stream Callback to be used in case of streamS!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-MaritalkApi</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>MaritalkApi</command:noun>
      <maml:description>
        <maml:para>Invoke-MaritalkApi [[-endpoint] &lt;Object&gt;] [[-body] &lt;Object&gt;] [[-method] &lt;Object&gt;] [[-Token] &lt;Object&gt;] [[-StreamCallback] &lt;Object&gt;] [-OpenAI] [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-MaritalkApi</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>OpenAI</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: switch</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: Named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>StreamCallback</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Token</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>body</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>endpoint</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>method</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-MaritalkInference</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>MaritalkInference</command:noun>
      <maml:description>
        <maml:para>Invoke-MaritalkInference [[-messages] &lt;Object&gt;] [[-MaxTokens] &lt;Object&gt;] [[-temperature] &lt;Object&gt;] [[-top_p] &lt;Object&gt;] [[-model] &lt;Object&gt;] [[-StreamCallback] &lt;Object&gt;] [-do_sample] [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-MaritalkInference</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxTokens</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>StreamCallback</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>do_sample</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: switch</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: Named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>messages</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: prompt</maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>temperature</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>top_p</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-PowerhsaiConsoleDraw</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>PowerhsaiConsoleDraw</command:noun>
      <maml:description>
        <maml:para>Creates a virtual text frame, and writes characters inside the frame's boundaries.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates a drawing frame on the console, which is updated in only a specific region! You can send multiple lines of text and the function will take care of keeping the drawing in the same frame, giving the impression that only one region is being updated. For the desired effect, this function must be called repeatedly, without other writes between invocations!</maml:para>
      <maml:para>This function should only be used in PowerShell interactive mode, running in a console window. It's useful for situations where you want to see the progress of a string result in exactly the same area, allowing for better comparison of variations. It's just a helper function.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-PowerhsaiConsoleDraw</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Text</maml:name>
        <maml:description>
          <maml:para>Text to be written. Can be an array. If it exceeds the limits of W and H, it will be truncated If it's a script bloc, it invokes the code passing the pipeline object!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>w</maml:name>
        <maml:description>
          <maml:para>Max characters per line</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: 10</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>h</maml:name>
        <maml:description>
          <maml:para>Max lines</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: 10</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>BlankChar</maml:name>
        <maml:description>
          <maml:para>Character used as blank space</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>PipeObj</maml:name>
        <maml:description>
          <maml:para>Pipeline object</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Passes the object</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>The following example writes 3 strings of text every 2 seconds.</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Invoke-PowershaiCommand</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>PowershaiCommand</command:noun>
      <maml:description>
        <maml:para>Allows to invoke most functions in a compact way.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This is a simple utility that allows to invoke various functions in a more compact way in the command line.
Note that not all commands may be supported yet.</maml:para>
      <maml:para>It's best used with the alias pshai.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Invoke-PowershaiCommand</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>CommandName</maml:name>
        <maml:description>
          <maml:para>Command name</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>RemArgs</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>pshai tools # lists the tools</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-GradioSession</command:name>
      <command:verb>New</command:verb>
      <command:noun>GradioSession</command:noun>
      <maml:description>
        <maml:para>Creates a new Gradio session.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>A Session represents a connection to a Gradio app.
Think of a session as a browser tab open and connected to a particular Gradio app.
Uploaded files, calls made, logins are all recorded in this session.</maml:para>
      <maml:para>This cmdlet returns an object that we call "GradioSession".
This object can be used in other cmdlets that depend on session (and a default active session can be set that all cmdlets use by default if not specified).
Every session has a name that uniquely identifies it. If not provided by the user, it will be automatically created based on the app's URL.
There cannot be 2 sessions with the same name.</maml:para>
      <maml:para>When creating a session, this cmdlet saves this session in an internal session repository.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-GradioSession</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>AppUrl</maml:name>
        <maml:description>
          <maml:para>Url of the app</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Unique name that identifies this session!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>DownloadPath</maml:name>
        <maml:description>
          <maml:para>Directory where to download files</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Force recreate</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-GradioSessionApiProxyFunction</command:name>
      <command:verb>New</command:verb>
      <command:noun>GradioSessionApiProxyFunction</command:noun>
      <maml:description>
        <maml:para></maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates functions that encapsulate calls to a Gradio endpoint (or all endpoints).
This cmdlet is very useful for creating powershell functions that encapsulate a Gradio API endpoint, where API parameters are created as function parameters.
Thus, native powershell features, such as auto complete, data type and documentation, can be used and it becomes very easy to invoke any endpoint of a session.</maml:para>
      <maml:para>The command queries the metadata of the endpoints and parameters and creates the powershell functions in the global scope.
With this, the user can invoke the functions directly, as if they were normal functions.
For example, suppose a Gradio application at address http://mydemo1.hf.space has an endpoint called /GenerateImage to generate images with Stable Diffusion.
Assume that this application accepts 2 parameters: Prompt (the description of the image to be generated) and Steps (the total number of steps).</maml:para>
      <maml:para>Normally, you could use the Invoke-GradioSessionApi command, like this: </maml:para>
      <maml:para>$MySession = Get-GradioSession http://mydemo1.hf.space $ApiEvent = $MySession | Invoke-GradioSessionApi -ApiName 'GenerateImage' -params "A car",100</maml:para>
      <maml:para>This would start the API, and you could get the results using Update-GradioApiResult:</maml:para>
      <maml:para>$ApiEvent | Update-GradioApiResult</maml:para>
      <maml:para>With this cmdlet, you can encapsulate these calls a little more:</maml:para>
      <maml:para>$MySession = Get-GradioSession http://mydemo1.hf.space $MySession | New-GradioSessionApiProxyFunction</maml:para>
      <maml:para>The above command will create a function called Invoke-GradioApiGenerateimage. Then, you can use it in a simple way to generate the image:</maml:para>
      <maml:para>Invoke-GradioApiGenerateimage -Prompt "A car" -Steps 100 </maml:para>
      <maml:para>By default, the command would execute and already get the result events, writing to the pipeline so you can integrate with other commands.
In fact, connecting multiple spaces is very simple, see below about the pipeline.</maml:para>
      <maml:para>NOMENCLATURE </maml:para>
      <maml:para> The name of the created functions follows the format: &lt;Prefix&gt;&lt;NomeOp&gt; &lt;Prefix&gt; is the value of the -Prefix parameter of this cmdlet. &lt;NomeOp&gt; is the name of the operation, only letters and numbers are kept</maml:para>
      <maml:para> For examplei, if the operation is /Op1, and the Prefix INvoke-GradioApi, the following function will be created: Invoke-GradioApiOp1</maml:para>
      <maml:para></maml:para>
      <maml:para>PARAMETERS The created functions contain the logic necessary to transform the passed parameters and execute the Invoke-GradioSessionApi cmdlet.
That is, the same return applies as if you were invoking this cmdlet directly. (That is, an event will be returned and added to the list of events of the current session).</maml:para>
      <maml:para> The parameters of the functions may vary according to the API endpoint, as each endpoint has a different set of parameters and data types. Parameters that are files (or list of files) have an additional upload step. The file can be referenced locally and its upload will be done to the server.
If a URL is provided, or a FileData object received from another command, no additional upload will be done, only a corresponding FileData object will be generated for sending via API.</maml:para>
      <maml:para> In addition to the endpoint parameters, there is an additional set of parameters that will always be added to the created function.
They are: - Manual
If used, causes the cmdlet to return the event generated by INvoke-GradioSessionApi.
In this case you will have to manually get the results using Update-GradioSessionApiResult</maml:para>
      <maml:para> - ApiResultMap Maps the results of other commands to the parameters. See more about it in the PIPELINE section.</maml:para>
      <maml:para> - DebugData For debugging purposes by developers.</maml:para>
      <maml:para>UPLOAD Parameters that accept files are handled in a special way.
Before invoking the API, the Send-GradioSessionFiles cmdlet is used to upload these files to the respective gradio app.
This is another great advantage of using this cmdlet, as this is transparent, and the user does not need to deal with uploads.</maml:para>
      <maml:para>PIPELINE </maml:para>
      <maml:para> One of the most powerful features of powershell is the pipeline, one is able to connect multiple commands using the pipe |. And this cmdlet also seeks to make the most of this feature.
All created functions can be connected with the |. When doing so, each event generated by the previous cmdlet is passed to the next.
Consider two gradio apps, App1 and App2. App1 has the Img endpoint, with a parameter called Text, which generates images using Diffusers, displaying the partials of each image as they are generated. App2 has an Ascii endpoint, with an Image parameter, which transforms an image into an ascii version in text.</maml:para>
      <maml:para> You can connect these two commands in a very simple way with the pipeline.
First, create the sessions</maml:para>
      <maml:para> $App1 = New-GradioSession http://stable-diffusion $App2 = New-GradioSession http://ascii-generator</maml:para>
      <maml:para> Create the functions $App1 | New-GradioSessionApiProxy -Prefix App # this will create the AppImg function $App2 | New-GradioSessionApiProxy -Prefix App # this will create the AppAscii function</maml:para>
      <maml:para> Generate the image and connect it with the ascii generator:</maml:para>
      <maml:para> AppImg -Text "A car" | AppAscii -Map ImageInput=0 | %{ $ .data[0]; write-host $ .pipeline[0].data[0].url } </maml:para>
      <maml:para> Now let's break down the sequence above.</maml:para>
      <maml:para> Before the first pipe, we have the command that generates the image: AppImg -Text "A car" This function is calling the /Img endpoint of App1. This endpoint produces an output for the step of generating images with the Diffusers lib from hugging face.
In this case, each output will be an image (pretty messed up), until the last output which will be the final image.
This result is in the data property of the pipeline object. It is an array with the results.</maml:para>
      <maml:para> Right after the pipe, we have the command: AppAscii -Map ImageInput=0 This command will receive each object generated by the AppImg command, which in this case, are the partial images of the diffusion process.
Due to the fact that commands can generate an array of outputs, it is necessary to map exactly which of the results should be associated with which parameters.
That's why we use the -Map parameter (-Map is an Alias, in fact, the correct name is ApiResultMap) The syntax is simple: NomeParam=DataIndex,NomeParam=DataIndex
In the command above, we are saying: AppAscii, use the first value of the data property in the ImageInput parameter.
For example, if AppImg returned 4 values, and image was in the last position, you should use ImageInput=3 (0 is the first).</maml:para>
      <maml:para></maml:para>
      <maml:para> Finally, the last pipe just evoles the result of AppAscii, which is now in the pipeline object, $_, in the .data property (like the result of AppImg).
And, to complement, the pipeline object has a special property, called pipeline. With it, you can access all the results of the generated commands.
For example, $_.pipeline[0], contains the result of the first command (AppImg). </maml:para>
      <maml:para> Thanks to this mechanism, it becomes much easier to connect different Gradio apps into a single pipeline. Note that this sequence only works between commands generated by New-GradioSessionApiProxy. Piping other commands will not produce the same effect (you will have to use something like For-EachObject and associate the parameters directly)</maml:para>
      <maml:para></maml:para>
      <maml:para>SESSIONS When the function is created, the origin session is ingrained with the function .
If the session is removed, the cmdlet will throw an error. In this case, you must create the function by invoking this cmdlet again.
The following diagram summarizes the dependencies involved:</maml:para>
      <maml:para> New-GradioSessionApiProxyFunction(Prefix) ---&gt; function &lt;Prefix&gt;&lt;OpName&gt; ---&gt; Send-GradioSessionFiles (when there are files) ---&gt; Invoke-GradioSessionApi | Update-GradioSessionApiResult</maml:para>
      <maml:para>Since Invoke-GradioSessionApi is executed in the end, all its rules apply. You can be Get-GradioSessionApiProxyFunction to get a list of what was created and Remove-GradioSessionApiProxyFunction to remove one or more created functions.
Functions are created with a dynamic module.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-GradioSessionApiProxyFunction</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ApiName</maml:name>
        <maml:description>
          <maml:para>Create only for this specific endpoint</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: @()</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Prefix</maml:name>
        <maml:description>
          <maml:para>Prefix of the created functions</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: Invoke-GradioApi</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>Session</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the creation of the function, even if one with the same name already exists!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-PowershaiChat</command:name>
      <command:verb>New</command:verb>
      <command:noun>PowershaiChat</command:noun>
      <maml:description>
        <maml:para>Creates a new Powershai Chat.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>PowershaAI brings a concept of "chats", similar to the chats you see in OpenAI, or the "threads" of the Assistants API.
Each created chat has its own set of parameters, context and history.
When you use the cmdlet Send-PowershaiChat (alias ia), it's sending messages to the model, and the history of that conversation with the model stays in the chat created here by PowershAI.
That is, all the history of your conversation with the model is kept here in your PowershAI session, and not there in the model or API.
With that, PowershAI keeps all control of what to send to the LLM and does not depend on mechanisms from different APIs of different providers to manage the history.</maml:para>
      <maml:para></maml:para>
      <maml:para>Each Chat has a set of parameters that, when changed, affect only that chat.
Certain PowershAI parameters are global, such as the provider used. When changing the provider, the Chat starts using the new provider, but keeps the same history.
This allows you to chat with different models, while keeping the same history.
In addition to these parameters, each Chat has a history.
The history contains all the conversations and interactions made with the models, keeping the responses returned by the APIs.</maml:para>
      <maml:para>A Chat also has a context, which is nothing more than all the messages sent.
Every time a new message is sent in a chat, Powershai adds this message to the context.
Upon receiving the model's response, this response is added to the context.
In the next message sent, all this message context history is sent, causing the model, regardless of the provider, to have the memory of the conversation.
The fact that the context is kept here in your Powershell session allows functionalities such as saving your history to disk, implementing a dedicated provider to store your history in the cloud, keeping it only on your PC, etc. Future functionalities can benefit from this.</maml:para>
      <maml:para>All *-PowershaiChat commands revolve around the active chat or the chat you explicitly specify in the parameter (usually named -ChatId).
The Active Chat is the chat where messages will be sent if you don't specify ChatId (or if the command does not allow you to specify an explicit chat).
There is a special chat called "default" which is the chat created whenever you use Send-PowershaiChat without specifying a chat and if there is no active chat defined.
If you close your Powershell session, all this Chat history is lost.
You can save to disk using the Export-PowershaiSettings command. The content is saved encrypted with a password you specify.</maml:para>
      <maml:para>When sending messages, PowershAI maintains an internal mechanism that cleans up the chat context to avoid sending more than necessary. The size of the local context (here in your Powershai session, and not the LLM), is controlled by a parameter (use Get-PowershaiChatParameter to see the list of parameters)</maml:para>
      <maml:para>Note that, due to the way Powershai works, depending on the amount of information sent and returned, plus the parameter settings, you can make your Powershell consume a lot of memory. You can manually clear the context and history of your chat using Reset-PowershaiCurrentChat</maml:para>
      <maml:para>See more details in the about_Powershai_Chats topic,</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-PowershaiChat</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Chat Id. If not specified, it will generate a default Some Id patterns are reserved for internal use. If you use them you may cause instability in PowershAI. The following values are reserved: default pwshai *</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>IfNotExists</maml:name>
        <maml:description>
          <maml:para>Creates only if a chat with the same name does not exist</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Recreate</maml:name>
        <maml:description>
          <maml:para>Force recreate the chat if it already exists!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Tools</maml:name>
        <maml:description>
          <maml:para>Creates the chat and includes these tools!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: @()</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-PowershaiError</command:name>
      <command:verb>New</command:verb>
      <command:noun>PowershaiError</command:noun>
      <maml:description>
        <maml:para>Creates a new custom Exception for PowershaAI</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Makes creating custom exceptions easy! Used internally by providers to create Exceptions with properties and types that can be retrieved later.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-PowershaiError</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Message</maml:name>
        <maml:description>
          <maml:para>The exception message!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Props</maml:name>
        <maml:description>
          <maml:para>Custom properties</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: @{}</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Type</maml:name>
        <maml:description>
          <maml:para>Additional type!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Parent</maml:name>
        <maml:description>
          <maml:para>Parent exception!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-PowershaiParameters</command:name>
      <command:verb>New</command:verb>
      <command:noun>PowershaiParameters</command:noun>
      <maml:description>
        <maml:para>Creates a new object that represents the parameters of a PowershaiChat</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates a default object containing all possible parameters that can be used in the chat! The user can use a get-help New-PowershaiParameters to get the documentation of the parameters.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-PowershaiParameters</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>stream</maml:name>
        <maml:description>
          <maml:para>When true, uses stream mode, that is, messages are shown as the model produces them</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: True</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Json</maml:name>
        <maml:description>
          <maml:para>Enables JSON mode. In this mode, the model is forced to return a response with JSON.
When enabled, messages generated via stream are not shown as they are produced, and only the final result is returned.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Boolean</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Name of the model to be used
If null, uses the model defined with Set-AiDefaultModel</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: String</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxTokens</maml:name>
        <maml:description>
          <maml:para>Maximum number of tokens to be returned by the model</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Int32</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: 2048</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ShowFullSend</maml:name>
        <maml:description>
          <maml:para>Prints the entire prompt that is being sent to the LLM</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Boolean</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ShowTokenStats</maml:name>
        <maml:description>
          <maml:para>At the end of each message, it displays the consumption statistics, in tokens, returned by the API</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 6</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxInteractions</maml:name>
        <maml:description>
          <maml:para>Maximum number of interactions to be made at once Each time a message is sent, the model performs 1 iteration (sends the message and receives a response).
If the model requests a function call, the generated response will be sent back to the model. This counts as another interaction.
This parameter controls the maximum number of interactions that can exist in each call. This helps prevent unexpected infinite loops.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 7</maml:para>
          <maml:para>Default Value: 50</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxSeqErrors</maml:name>
        <maml:description>
          <maml:para>Maximum number of consecutive errors generated by Tool Calling.
When using tool calling, this parameter limits how many tools without a sequence that resulted in an error can be called.
The considered error is the exception triggered by the configured script or command.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 8</maml:para>
          <maml:para>Default Value: 5</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxContextSize</maml:name>
        <maml:description>
          <maml:para>Maximum context size, in characters In the future, it will be in tokens Controls the number of messages in the current chat context. When this number exceeds, Powershai automatically clears the oldest messages.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 9</maml:para>
          <maml:para>Default Value: 8192</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ContextFormatterFunc</maml:name>
        <maml:description>
          <maml:para>Function used to format the objects passed via pipeline</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 10</maml:para>
          <maml:para>Default Value: ConvertTo-PowershaiContextOutString</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ContextFormatterParams</maml:name>
        <maml:description>
          <maml:para>Arguments to be passed to the ContextFormatterFunc</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 11</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ShowArgs</maml:name>
        <maml:description>
          <maml:para>If true, displays the arguments of the functions when Tool Calling is activated to execute some function</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 12</maml:para>
          <maml:para>Default Value: True</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>PrintToolsResults</maml:name>
        <maml:description>
          <maml:para>Displays the results of the tools when they are executed by PowershAI in response to the model's tool calling</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 13</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>SystemMessageFixed</maml:name>
        <maml:description>
          <maml:para>System Message that is guaranteed to be sent always, regardless of the chat history and clenaup!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 14</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>RawParams</maml:name>
        <maml:description>
          <maml:para>Parameters to be passed directly to the API that invokes the model.
The provider must implement support for this.
To use it you must know the details of the provider's implementation and how its API works!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 15</maml:para>
          <maml:para>Default Value: @{}</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ContextFormat</maml:name>
        <maml:description>
          <maml:para>Controls the template used when injecting context data! This parameter is a scriptblock that should return a string with the context to be injected into the prompt! The scriptblock parameters are: FormattedObject - The object that represents the active chat, already formatted with the configured Formatter CmdParams - The parameters passed to Send-PowershaAIChat. It is the same object returned by GetMyParams Chat - The chat in which the data is being sent. If null, it will generate a default. Check the Send-PowershaiChat cmdlet for details</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 16</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-GradioSession</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>GradioSession</command:noun>
      <maml:description>
        <maml:para>Remove gradio session</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-GradioSession</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Specify the name of the session. * gets all . gets the default</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: *</maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-GradioSessionApi</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>GradioSessionApi</command:noun>
      <maml:description>
        <maml:para>Removes API calls from the session's internal list</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This cmdlet helps to remove events generated by Invoke-GradioSessionApi from the internal list of calls. Normally, you'll want to remove events that you've already processed, passing the direct id.
However, this cmdlet allows several types of removal, including unprocessed events.
Use with caution, because once an event is removed from the list, the data associated with it is also removed.
Unless you've made a copy of the event (or the resulting data) to another variable, you'll no longer be able to retrieve this information.
Removing events is also useful for helping to free up memory used, which, depending on the number of events and data, can be high.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-GradioSessionApi</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Target</maml:name>
        <maml:description>
          <maml:para>Specifies the event, or events, to be removed Id can also be one of these special values: clean - Removes only the calls that have already completed! all - Removes everything, including those that have not completed!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>By default, only events passed with status "completed" are removed! Use -Force to remove regardless of status!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Elegible</maml:name>
        <maml:description>
          <maml:para>Doesn't do any removal, but returns the candidates!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>session</maml:name>
        <maml:description>
          <maml:para>Session Id</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: wi</maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: cf</maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-GradioSessionApiProxyFunction</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>GradioSessionApiProxyFunction</command:noun>
      <maml:description>
        <maml:para>Remove functions created with New-GradioSessionApiProxy (use Get-GradioSessionApiProxyFunction) to return!</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-GradioSessionApiProxyFunction</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Function</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-PowershaiChat</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>PowershaiChat</command:noun>
      <maml:description>
        <maml:para>Removes a chat and returns the object with all history and context.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-PowershaiChat</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Id of the chat to be removed, or object representing the chat!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: id</maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByPropertyName)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-PowershaiChatTool</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>PowershaiChatTool</command:noun>
      <maml:description>
        <maml:para>Permanently removes a tool!</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-PowershaiChatTool</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>tool</maml:name>
        <maml:description>
          <maml:para>Name of the command, script, functions that was previously added as a tool. If it is a .ps1 file, it is treated as a script, unless -Force command is used. You can use the output of Get-PowershaiChatTool via pipe for this command, which it will recognize When sending the returned object, all other parameters are ignored.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ForceCommand</maml:name>
        <maml:description>
          <maml:para>Force to treat tool as a command, when it is a string</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Chat to remove from</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>global</maml:name>
        <maml:description>
          <maml:para>Remove from global list, if the tool was previously added as global</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Reset-OpenaiBaseUrl</command:name>
      <command:verb>Reset</command:verb>
      <command:noun>OpenaiBaseUrl</command:noun>
      <maml:description>
        <maml:para>Reset the OpenAI base URL to default.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Reset-OpenaiBaseUrl</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Reset-PowershaiChatToolsCache</command:name>
      <command:verb>Reset</command:verb>
      <command:noun>PowershaiChatToolsCache</command:noun>
      <maml:description>
        <maml:para>Clears the AI Tools cache.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>PowershAI maintains a cache with the "compiled" tools. When PowershAI sends the list of tools to the LLM, it needs to send along the tool description, list of parameters, description, etc. Building this list can take significant time, as it will scan the list of tools, functions, and for each one, scan the help (and the help of each parameter).</maml:para>
      <maml:para>When you add a cmdlet like Add-AiTool, it doesn't compile at that moment. It leaves it to do that when it needs to invoke the LLM, in the Send-PowershaiChat function. If the cache doesn't exist, then it compiles there at the time, which can cause this first send to the LLM to take a few milliseconds or seconds longer than usual.</maml:para>
      <maml:para>This impact is proportional to the number of functions and parameters sent.</maml:para>
      <maml:para>Whenever you use Add-AiTool or Add-AiScriptTool, it invalidates the cache, causing it to be generated on the next execution. This allows you to add many functions at once without being compiled each time you add one.</maml:para>
      <maml:para>However, if you modify your function, the cache is not recalculated. So, you should use this cmdlet so that the next execution contains the updated data of your tools after code or script changes.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Reset-PowershaiChatToolsCache</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Reset-PowershaiCurrentChat</command:name>
      <command:verb>Reset</command:verb>
      <command:noun>PowershaiCurrentChat</command:noun>
      <maml:description>
        <maml:para>Clears the current chat history and context.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Reset-PowershaiCurrentChat</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>WhatIf</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: wi</maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Confirm</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: cf</maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Send-GradioApi</command:name>
      <command:verb>Send</command:verb>
      <command:noun>GradioApi</command:noun>
      <maml:description>
        <maml:para></maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sends data to a Gradio and returns an object representing the event! Pass this object to other cmdlets to get the results.</maml:para>
      <maml:para>HOW THE GRADIO API WORKS</maml:para>
      <maml:para> Based on: https://www.gradio.app/guides/querying-gradio-apps-with-curl</maml:para>
      <maml:para> To better understand how to use this cmdlet, it is important to understand how the Gradio API works.
When we invoke an API endpoint, it does not return the data immediately.
This is due to the simple fact that processing is extensive, due to the nature (AI and Machine Learning).
So, instead of returning the result, or waiting indefinitely, Gradio returns an "Event Id".
With this event, we can periodically get the generated results.
Gradio will generate event messages with the data that was generated. We need to pass the generated EventId to get the new chunks generated. These events are sent via Server Side Events (SSE), and can be one of these: - hearbeat Every 15 seconds, Gradio will send this event to keep the connection alive.
This is why, when using the Update-GradioApiResult cmdlet, it may take a while to return.</maml:para>
      <maml:para> - complete It is the last message sent by Gradio when the data has been successfully generated!</maml:para>
      <maml:para> - error Sent when there was an error during processing.
- generating It is generated when the API already has data available, but more may still come.</maml:para>
      <maml:para> Here in PowershAI, we have also separated this into 3 parts: - This cmdlet (Send-GradioApi) makes the initial request to Gradio and returns an object that represents the event (let's call it a GradioApiEvent object) - This resulting object, of type GradioApiEvent, contains everything you need to query the event and it also stores the data and errors obtained. - Finally, we have the Update-GradioApiResult cmdlet, where you must pass the generated event, and it will query the Gradio API and get the new data.
Check the help for this cmdlet for more information on how to control this data fetching mechanism.</maml:para>
      <maml:para></maml:para>
      <maml:para> So, in a normal workflow, you should do the following: </maml:para>
      <maml:para> # Invoke the Gradio endpoint! $MyEvent = SEnd-GradioApi ... </maml:para>
      <maml:para> # Get results until they are finished! # Check the help for this cmdlet to learn more! $MyEvent | Update-GradioApiResult</maml:para>
      <maml:para>GradioApiEvent Object</maml:para>
      <maml:para> The resulting GradioApiEvent object from this cmdlet contains everything PowershAI needs to control the mechanism and get the data.
It is important that you know its structure so that you know how to collect the data generated by the API. Properties:</maml:para>
      <maml:para> - Status
Indicates the status of the event. When this status is "complete", it means that the API has finished processing and all possible data has already been generated.
As long as it is different from this, you should invoke Update-GradioApiResult so that it checks the status and updates the information. </maml:para>
      <maml:para> - QueryUrl
Internal value containing the exact endpoint for the query of the results</maml:para>
      <maml:para> - data
An array containing all the generated response data. Each time you invoke Update-GradioApiResult, if there is data, it will add to this array.
- events
List of events that were generated by the server. </maml:para>
      <maml:para> - error
If there were errors in the response, this field will contain some object, string, etc., describing more details.</maml:para>
      <maml:para> - LastQueryStatus
Indicates the status of the last query to the API.
If "normal", it indicates that the API was queried and returned to the end normally. If "HeartBeatExpired", it indicates that the query was interrupted due to the hearbeat timeout configured by the user in the Update-GradioApiResult cmdlet</maml:para>
      <maml:para> - req Request data made!</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Send-GradioApi</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>AppUrl</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ApiName</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Params</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>SessionHash</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>EventId</maml:name>
        <maml:description>
          <maml:para>If informed, it does not call the API, but creates the object and uses this value as if it were the return</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>token</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 6</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Send-GradioFile</command:name>
      <command:verb>Send</command:verb>
      <command:noun>GradioFile</command:noun>
      <maml:description>
        <maml:para>Uploads one or more files. Returns an object in the same format as gradio FileData(https://www.gradio.app/docs/gradio/filedata). If you want to return only the file path on the server, use the -Raw parameter. Thanks https://www.freddyboulton.com/blog/gradio-curl and https://www.gradio.app/guides/querying-gradio-apps-with-curl</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Send-GradioFile</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>AppUrl</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Files</maml:name>
        <maml:description>
          <maml:para>List of files (paths or FileInfo)</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Raw</maml:name>
        <maml:description>
          <maml:para>Returns the direct result from the server!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Send-GradioSessionFiles</command:name>
      <command:verb>Send</command:verb>
      <command:noun>GradioSessionFiles</command:noun>
      <maml:description>
        <maml:para>Uploads files to a Gradio session! Returns a FileData object for the uploaded file and internally saves the reference.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Send-GradioSessionFiles</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>files</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Send-PowershaiChat</command:name>
      <command:verb>Send</command:verb>
      <command:noun>PowershaiChat</command:noun>
      <maml:description>
        <maml:para>Sends a message in a Powershai Chat</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This cmdlet lets you send a new message to the LLM of the current provider.
By default, it sends to the active chat. You can override the chat using the -Chat parameter. If there is no active chat, it will use the default.
Several Chat parameters affect how this command works. See the Get-PowershaiChatParameter command for more info about chat parameters.
In addition to chat parameters, command parameters themselves can override behavior. For more details, consult the documentation for each parameter of this cmdlet using get-help.
For simplicity, and to keep the command line clean, allowing the user to focus more on the prompt and data, some aliases are provided.
These aliases can activate certain parameters. They are: ia|ai Abbreviation for "Artificial Intelligence" in English. This is a simple alias and does not change any parameter. It helps to reduce the command line a lot.</maml:para>
      <maml:para> iat|ait Same as Send-PowershaAIChat -Temporary</maml:para>
      <maml:para> io|ao Same as Send-PowershaAIChat -Object</maml:para>
      <maml:para>The user can create their own aliases. For example: Set-Alias ki ia # DEfine the alias for german! Set-Alias kit iat # DEfine the kit alias for iat, making the behavior the same as iat (temporary chat) when using kit!</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Send-PowershaiChat</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>prompt</maml:name>
        <maml:description>
          <maml:para>the prompt to be sent to the model</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>SystemMessages</maml:name>
        <maml:description>
          <maml:para>System message to be included</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: @()</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>context</maml:name>
        <maml:description>
          <maml:para>The context This parameter is preferably used by the pipeline. It will cause the command to put the data in &lt;context&gt;&lt;/context&gt; tags and inject it along with the prompt.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ForEach</maml:name>
        <maml:description>
          <maml:para>Forces the cmdlet to execute for each object in the pipeline By default, it accumulates all objects in an array, converts the array to string only and sends it all at once to the LLM.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Json</maml:name>
        <maml:description>
          <maml:para>Enable json mode in this mode the returned results will always be a JSON. The current model must support!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Object</maml:name>
        <maml:description>
          <maml:para>Object mode! in this mode JSON mode will be activated automatically! The command will not write anything to the screen, and will return the results as an object! Which will be thrown back into the pipeline!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>PrintContext</maml:name>
        <maml:description>
          <maml:para>Shows the context data sent to the LLM before the response! It is useful for debugging what data is being injected into the prompt.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Forget</maml:name>
        <maml:description>
          <maml:para>Do not send the previous conversations (the context history), but include the prompt and the response in the historical context.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Snub</maml:name>
        <maml:description>
          <maml:para>Ignore the LLM response, and do not include the prompt in the historical context</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Temporary</maml:name>
        <maml:description>
          <maml:para>Do not send the history or include the response and prompt.
It is the same as passing -Forget and -Snub together.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>DisableTools</maml:name>
        <maml:description>
          <maml:para>Disables function call for this execution only!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: NoCalls,NoTools,nt</maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>FormatterFunc</maml:name>
        <maml:description>
          <maml:para>Change the context formatter for this See more about in Format-PowershaiContext</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>FormatterParams</maml:name>
        <maml:description>
          <maml:para>Parameters of the altered context formatter.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Returns the messages back to the pipeline, without writing directly to the screen! This option assumes that the user will be responsible for giving the correct destination of the message! The object passed to the pipeline will have the following properties: text - The text (or portion) of the text returned by the model formatted - The formatted text, including the prompt, as if it were written directly to the screen (without the colors) event - The event. Indicates the event that originated. They are the same events documented in Invoke-AiChatTools interaction - The interaction object generated by Invoke-AiChatTools</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Lines</maml:name>
        <maml:description>
          <maml:para>Returns an array of lines If stream mode is enabled, it will return one line at a time!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-AiDefaultModel</command:name>
      <command:verb>Set</command:verb>
      <command:noun>AiDefaultModel</command:noun>
      <maml:description>
        <maml:para>Set the current provider's default LLM</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Users can set the default LLM, which will be used when an LLM is required.
Commands like Send-PowershaAIChat, Get-AiChat, expect a model, and if none is provided, it uses what was set with this command.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-AiDefaultModel</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>model</maml:name>
        <maml:description>
          <maml:para>Model Id, as returned by Get-AiModels You can use tab to complete the command line.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Force setting the model, even if it is not returned by Get-AiModels</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-AiProvider</command:name>
      <command:verb>Set</command:verb>
      <command:noun>AiProvider</command:noun>
      <maml:description>
        <maml:para>Changes the current provider</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Providers are scripts that implement access to their respective APIs.
Each provider has its own way of invoking APIs, data format, response schema, etc.
Changing the provider affects certain commands that operate on the current provider, such as `Get-AiChat`, `Get-AiModels`, or Chats, such as Send-PowershaAIChat. For more details about providers, see the about_Powershai_Providers topic.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-AiProvider</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>provider</maml:name>
        <maml:description>
          <maml:para>provider name</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-ClaudeToken</command:name>
      <command:verb>Set</command:verb>
      <command:noun>ClaudeToken</command:noun>
      <maml:description>
        <maml:para>Set-ClaudeToken [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-ClaudeToken</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-GoogleApiKey</command:name>
      <command:verb>Set</command:verb>
      <command:noun>GoogleApiKey</command:noun>
      <maml:description>
        <maml:para>Sets the Google API Key (Token).</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-GoogleApiKey</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-GradioSession</command:name>
      <command:verb>Set</command:verb>
      <command:noun>GradioSession</command:noun>
      <maml:description>
        <maml:para>Defines some session options.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-GradioSession</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>Gradio Session</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Default</maml:name>
        <maml:description>
          <maml:para>Define the session as the default</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxCalls</maml:name>
        <maml:description>
          <maml:para>Configure the maximum number of calls. See more in Invoke-GradioSessionApi</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxCallsPolicy</maml:name>
        <maml:description>
          <maml:para>Configure the maximum calls policy. See more in Invoke-GradioSessionApi</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-HuggingFaceToken</command:name>
      <command:verb>Set</command:verb>
      <command:noun>HuggingFaceToken</command:noun>
      <maml:description>
        <maml:para>Sets the Hugging Face token</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-HuggingFaceToken</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-MaritalkToken</command:name>
      <command:verb>Set</command:verb>
      <command:noun>MaritalkToken</command:noun>
      <maml:description>
        <maml:para>Set-MaritalkToken [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-MaritalkToken</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-OllamaUrl</command:name>
      <command:verb>Set</command:verb>
      <command:noun>OllamaUrl</command:noun>
      <maml:description>
        <maml:para>Set-OllamaUrl [[-url] &lt;Object&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-OllamaUrl</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>url</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-OpenaiBaseUrl</command:name>
      <command:verb>Set</command:verb>
      <command:noun>OpenaiBaseUrl</command:noun>
      <maml:description>
        <maml:para>Set-OpenaiBaseUrl [[-url] &lt;Object&gt;] [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-OpenaiBaseUrl</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>url</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-OpenaiToken</command:name>
      <command:verb>Set</command:verb>
      <command:noun>OpenaiToken</command:noun>
      <maml:description>
        <maml:para>Set-OpenaiToken [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-OpenaiToken</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-PowershaiActiveChat</command:name>
      <command:verb>Set</command:verb>
      <command:noun>PowershaiActiveChat</command:noun>
      <maml:description>
        <maml:para>Changes the active chat</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The active chat is the default chat where Powershai Chat commands are sent.
If there is only 1 chat, it is considered active, by default.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-PowershaiActiveChat</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-PowershaiChatContextFormatter</command:name>
      <command:verb>Set</command:verb>
      <command:noun>PowershaiChatContextFormatter</command:noun>
      <maml:description>
        <maml:para>Defines the function that will be used to format the objects passed to the Send-PowershaiChat -Context parameter.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>When invoking Send-PowershaiChat in a pipe, or passing the -Context parameter directly, it will inject this object into the LLM prompt. Before injecting, it must convert this object to a string. This conversion is called "Context Formatter" here in Powershai. The Context Formatter is a function that will take each object passed and convert it to a string to be injected into the prompt. The function used should receive the object to be converted as the first parameter.</maml:para>
      <maml:para>The remaining parameters are at your discretion. Their values can be specified using the -Params parameter of this function!</maml:para>
      <maml:para>Powershai provides native context formatters. Use Get-Command ConvertTo-PowershaiContext* or Get-PowershaiContextFormatters to get the list!</maml:para>
      <maml:para>Since native context formatters are just PowerShell functions, you can use Get-Help Name to get more details.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-PowershaiChatContextFormatter</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Func</maml:name>
        <maml:description>
          <maml:para>PowerShell function name Use the Get-PowershaiContextFormatters command to see the list</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: Str</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Params</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-PowershaiChatParameter</command:name>
      <command:verb>Set</command:verb>
      <command:noun>PowershaiChatParameter</command:noun>
      <maml:description>
        <maml:para>Updates the value of a Powershai Chat chat parameter.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Updates the value of a parameter for a Powershai Chat.
If the parameter does not exist, an error is returned.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-PowershaiChatParameter</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>parameter</maml:name>
        <maml:description>
          <maml:para>Parameter name</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>value</maml:name>
        <maml:description>
          <maml:para>Parameter value</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Chat to update. By default updates the active chat</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Force update, even if the parameter does not exist in the parameter list</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-PowershaiChatTool</command:name>
      <command:verb>Set</command:verb>
      <command:noun>PowershaiChatTool</command:noun>
      <maml:description>
        <maml:para>Disables a tool (but doesn't remove it). Disabled tools are not sent to the LLM.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-PowershaiChatTool</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>tool</maml:name>
        <maml:description>
          <maml:para>Tool name (same as in Add-PowershaiChatTool) or via pipeline the result of Get-PowershaiChatTool</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Enable</maml:name>
        <maml:description>
          <maml:para>enables the tool.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: Enable</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Disable</maml:name>
        <maml:description>
          <maml:para>disables the tool.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: Disable</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ForceCommand</maml:name>
        <maml:description>
          <maml:para>If informed, and tool is a name, forces it to be treated as script!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ChatId</maml:name>
        <maml:description>
          <maml:para>Chat in which the tool is</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Global</maml:name>
        <maml:description>
          <maml:para>Looks for the tool in the global Tools list</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Start-HttpRequest</command:name>
      <command:verb>Start</command:verb>
      <command:noun>HttpRequest</command:noun>
      <maml:description>
        <maml:para>Start-HttpRequest [[-url] &lt;Object&gt;] [[-data] &lt;Object&gt;] [[-method] &lt;Object&gt;] [[-contentType] &lt;Object&gt;] [[-Encoding] &lt;Object&gt;] [[-headers] &lt;Object&gt;] [[-MaxConnections] &lt;Object&gt;] [&lt;CommonParameters&gt;]</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Start-HttpRequest</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Encoding</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 4</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxConnections</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 6</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>contentType</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>data</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>headers</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 5</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>method</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>url</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 0</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters:</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Start-HuggingFaceSpace</command:name>
      <command:verb>Start</command:verb>
      <command:noun>HuggingFaceSpace</command:noun>
      <maml:description>
        <maml:para>Starts a Hugging Face Space if it is in sleeping mode.</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Start-HuggingFaceSpace</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>space</maml:name>
        <maml:description>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Update-GradioApiResult</command:name>
      <command:verb>Update</command:verb>
      <command:noun>GradioApiResult</command:noun>
      <maml:description>
        <maml:para></maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Updates an event returned by Send-GradioApi with new results from the server and, by default, returns the events in the pipeline.</maml:para>
      <maml:para>The results of Gradio Apis are not generated instantly, as they are in most REST HTTP services.
The Send-GradioApi command help explains in detail how the process works.
This command should be used to update the GradioApiEvent object, returned by Send-GradioApi. This object represents the response from each call you make to the API, it contains everything you need to query the result, including data and history.</maml:para>
      <maml:para>Basically, this cmdlet works by invoking the Api invocation status query endpoint. The parameters required for querying are available in the object itself passed in the -ApiEvent parameter (which is created and returned by the Send-GradioApi cmdlet)</maml:para>
      <maml:para>Whenever this cmdlet runs, it communicates via a persistent HTTP connection to the server and waits for events.
As the server sends the data, it updates the object passed in the -ApiEvent parameter, and, by default, writes the returned event to the pipeline.</maml:para>
      <maml:para>The returned event is an object of type GradioApiEventResult, and represents an event generated by the response of the API execution.
If the -History parameter is specified, all events generated are in the events property of the object provided in -ApiEvent, as well as the returned data.</maml:para>
      <maml:para>Basically, the events generated can send a heartbeat or data.</maml:para>
      <maml:para>GradioApiEventResult OBJECT num = sequential event number. starts at 1. ts = date the event was created (local date, not server). event = event name data = data returned in this event</maml:para>
      <maml:para>DATA (DATA)</maml:para>
      <maml:para> Getting Gradio data is basically reading the events returned by this cmdlet and looking at the data property of the GradioApiEventResult Usually the Gradio interface overwrites the field with the last event received.
If -History is used, in addition to writing to the pipeline, the cmdlet will store the data in the data field, and therefore, you will have access to the complete history of what was generated by the server.
Note that this can cause additional memory consumption if a lot of data is returned.</maml:para>
      <maml:para> There is a known "problematic" case: eventually, gradio may emit the last 2 events with the same data (one event will have the name "generating", and the last will be complete).
We don't have a safe way to separate this yet, so the user has to decide the best way to proceed.
If you always use the last event received, this is not a problem. If you need to use all the events as they are being generated, you will have to handle these cases. A simple example would be to buy the content, if it were the same, don't repeat it. But there may be scenarios where 2 events with the same content are still logically different events.</maml:para>
      <maml:para></maml:para>
      <maml:para></maml:para>
      <maml:para>HEARTBEAT </maml:para>
      <maml:para> One of the events generated by the Gradio API are the Heartbeats.
Every 15 seconds, Gradio sends an event of type "HeartBeat", just to keep the connection active.
This causes the cmdlet to "hang", because, since the HTTP connection is active, it keeps waiting for a response (which will be data, errors or the heartbeat).</maml:para>
      <maml:para> If there is no mechanism to control this, the cmdlet would run indefinitely, without the possibility of canceling even with CTRL + C. To solve this, this cmdlet provides the MaxHeartBeats parameter.
This parameter indicates how many consecutive Heartbeat events will be tolerated before the cmdlet stops trying to query the API.
For example, consider these two scenarios of events sent by the server:</maml:para>
      <maml:para> scenario 1: generating heartbeat generating heartbeat generating complete</maml:para>
      <maml:para> scenario 2: generating generating heartbeat heartbeat heartbeat complete</maml:para>
      <maml:para> Considering the default value, 2, in scenario 1, the cmdlet would never end before complete, because there were never 2 consecutive heartbeats.</maml:para>
      <maml:para> Already in scenario 2, after receiving 2 data events (generating), in the fourth event (hearbeat), it would end, because 2 consecutive heartbeats were sent.
We say the heartbeat expired in this case. In this case, you should invoke Update-GradioApiResult again to get the rest.</maml:para>
      <maml:para> Whenever the command ends due to an expired heartbeat, it will update the LastQueryStatus property value to HeartBeatExpired.
With that, you can check and treat correctly when you should call again</maml:para>
      <maml:para></maml:para>
      <maml:para>STREAM
Due to the fact that the Gradio Api already responds using SSE (Server Side Events), it is possible to use an effect similar to the "stream" of many Apis.
This cmdlet, Update-GradioApiResult, already processes the server events using SSE.
Additionally, if you also want to do some processing as the event becomes available, you can use the -Script parameter and specify a scriptblock, functions, etc. that will be invoked as the event is received.
Combining with the -MaxHeartBeats parameter, you can create a call that updates something in real time. For example, if it's a chatbot response, you can write to the screen immediately.</maml:para>
      <maml:para> note that this parameter is called in sequence with the code that checks (that is, same Thread).
Therefore, scripts that take a long time to execute can interfere with the detection of new events, and consequently, the delivery of data.</maml:para>
      <maml:para>.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Update-GradioApiResult</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>ApiEvent</maml:name>
        <maml:description>
          <maml:para>Result of Send-GradioApi</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Script</maml:name>
        <maml:description>
          <maml:para>script that will be invoked with each generated event! Receives a hashtable with the following keys: event - contains the generated event. event.event is the event name. event.data is the returned data.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxHeartBeats</maml:name>
        <maml:description>
          <maml:para>Max consecutive heartbeats until stop! Causes the command to wait for only this number of consecutive heartbeats from the server. When the server sends this amount, the cmdlet ends and sets the LastQueryStatus of the event to HeartBeatExpired</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>NoOutput</maml:name>
        <maml:description>
          <maml:para>Does not write the result to the cmdlet output</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>History</maml:name>
        <maml:description>
          <maml:para>Keeps the history of events and data in the ApiEvent object Note that this will consume more powershell memory!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Update-GradioSessionApiResult</command:name>
      <command:verb>Update</command:verb>
      <command:noun>GradioSessionApiResult</command:noun>
      <maml:description>
        <maml:para>Updates the return of a call generated as Invoke-GradioSessionApi</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This cmdlet follows the same principle as its equivalents in Send-GradioApi and Update-GradioApiResult. However, it only works for events generated in a specific session. Returns the event itself so it can be used with other cmdlets that require the updated event!</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Update-GradioSessionApiResult</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>Id of the event, returned by Invoke-GradioSessionApi or the object itself returned.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>NoOutput</maml:name>
        <maml:description>
          <maml:para>Do not output the result to the output!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>MaxHeartBeats</maml:name>
        <maml:description>
          <maml:para>Max consecutive heartbeats.</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 2</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>session</maml:name>
        <maml:description>
          <maml:para>Session Id</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 3</maml:para>
          <maml:para>Default Value: .</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>History</maml:name>
        <maml:description>
          <maml:para>Adds the events to the history of events of the GradioApiEvent object informed in -Id</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Wait-HuggingFaceSpace</command:name>
      <command:verb>Wait</command:verb>
      <command:noun>HuggingFaceSpace</command:noun>
      <maml:description>
        <maml:para>Waits for the space to start. Returns $true if it started successfully or $false if it timed out!</maml:para>
      </maml:description>
    </command:details>
    <maml:description />
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Wait-HuggingFaceSpace</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>Space</maml:name>
        <maml:description>
          <maml:para>Filters by a specific space</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: 1</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: true (ByValue)</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>timeout</maml:name>
        <maml:description>
          <maml:para>How many seconds, maximum, to wait. If null, then waits indefinitely!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: </maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>SleepTime</maml:name>
        <maml:description>
          <maml:para>Wait time until next check, in ms</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: Object</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: 5000</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>NoStatus</maml:name>
        <maml:description>
          <maml:para>dont print progress status...</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named" aliases="none">
        <maml:name>NoStart</maml:name>
        <maml:description>
          <maml:para>Do not start, just wait!</maml:para>
          <maml:para></maml:para>
          <maml:para>Parameter Set: (All)</maml:para>
          <maml:para>Type: SwitchParameter</maml:para>
          <maml:para>Aliases: </maml:para>
          <maml:para>Accepted Values: </maml:para>
          <maml:para>Required: false</maml:para>
          <maml:para>Position: named</maml:para>
          <maml:para>Default Value: False</maml:para>
          <maml:para>Accept pipeline input: false</maml:para>
          <maml:para>Accept wildcard characters: false</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false"></command:parameterValue>
        <dev:type>
          <maml:name></maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert />
    </maml:alertSet>
    <command:examples />
    <command:relatedLinks />
  </command:command>
</helpItems>