何回か同じようなタイトルで書いていますが,今回はLLMを利用する上での採点補助サーバーです。
採点補助サーバーとは何を言っているかというと,具体的な採点のみを担当して,採点結果の記録などはとらないサーバーのことです。LMS から来たリクエストを最初に受けるのが kanaike というサーバーです。kanaike は採点の差配と記録と返事を担当します。以前に書いた絵ですが,下記のような連携です。
実際の採点処理,数式の正誤判定とかですが,それは kanaike とは別のサーバーで担当します。別に分けた理由は,将来的に AI 的な処理をする場合にビデオカードなどのハードを利用する必要があるだろうと予想したためです。kanaike は仮想で運用されてます。デフォルトの採点処理担当は仮想で用意しますが,これには最大公約数的な共通する採点機能を置く感じです。その上で別の採点処理担当のサーバーを用意することになるのではないかと考えました。こうしておけば,それぞれの教師の手近なところでカスタマイズされた採点処理が可能となります。手近なところになければ,カスタマイズは難しいですし,またデフォルトが別に稼働していますので,安定性を検証する必要もそれほどありません。他の人への迷惑を考える必要がありませんから。こういったことを考えて,具体的な採点処理を kanaike から外しました。
話が長くなりそうですが,このような外部に置く採点サーバーでは,最初は機械学習的なものの利用を考えていました。そうすると採点の機能ごとに個別の重み(パラメータ)などが必要です。それもあって,教師の手近に置いた方が良いと考えていたのですが,最近の言語モデルなら,プロンプトに書く内容で,その機能を変化させることが可能なようです。そうであればある程度汎用品が見えてくるのかもしれません。おそらく一台では難しいので下図のように複数台で構成されるサーバー群になりそうです。一台の仕切るサーバー(仮想)とその周りに ollama か何かが動く複数台のサーバー(物理サーバー)を想定しています。
一台の仕切るサーバーが仮想なのは,このサーバーは特殊なものなのでサンプルをこちらで用意しておいてコピーを配布するためです。ollama が動くサーバーは一般的な構成で考えています。ともかく LLM を利用する採点補助サーバー群の構築のために,この仕切る仮想サーバーの構築作業をまとめます。と言ってもインストール手順のようなものだけで,そこで差配したり採点処理をするソフトの話は除きます。
さて,始めます。OS は ubuntu 24 です。最初に synaptic を入れました。それを使って git を入れます。
apacheインストールです。
sudo apt install apache2
phpのインストールです。
sudo apt install php
phpinfoコマンドを試す。
<?php
phpinfo();
?>
upload ファイルサイズ等の変更。/etc/php/8.3/apache2/php.ini の編集。apache の再起動。
post_max_size = 大きな値
upload_max_filesize = 大きな値
max_execution_time = 大きな値

