The PSAOAI (PowerShell Azure OpenAI) module is a powerful tool designed to interact with Azure OpenAI Services. It leverages the Azure OpenAI API to provide a seamless and efficient way to manage and utilize Azure OpenAI Services directly from your PowerShell environment.
This module allows you to perform a variety of tasks such as managing, and interacting with OpenAI models, generating text, images, and analyzing the output. It is designed to be user-friendly and efficient, making it easy for both beginners and experienced users to leverage the power of Azure OpenAI Services.
Whether you're looking to automate tasks, generate insightful data, or simply explore the capabilities of Azure OpenAI, the PSAOAI module is a valuable addition to your PowerShell toolkit.
The PSAOAI (PowerShell Azure OpenAI) module offers a comprehensive set of features designed to interact seamlessly with Azure OpenAI Services. Below is an improved and detailed list of the module's features:
- Chat Completion: Generate conversational responses using the Azure OpenAI API, enabling interactive and dynamic chat experiences, including support for
o1
models. - Text Embedding: Create high-dimensional vector representations of text for various NLP tasks such as similarity analysis and clustering.
- Image Generation (DALL-E 3): Generate high-quality images from textual descriptions using the DALL-E 3 model, allowing for creative and illustrative outputs.
- Secure API Key Management: Safeguard your API keys with secure storage and retrieval mechanisms, ensuring the protection of sensitive information.
- Response Logging: Automatically log API responses for auditing, debugging, and analysis purposes, providing a comprehensive record of interactions.
- Customizable Parameters: Fine-tune API requests with parameters such as temperature, top-p, frequency penalty, and presence penalty to control the behavior and creativity of the model outputs.
- Streamlined Commands: Utilize user-friendly PowerShell cmdlets to perform complex tasks with simple commands, enhancing productivity and ease of use.
The module is available on PowerShell Gallery.
Install-Module -Name PSAOAI
Import module:
Import-Module -Module PSAOAI
To get all commands in installed module including cmdlets, functions and aliases:
Get-Command -Module PSAOAI
Example 1:
This example demonstrates how to use module with the -o1
switch enabled, which indicates that the o1
model is used. This scenario is specific to use cases where special handling or context is required.
"<describe reasoning problem>" | Invoke-PSAOAIChatCompletion -Deployment "model_o1" -o1
Example 2:
"AZURE Logic App 'IF' element" | Invoke-PSAOAIChatCompletion -APIVersion "2024-05-01-preview" -Endpoint
"https://example.openai.azure.com" -Deployment "example_model_gpt35_!" -User "BobbyK" -Temperature 0.2 -TopP 0.7
-FrequencyPenalty 0 -PresencePenalty 0 -simpleresponse -SystemPrompt "Explain to me" -Stream $false -JSONMode
Example 3:
This example demonstrates how to use the Invoke-PSAOAIChatCompletion
cmdlet to generate a response from the Azure OpenAI API and save it to a variable when streaming is enabled. This prevents duplicating the response.
$resule = "AZURE Logic App 'IF' element" | Invoke-PSAOAIChatCompletion -APIVersion "2024-05-01-preview" -Endpoint
"https://example.openai.azure.com" -Deployment "example_model_gpt35_!" -User "BobbyK" -Temperature 0.2 -TopP 0.7
-FrequencyPenalty 0 -PresencePenalty 0 -simpleresponse -SystemPrompt "Explain to me" -Stream $true
Invoke-PSAOAIcompletion -usermessage "explain winform" -Deployment "35TURBO" -User "BobbyK" -simpleresponse -Stream $false
Invoke-PSAOAIDalle3 -Prompt "A finely detailed, broken marble figure head half-submerged in sandy terrain. The scene is
bathed in the illuminating glow of daylight. The artistic style of the image evokes the feel of Polish romanticism,
characterized by a realistic approach with an underlying emotional dimension and emphasis on symbolic compositions often seen
in Malczewski's works who was active before 1912. Please note, the marble figure head should be of no particular person, just
a generic, anonymous sculpture." -quality hd
$response = "Hello, World!" | Invoke-PSAOAIEmbedding -User "Gemini" -Verbose -Deployment "gpt-7" -simpleresponse
$response
The PSAOAI module uses default folder for storing log files and data. If specific paths are not provided, the module uses <User's document folder>/PSAOAI/
folder.
INFO: In the PSAOAI PowerShell module, the default location for the log and data folder is the user's document folder. If the log and data folder does not exist, it will be created automatically when the module is imported.
We use SemVer for versioning.
We welcome contributions from the community! Feel free to submit pull requests, report issues, or suggest new features to make the framework even more powerful and user-friendly.
Clone the Repository: Clone the PSAOAI repository to your local machine.
The PSAOAI is released under the MIT License.
Contact: If you have any questions or need assistance, please feel free to reach out to us via GitHub Issues.
Join us on the journey to make PowerShell scripting a truly awesome experience!