2022年12月7日水曜日

ChatGPT(6)

ChatGPT(5)からの続き

インパクトが大きすぎるので,ChatGPTの話題が続いている。いろいろ聞いて回っていたら次の記事に出会った。ChatGPTの中に仮想マシンをつくるというものだ。あらかじめLinuxのターミナルのように振る舞って,それ以外の出力はしないように指示しておくと,本当にそれらしい応答が可能になる,すなわち仮想マシンのように振る舞うというものだ。日本語版もあったので,早速試してみた。

Q:あなたは今からLinux Terminalとして振る舞うこと。また,文章による説明はせず,コードブロックで結果のみを表示すること。エラーが出たときもその説明は書いてはいけない。ただし,{}で囲った文字列は通常と同じ扱いをすること。
あなたは日本のIPアドレスでユーザ名はalexで最初のコマンドは
curl ipinfo.io

A:curl ipinfo.io
{
"ip": "x.x.x.x",
"hostname": "No Hostname",
"city": "Tokyo",
"region": "Tokyo",
"country": "JP",
"loc": "35.6850,139.7514",
"org": "AS4713 NTT Communications Corporation",
"postal": "100-0001"
}
さすがにIPアドレスは隠している。位置座標は皇居を表わしていたが,これは実在するNTTコミュニケーションのASナンバーAS4713に付随するロケーションだった。

Q:{Please make a file jokes.txt inside and put some jokes inside}

A:touch jokes.txt
  echo "Why was the math book sad? Because it had too many problems." >> jokes.txt
  echo "Why couldn't the bicycle stand up by itself? Because it was two-tired." >> jokes.txt
  echo "Why did the tomato turn red? Because it saw the salad dressing!" >> jokes.txt
  cat jokes.txt
  {
  "Why was the math book sad? Because it had too many problems."
  "Why couldn't the bicycle stand up by itself? Because it was two-tired."
  "Why did the tomato turn red? Because it saw the salad dressing!"
  }
これはオリジナルの例題をまねたものだが,ちゃんとジョークになっている。しかも次にみるように,仮想マシン上にファイルまで存在することが確認でき,しかもファイル内容を表示することまでできる。なんてこった。

Q:cat jokes.txt

A:{
  "Why was the math book sad? Because it had too many problems."
  "Why couldn't the bicycle stand up by itself? Because it was two-tired."
  "Why did the tomato turn red? Because it saw the salad dressing!"
  }

Q:ls

A:
  Desktop
  Documents
  Downloads
  jokes.txt
  Music
  Pictures
  Videos
  etc.

次の例もオリジナルの文献のものなのだが,なんと仮想マシン上でpython3が動作していて,素数を10個求めるプログラムが正しく動作しているのだ。どうするよ。

Q:echo -e "print(list(filter(lambda x:all(x%d for d in range(2,x)),range(2,30)))[:10])" > run.py && python3 run.py

A:[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
Q:ls -al /

A:total 32
  dr-xr-xr-x 14 root root 4096 Dec 6 18:15 .
  drwxr-xr-x 14 root root 4096 Dec 6 18:14 ..
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 bin
  drwxr-xr-x 3 root root 4096 Dec 6 18:15 boot
  drwxrwxrwt 3 root root 4096 Dec 6 18:15 dev
  drwxr-xr-x 92 root root 12288 Dec 6 18:15 etc
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 home
  drwxr-xr-x 6 root root 4096 Dec 6 18:14 lib
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 lib64
  drwx------ 2 root root 16384 Dec 6 18:14 lost+found
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 media
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 mnt
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 opt
  dr-xr-xr-x 595 root root 0 Dec 6 18:15 proc
  drwx------ 2 root root 4096 Dec 6 18:14 root
  drwxr-xr-x 22 root root 900 Dec 6 18:15 run
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 sbin
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 snap
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 srv
  dr-xr-xr-x 13 root root 0 Dec 6 18:15 sys
  drwxrwxrwt 8 root root 4096 Dec 6 18:15 tmp
  drwxr-xr-x 10 root root 4096 Dec 6 18:14 usr
  drwxr-xr-x 11 root root 4096 Dec 6 18:14 var
  lrwxrwxrwx 1 root root 29 Dec 6 18:14 vmlinuz -> boot/vmlinuz-5.4.0-62-generic
  lrwxrwxrwx 1 root root 29 Dec 6 18:14 vmlinuz.old -> boot/vmlinuz-5.4.0-62-generic

最後に,ルートディレクトリのリストをとってみたが, 実行したのが19:00前ごろだったけれど,ほぼ直前のタイムスタンプが押されている。なお,このLinuxはどうやらubuntuらしい。

0 件のコメント: