pt-BR/about_Powershai.help.txt

TOPIC
    about_powershai
 
SHORT DESCRIPTION
    PowershAI (Powershell + AI) é um modulo que adiciona acesso a IA através do Powershell
 
LONG DESCRIPTION
    O PowershAI é um módulo que adiciona recursos de IA a sua sessão do Powershell.
 
    O objetivo é facilitar e encapsular chamadas e tratamentos complexos paras as APIs dos principais serviços de IA existentes.
 
    O PowershAI define um conjunto de padrões que permitem que o usuário converse com LLMs, direto do prompt, ou que use o resultado de comandos como
    contexto em um prompt.
 
    E, através de um conjunto padronizado de funções, diferentes provedores podem ser usados: Por exemplo, você pode conversar com o GPT-4o ou o
    Gemini Flash usando exatamente o mesmo código.
 
    Além dessa padroinização, o PowershAI também expoe as funcoes internas e específicas para conexão com os diferentes provedores de serviços de IA.
 
    Com isso, você pode customizar e criar scrips que utilizem recursos específicos dessas APIs.
 
    A arquitetura do PowershAI define o conceito de "provider" que são arquivos que implementam todos os detalhes necessários para conversar com suas
    respectivas APIs.
 
    Novos providers podem ser adicionados, com novas funcionalidades, a medida que se torem disponíoveis.
 
    No final, você tem diversas opções de começar a usar IA nos seus scripts. Exemplos de providers famosos que já estão implementandos completa ou parcialmente:
    - OpenAI - Hugging Face
    - Gemini
    - Ollama
    - Maritalk (LLM brasileiro)
    Para começar a usar o PowershAI é bem simples:
 
    # Instale o modulo!
    Install-Module -Scope CurrentUser powershai
     
    # Importe!
    import-module powershai
     
    # Lista de providers
    Get-AiProviders
     
    # Você deve consultar a documentação de cada provider para detalhes de como usá-lo!
    # A documentação pode ser acessada usando get-help
    Get-Help about_NomeProvider
     
    # Exemplo:
    Get-Help about_huggingface
 
Obtendo Ajuda
    Apesar do esforço para documentar o PowershAI ao máximo, muito provavelmente não iremos conseguir a tempo criar toda a documentação necessária
    para esclarecer as dúdivas, ou mesmo falar de todos os comandos disponíveis. Por isso, é importante que você saiba fazer um básico disso sozinho. Você
    pode listar todos os comandos disponíveis quando o comando `Get-Command -mo powershai`.
 
    Este comando vai retornar todos os cmdlets, alias e funções exportadas do módulo powerhsai.
 
    Ele é o ponto de partida mais fácil para descobrir quais comandos. Muitos comandos são auto-explicativos, apenas olhando o nome.
 
    E, para cada comando, você pode obter mais detalhes usando `Get-Help -Full NomeComando`. Caso ainda o comando não tenha uma documentação completa,
    ou alguma dúvida que você precisa esteja faltando, você pode abrir uma issue no git solicitando mais complemento.
 
    Por fim, você pode explorar o código-fonte do PowershAI, procurando por comentários deixados ao longo do código, que podem explicar alguma
    funcionamento ou arquitetura, de forma mais técnica.
 
    Nós iremos atualizando a documentação a medida que novas versões são lançadas. Encourajamos você a contribuir para o PowershAI, submetendo Pull
    Requsts ou issues com melhorias na documentação caso encontre algo que possa ser melhor explicado, ou que ainda não foi explicado.
 
 
Estrutura de comandos
    O PowershAI exporta diversos comandos que podem ser usados.
 
    A maioria desses comandos possuem "Ai" ou "Powershai". Chamamos estes comandos de `comandos globais` do Powershai, pois não são comandos para um
    provider específico.
    Por exemplo: `Get-AiProvider`, `Send-PowershaiChat`, `New-PowershaiChat`.
 
    Os providers também exportam comandos, que geralmente terão um nome do provider. Consulte a documentação do provider para saber mais sobre o
    padrão de comandos exportado.
 
    Por convenção, nenhum provider deve implementar comandos com "Ai" ou "Powershai" no nome, pois são reservados aos comandos globais, independente
    de provider.
 
    Também, os alias definidos pelos providers devem sempre conter mais de 5 caractares. Alias menores estão reservados para os comandos globais.
    Você pode encontrar a documentação destes comandos na
    doc de comandos globais
    .
 
    Você podem pode usar o comando Get-PowershaiGlobalCommands para obter a lista!
 
Documentação dos Providers
    A
    documentação de providers
    é o local oficial para obter ajuda sobre o funcionamento de cada provider.
 
    Essa documentação também pode ser acessada através do comando `Get-Help` do powershell.
 
    A documentação de providers é sempre disponibilizada via help `about_Powershai_NomeProvider_Topico`.
 
    O tópico `about_Powershai_NomeProvider` é o ponto de partida e deve sempre conter as informações inicais para os primeiros usos, bem como as
    explicações para o correto uso dos demais tópicos.
 
 
Chats
    Os Chats são o principal ponto de partida e permitem que você converse com os vários LLM disponibilizados pelos providers.
 
    Veja o documento
    chats
    para mais detalhes. A seguir, uma introdução rápida aos chats.
 
    CONVERSANDO COM O MODELO
    Uma vez que a configuração inicial do provider está feita, você pode iniciar a conversa!
 
    A maneira mais fácil de iniciar a conversa é usando o comando `Send-PowershaiChat` ou o alias `ia`:
 
    ia "Olá, você conhece PowerShell?"
 
    Este comando vai enviar a mensagem pro modelo do provider que foi configurado e a resposta será exibida em seguida.
 
    Note que o tempo de resposta depende da capacidade do modelo e da rede.
 
    Você pode usar o pipeline para jogar o resultado de outros comandos diretamente como contexto da ia:
 
    1..100 | Get-Random -count 10 | ia "Me fale curiosidades sobre esses números"
 
 
    O comando acima vai gerar uma sequencia de 1 a 100 e jogar cada número no pipeline do PowerShell.
 
    Então, o comando Get-Random vai filtrar somente 10 desses números, aleatoriamente.
 
    E por fim, essa sequencia será jogada (toda de uma vez) para a ia e será enviada com a mensagem que colocou no parâmetro.
 
    Você pode usar o parâmetro `-ForEach` para que a ia processe cada input por vez, por exemplo:
 
    1..100 | Get-Random -count 10 | ia -ForEach "Me fale curiosidades sobre esses números"
 
 
    A diferença deste comando acima, é que a IA será chamada 10x, um para cada número.
 
    No exemplo anterior, ela será chamada apenas 1x, com todos os 10 números.
 
    A vantagem de usar esse método é reduzir o contexto, mas pode demorar mais tempo, pois mais requisições serão feitas.
 
    Testes conforme suas necessidades!
 
    MODO OBJETO
    Por padrão, o comando `ia` não retorna nada. Mas você pode alterar esse comportamento usando o parâmetro `-Object`.
 
    Quando este parâmetro é ativado, ele pede ao LLM que gere o resultado em JSON e escreve o retorno de volta no pipeline.
 
    ISso significa, que você pode fazer algo assim:
 
    ia -Obj "5 numeros aleatorios, com seu valor escrito por extenso"
     
    #ou usando o alias, io/powershellgallery/dt/powershai
     
    io "5 numeros aleatorios, com seu valor escrito por extenso"
 
 
    IMPORTANTE: Note que nem todo provider pode suportar este modo, pois o modelo precisa ser capaz de suportar JSON! Caso receba erros, confirme se o
    mesmo comando funciona com um modelo da OpenAI. VocÇe pode abrir uma issue também
 
Salvando configurações
    O PowershAI permite ajustar uma série de configurações, como parâmetros de chats, tokens de autenticação, etc.
 
    Sempre que você altera uma configuração, esta configuração é salva apenas na memória da sua sessão do Powershell.
 
    Se você fechar, e abrir novamente, todas as configurações feitas serão perdidas.
 
    Para que você não precise ficar gerando tokens toda vez, por exemplo, o Powershai fornece 2 comandos para exportar e importar configurações.
 
    O comando `Export-PowershaiSettings` exporta as configurações para um arquivo no diretório profile do usuário logado.
 
    Devido ao fato de que os dados exportados podem ser sensíveis, você precisa informar uma senha, que será usada para gerar um chave de
    criptografia.
 
    Os dados exportados são criptografados usando AES-256.
 
    Você pode importar usando `Import-PowershaiSettings`. Você terá que fornecer a senha que usou para exportar.
 
    Note que esta senha não é armazenada em local nenhum, então, você é o responsável por memorizá-la ou guardar em um cofre de sua escolha.
 
Custos
    É importante lembrar que alguns providers podem cobrar pelos serviços usados.
 
    O PowershAI não faz nenhum gerenciamento de custo. Ele pode injetar dados em prompts, parâmetros, etc.
 
    Você deve fazer o acompanhamento usando as ferramentas que o site do provider fornece para tal.
 
    Futuras versões podem incluir comandos ou parâmetros que ajudem a controlar melhor, mas, por enquanto, o usuário deve monitorar.
 
 
    EXPORT E IMPORT DE CONFIGURAÇÕES E TOKENS
    Para facilitar o reuso dos dados (tokens, default models, histórico de chats, etc.) o PowershAI permite que você exporte a sessão.
 
    Para isso, use o comando `Export-PowershaiSettings`. Você vai precisar fornecer uma senha, que será usada para criar um chave e criptografar esse
    arquivo.
 
    Somente com essa senha, você consegue importá-lo novamente. Para importar, use o comando `Import-PowershaiSettings`.
 
    Por padrão, os Chats não exportados. Para exportá-los, você pode adicionar o parâmetro -Chats: `Export-PowershaiSettings -Chats`.
 
    Note que isso pode deixar o arquivo maior, além de aumentar o tempo de export/import. A vantagem é que você consegue continuar a conversa entre
    diferentes sessões.
 
    Essa funcionalidade foi criada originalmente com o intuito de evitar ter que ficar gerando Api Key toda vez que precisasse usar o PowershAI. Com
    ela, você gera 1 vez suas api keys em cada provider, e exporta a medida que atualiza. Como está protegido por senha, você pode deixar salvo
    tranquilamente em um arquivo no seu computador.
 
    Use a ajuda no comando para obter mais informacoes de como usá-lo.
 
EXAMPLES
Uso básico
    Usar o PowershAI é muito simples. O exemplo abaixo mostra como você pode usar com a OpenAI:
 
    # Altere o provider atual para OpenAI
    Set-AiProvider openai
     
    # Configure o token de autenticação (Você deve gerar o token no site platform.openai.com)
    Set-OpenaiToken
     
    # Use um dos comandos para inciar um chat! ia é um alias para Send-PowershaiChat, que envia uma mensagem no chat default!
    ia "Olá, estou falando do Powershaui com você!"
 
Exportando configurações
    # defina algum token, por exemplo
    Set-OpenaiToken
     
    # Após o coando acima rodar, basta exportar!
    Export-PowershaiSettings
     
    # Você terá que fornecer a senha!
 
Importando configurações
    import-module powershai
     
    # Importe as configuraçoes
    Import-PowershaiSettings # O comando irá pedir a senha usada na exportacao
 
NOTE
    O PowershAI possui uma gama de comandos disponóveis.
 
    Cada provider fornece uma série de comandos com uma padrão de nomenclatura.
 
    Você sempre deve ler a documentação do provider para obter mais detalhes de como usá-lo.
 
 
TROUBLESHOOTING NOTE
    Apesar de possuir bastante código e ter já bastante funcionalidade, o PowershAI é um projeto novo, que está sendo desenvolvido.
 
    Alguns bugs podem ser encontrados e, nesta fase, é importante que você sempre ajude reportando, através de issues, no repositório oficial em
    https://github.com/rrg92/powershai
 
    Se você quiser fazer o troubleshooting de um problema, recomendo seguir estas etapas:
    - Utilize o Debug para te ajudar. Comandos como Set-PSBreakpoint são simples de invocar na linha de comando e podem te ajudar a econimizar tempo
    - Algumas funcoes não exibem o erro completo. Você pode usar a variável $error, e acessar o último. Por exemplo:
 
 
    $e = $error[0];
    $e.ErrorRecord.ScriptStackTrace # Isso ajua a encontrar a linha exada onde a exception ocorreu!
 
SEE ALSO
    - Vídeo sobre Como usar o Provider do Hugging Face: https://www.youtube.com/watch?v=DOWb8MTS5iU
    - Veja a doc de cada provider para mais detalhes sobre como usar os seus cmdlets
 
KEYWORDS
    - Inteligência Artificial
- IA