見出し画像

Open-InterpreterをInfraGPT構築に使うための考察。(InfraGPT構築記録v3)

過去にInfraGPT構築のノートを書いてから月日がだいぶ経ってしまいました。過去2回分の記録に興味がある人は、以下から読んでいただければと思います。各回で独立して構築できます。



最近、Open-Interpreterが登場してきましたので、このOpen-Interpreterを使用してInfraGPTを構築できないかの考察を今回は書いていきます。

Open-Interpreterの使い方については、下記の記事を読んでいただければ幸いです。


前提として、自PC上にopen-interpreterをインストールして、インフラ観点から必要なことができるか確認します。本当は、Windows Serverにopen-interpreterをインストールして実行するのが面白いと思いますが、PoC的に出来るのかどうかをPC環境で実現可能性を検討してみます。

自PCで下記コマンドを実行します。

python -m venv venv
venv\Scripts\Activate.bat
pip install open-interpreter

次にどこに、open-interpreterの実行ファイルが配置されたかを確認するために、以下で確認します。

where open-interpreter

私の場合は、下記が出力されました。

D:\Python\65.openinterpreter\venv\Scripts\interpreter.exe

次に、Open-Interpreterを実行します。実行時は、whereで出力された絶対パスのinterpreter.exeを打ちます。

D:\Python\65.openinterpreter\venv\Scripts\interpreter.exe

実行すると、OpenAI API key:と表示されて、OpenAI APIキーを入力するところが表れますので、sk-から始まるAPIキーを入力します。

すると、>と表示されて、ここに様々なことを書いていくことになります。


さて、インフラ観点からどのようなことを知りたいか考えてみました。

  • CPU、メモリ、ディスク使用率

  • セキュリティパッチの適用状況

  • イベントログでシステムログのエラー状況

  • DNS参照先

  • タスクリスト


順番に、見て行きます。

1.CPU、メモリ、ディスク使用率

> I want to know the usage of cpu, memory, disk in this PC.


実行過程


実行結果


CPU、メモリ、ディスク使用率を知りたいと聞いたら、きっちりと回答してくれました。


2.セキュリティパッチの適用状況

このPCにおけるセキュリティパッチについて知りたいと聞いてみました。

>  I want to know security patch in this PC.


実行過程


実行結果

きっちりとKB番号といつ適用されたかの情報を表示してもらえています。


3.イベントログでシステムログのエラー状況

インフラを意識するのなら何かあったときは、イベントログを見ます。イベントログのシステムログで、エラーがあるかどうか確認してみます。

> I want to know the error log in system log in eventlog.


実行過程

実行結果は、以下の通りになりました。少し情報を削っています。

The most recent error log in the System log of the Event Viewer is as follows:

   • Log Name: System
   • Source: Microsoft-Windows-DistributedCOM
   • Date: 2023-09-15
   • Event ID: 10010
   • Level: Error
   • User: DESKTOP
   • Computer: DESKTOP-FHS8FJI
   • Description: The server {} did not register with DCOM within the required timeout.

聞き方次第できっちりとイベントログを抽出してくれる感じがします。また、今回お金の関係上、gpt-3.5-turboを利用してopen-intepreterを実行していますので、gpt-4だともう少し精度があがると考えられます。


4.DNS参照先

DNS参照先がどこになっているのか聞いてみます。

> I want to know DNS Server in this PC.


実行過程

実行結果は、以下となります。DNSサーバ情報を表示のために削除していますが、正確に表示されています。

  The DNS servers for your machine are as follows:

   1 For the Ethernet adapter Ethernet:
      • DNS Servers: 
   2 For the Ethernet adapter VMware Network Adapter VMnet1:
      • DNS Servers: 
   3 For the Ethernet adapter VMware Network Adapter VMnet8:
      • DNS Servers: 
   4 For the Wireless LAN adapter Wi-Fi:
      • DNS Servers: 

  Please note that the DNS servers starting with "" are IPv6 addresses.


5.タスクスケジューラのタスクリスト

タスクスケジューラのタスクを表示してみようと思います。

>I want to know task lists in task scheduler.

大量にタスクが表示されてしまいましたので、途中でCtrl-zで停止しました。

実行結果は、以下の通りです。

  Here are some of the tasks in the Task Scheduler on your PC:

   1 Task: \Microsoft\Windows\Work Folders\Work Folders Maintenance Work
      • Next Run Time: N/A
      • Status: Ready
      • Logon Mode: Interactive/Background
   2 Task: \Microsoft\Windows\Workplace Join\Automatic-Device-Join
      • Next Run Time: N/A
      • Status: Disabled
      • Logon Mode: Interactive/Background
   3 Task: \Microsoft\Windows\Workplace Join\Device-Sync
      • Next Run Time: N/A
      • Status: Disabled
      • Logon Mode: Interactive/Background
   4 Task: \Microsoft\Windows\Workplace Join\Recovery-Check
      • Next Run Time: N/A
      • Status: Disabled
      • Logon Mode: Interactive/Background
   5 Task: \Microsoft\Windows\WwanSvc\NotificationTask
      • Next Run Time: N/A
      • Status: Ready
      • Logon Mode: Interactive/Background
   6 Task: \Microsoft\Windows\WwanSvc\OobeDiscovery
      • Next Run Time: N/A
      • Status: Disabled
      • Logon Mode: Interactive/Background
   7 Task: \Microsoft\XblGameSave\XblGameSaveTask
      • Next Run Time: N

実行時間とか有効になっているもののみ表示するように指示すれば良かったと思いました。


所感

全体の所感としては、今回PCで実行しましたが、Windows Serverにopen-interpreterを導入して実行してみるとそれなりの結果が得られるだろうと実感しました。次回はWindows ServerにOpen Interpreterを導入して実行結果を試してみたいです。また、自然言語で各OSの状況を把握することができるのは非常に面白いです。

但し、自然言語だと実行過程のバラつきが発生してしまうので、このバラつきに対してどう考えるかがポイントです。バラつきとは、ディスクサイズを見たいと言ったときに、GBで表示かMBで表示かとかの場合が発生することです。

この記事が気に入ったらサポートをしてみませんか?