C#.netの開発を自動化する「Simple Agent」
- Digital100 JPY

llama.cpp サーバー起動マニュアル ・本エージェントは、 裏側で動いている llama.cpp のサーバーと通信して思考します。 ・本エージェントを起動する前に、 コマンドプロンプト(またはPowerShell)で 以下の手順に沿ってサーバーを立ち上げておく必要があります。 (1)基本の起動コマンド ・最もシンプルにサーバーを起動するコマンドは以下の通りです。 (※最近の llama.cpp では 実行ファイル名が llama-server.exe になっています。 古いバージョンの場合は server.exe の場合があります。) llama-server.exe -m "モデルのパス.gguf" --port 8080 copy -m "モデルのパス.gguf": ・使用するGGUF形式のモデルファイルを指定します。 (例: -m C:\Models\Llama-3-8B-Instruct.Q4_K_M.gguf) --port 8080: ・サーバーのポート番号です。 ・今回のC#コードで http://localhost:8080 を指定しているため、 必ず 8080 にしてください。 (2)自律型エージェント向けの推奨コマンド(GPUフル活用) ・エージェントに自律ループを回させると、 過去のやり取り(コンテキスト)がどんどん蓄積していきます。 ・そのため、コンテキストサイズを大きめに取り、 GPUに処理を任せて高速化するのが実用的な使い方です。 ・以下のコマンドでの起動を強くおすすめします。 llama-server.exe -m "モデルのパス.gguf" --port 8080 -c 8192 -ngl 99 copy 💡 重要なオプションの解説 -c 8192 (Context Size / コンテキストサイズ): …AIが一度に記憶できるトークン(文字数)の上限です。 デフォルト(512など)だとすぐに記憶喪失になってエラーになるため、 エージェント用には 4096 や 8192 程度を指定しておくのが安全です。 -ngl 99 (Number of GPU Layers / GPUオフロード): …モデルの計算をどれだけGPU(グラフィックボード)に 任せるかの設定です。 PCパーツやハードウェアの知識をお持ちのユーザー環境であれば、 GPUのVRAMにモデルを乗せることで爆発的に推論速度が上がります。 99 を指定すると「可能な限りすべてGPUに乗せる」 という意味になります。 (3)動作確認の方法 ・サーバーを起動すると、コマンドプロンプトの画面に 以下のようなログがズラーっと流れ、 最後に次のような表示が出れば準備完了(待機状態)です。 llama_server_start: HTTP server listening on 127.0.0.1:8080 copy ・この状態になったら、 この黒い画面(コマンドプロンプト)は閉じずに そのまま開いておいてください。 (閉じるとAIの頭脳が死んでしまいます) (オプション)本当に動いているかテストする ・ブラウザを開いて http://localhost:8080 にアクセスしてみてください。 ・llama.cpp の簡易的なチャットUI画面が表示されれば、 サーバーは完璧に動作しています。 (4)エージェントアプリとの連携手順 ・コマンドプロンプトで 上記の llama-server.exe ... コマンドを実行し、 サーバーを待機状態にする。 ・Visual Studioに戻り、 先ほど完成させた C# の自律型エージェントアプリ (Form1)を起動(F5キー)する。 ・アプリのテキストボックスに指示 (例:「test.txt というファイルを作って」) を入力して送信ボタンを押す。 ・C#アプリからリクエストが飛ぶと、 裏で開いているllama-serverの画面に 「思考中のログ」がババババッ!と流れます。 ・思考が終わると、C#アプリ側に実行結果が返ってきます。
