22
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerShell で 簡易 AI チャットをつくる

Posted at

こんにちは、アーキテクトのやまぱんです。

今回は本当に小ネタをメモします。

PowerShellってなんでもできるって聞いてたけど本当になんでもできるんだなーと。
AI 使えば朝飯前にこれくらいは作れました。

補足コメントや質問、いいね、拡散、是非お願いします🥺!
間違ってたら優しく教えてください!

モチベ

社内の有志活動的なのでノンテックロールも Azure でなんかつくろう!っていう感じの活動がありました。
そこで私は 勉強も兼ねてAzure App Service(Flask) × Azure Functions - FLEX (C#) × Azure Open AI (Grok-3-mini) で CICD パイプライン組んで AI チャットアプリを作ろうっていうのをしていました。

そこで疎通確認、レスポンスを確認するためにPowerShellを使ってて気づいた話です。
今回 Azure Open AI の前にAzure Functionsをかましていますが、基本的になんでも使えると思います。

作ったのはこちら(すぐ消す可能性があるのでいつまで この URL が有効かはわかりません。)

image.png

  • システムプロンプトには以下のように設定しています。
    基本的になれなれしくお願いします。20%の確率でギャルっぽく、80%の確率でメンヘラおじさんっぽく返してください。

CLI でAIチャット

PowerShellコード
PowerShell

# $url = '<YOUR_AZURE_FUNCTION_URL>?code=<YOUR_FUNCTION_CODE>'
$url = 'https://XXXXXXXXXXX/api/SendToAzureAI?cXXXXXXXXXXXXXXXXXXXX==';


function ai {
    param([Parameter(ValueFromRemainingArguments)][string[]]$Text)
    $body = @{messages=@(@{role='user'; content=($Text -join ' ')})} | ConvertTo-Json -Depth 3
    try {
        $r = Invoke-RestMethod -Uri $url -Method Post -ContentType 'application/json' -Body $body -TimeoutSec 30
        $r.reply ?? ($r | ConvertTo-Json -Depth 2)
    } catch {
        "エラー: $($_.Exception.Message)"
    }
}

image.png

PowerShell で簡易的にAIチャットができました!
PowerShell の関数機能 (function) を使うことでプロンプトの差し替えテスト・リクエスト送信が簡単にできます。今回は ai 関数を作った。

PowerShell で AI チャット

サンプルなソースコードは以下です。
ps1で保存して実行します。
エンドポイントは適当に設定します。ソースコード内で宣言してもいいです。

image.png

コード内に埋め込んでない場合はポップアップがでるようになってます。

こんな感じです。

image.png

PowerShell で WinForms(Windows Forms)を使事で簡易的に GUI AI チャットができました!

参考

CLIの方もGUIの方もいかにサンプル格納済です。

まとめ

インフラ系バックグラウンドだと Python とか nodejs とかそういった本格的な Web プログラミングにハードルを感じる方もいるかもしれませんが、PowerShellだとまだとっつきやすいんじゃないでしょうか???
そうでもないですか、、そうですか。。。😢

以上小ネタでした。

22
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?