Welcome to the PowerShell Artificial Intelligence repository! Here, you will find a collection of powerful PowerShell scripts that will enable you to easily integrate AI into your projects and take them to the next level. Imagine being able to interact directly with OpenAI's GPT AI with just a few simple commands. With this module, it's now possible.
By using this module, you'll have the ability to add cutting-edge AI functionality to your projects without needing to have a deep understanding of the underlying technology. This means you can stay focused on what you do best while still being able to work with the latest and greatest.
In the PowerShell console:
Install-Module -Name PowerShellAI
Get/Create your OpenAI API key from https://beta.openai.com/account/api-keys and then set $env:OpenAIKey
.
Check out these PowerShell scripts to see how easy it is to get started with AI in PowerShell:
PS Script | Description | Location |
---|---|---|
Disable-AIShortCutKey | Disable the ctrl+g shortcut key go getting completions | Disable-AIShortCutKey.ps1 |
Enable-AIShortCutKey | Enable the ctrl+g | Enable-AIShortCutKey.ps1 |
Get-GPT3Completion | Get a completion from the OpenAI GPT-3 API | Get-GPT3Completion.ps1 |
Here are some vidoes of PowerShellAI
in action:
Description | YouTube Video |
---|---|
Quick Demo of PowerShellAI | |
Using PowerShell with OpenAI GPT in the console with a shortcut key | |
PowerShell AI - copilot at the command line |
|
PowerShell AI - new ai function |
Note: You can use the
gpt
alias forGet-GPT3Completion
Get-GPT3Completion "list of planets only names as json"
[
"Mercury",
"Venus",
"Earth",
"Mars",
"Jupiter",
"Saturn",
"Uranus",
"Neptune"
]
Get-GPT3Completion "list of planets only names as xml"
<?xml version="1.0" encoding="UTF-8"?>
<planets>
<planet>Mercury</planet>
<planet>Venus</planet>
<planet>Earth</planet>
<planet>Mars</planet>
<planet>Jupiter</planet>
<planet>Saturn</planet>
<planet>Uranus</planet>
<planet>Neptune</planet>
</planets>
Get-GPT3Completion "first 5 US presidents and terms as markdown table"
| President | Term |
|----------|------|
| George Washington | 1789-1797 |
| John Adams | 1797-1801 |
| Thomas Jefferson | 1801-1809 |
| James Madison | 1809-1817 |
| James Monroe | 1817-1825 |
Copy and pasted into this README.md:
President | Term |
---|---|
George Washington | 1789-1797 |
John Adams | 1797-1801 |
Thomas Jefferson | 1801-1809 |
James Madison | 1809-1817 |
James Monroe | 1817-1825 |
The ai
function calls that allows piping
and prompting
text. This is useful for chaining commands together.
ai "list of planets only names as json"
[
"Mercury",
"Venus",
"Earth",
"Mars",
"Jupiter",
"Saturn",
"Uranus",
"Neptune"
]
ai "list of planets only names as json" | ai 'convert to xml'
<?xml version="1.0" encoding="UTF-8"?>
<Planets>
<Planet>Mercury</Planet>
<Planet>Venus</Planet>
<Planet>Earth</Planet>
<Planet>Mars</Planet>
<Planet>Jupiter</Planet>
<Planet>Saturn</Planet>
<Planet>Uranus</Planet>
<Planet>Neptune</Planet>
</Planets>
ai "list of planets only names as json" | ai 'convert to xml' | ai 'convert to powershell'
[xml]$xml = @"
<?xml version="1.0" encoding="UTF-8"?>
<Planets>
<Planet>Mercury</Planet>
<Planet>Venus</Planet>
<Planet>Earth</Planet>
<Planet>Mars</Planet>
<Planet>Jupiter</Planet>
<Planet>Saturn</Planet>
<Planet>Uranus</Planet>
<Planet>Neptune</Planet>
</Planets>
"@
$xml.Planets.Planet
Pipe the output of git status
to ai
to create a commit message.
git status | ai "create a detailed git message"
Commit message:
Added PowerShellAI.psd1, README.md, changelog.md, and Public/ai.ps1 to dcf-spike-piping-to-ai-function branch. Updated PowerShellAI.psd1 and README.md with new changes. Added changelog.md to track changes. Added Public/ai.ps1 to enable piping to AI function.
Thank you to Clem Messerli for posting a great prompt to show copilot
in action.
Check out the video of copilot
in action