実際のところ
ボディの設定
$body = @{
model = "llama3" # または選択したモデル名
prompt = "Tell me a short story about a robot learning to paint."
} | ConvertTo-Json
レスポンスの格納
$response = Invoke-RestMethod -Uri "http://localhost:11434/api/generate" -Method Post -ContentType "application/json" -Body $body
レスポンスの表示
# JSON文字列を行ごとに分割し、各行をJSONオブジェクトに変換
$jsonObjects = $response -split "`n" | Where-Object { $_ -ne "" } | ForEach-Object {
try {
$_ | ConvertFrom-Json
} catch {
Write-Warning "Invalid JSON: $_"
return $null
}
}
# "response"フィールドを抽出して連結
$fullText = $jsonObjects | Where-Object { $_ -ne $null -and $_.response } | ForEach-Object { $_.response } | Join-String
# テキストをフォーマット(ピリオドの後に2つの改行を挿入)
$formattedText = $fullText -replace '(\.\s)', "`$1`n`n"
# 結果を表示
Write-Host $formattedText