C#からローカルLLMを実行する方法。LM Studioのサーバー機能を使って無料でAI活用
ローカルLLMでAIを対話するにはLM Studioを利用すると簡単に体験できます。

こちらからダウンロードできます。

LM Studioのサーバー機能
LM Studioにはサーバー機能があり、これを活用するとプログラムからAPIを呼び出して実行できます。

設定のローカルサーバー(Local Server)でStatusをRunningにするとプログラムからhttp://127.0.0.1:1234へアクセスできるようになります。
C#では以下のように書くと普通に実行できるようになります。
NugetからHigLabo.OpenAIを追加して以下のようなコードを書くと実行できます。
var cl = new OpenAIClient(new LocalhostSettings("http://127.0.0.1:1234/v1"));
var message = "微分積分について説明してください";
try
{
var p = new ResponseCreateParameter();
p.Model = "llm-jp-4-32b-a3b-thinking";
p.AddUserMessage(message);
var result = new ResponseStreamResult();
await foreach (var text in cl.ResponseCreateStreamAsync(p, result, CancellationToken.None))
{
Console.Write(text);
}
var res = result.Response;
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
WEB検索やMCPサーバーの呼び出しはまだ非対応のようです。
Saasと連携して安全なAI活用
一部の業種ではセキュリティの関係でクラウドのAIの活用が難しいということがあります。そういった場合にSaas→WebSockets→ローカルLLMというアーキテクチャ設計でAIを活用できるするのはありかもしれません。HigLaboではASP.NET Core→SignalR→PC上でのC#→ローカルLLM呼び出しという設計で呼び出せる形をテスト中です。
この形のメリットは大きく二つで
・学習データとして利用されないことが保証される
・何度実行しても完全に無料
というのが大きなメリットになるでしょう。
今後数年でローカルLLMの賢さがさらにUPすることを考えると無料というのは大きなメリットがありそうです。普段のそこまで高度な思考を要求されないような処理(日付を抽出とか)はローカルLLMで十分なことも多く、お金をかけてOpenAIやGeminiなどのAIで処理させる必要はないでしょう。
まずは一部の簡単な処理をローカルLLMへ移行するのはありかもしれません。