前回の記事では、LM Studioとgpt-ossを使ったチャット機能を試した。有償のクラウドサービスを契約せずとも、「OpenAI o3-mini」と同等以上の性能を発揮しつつ、プライバシーに配慮した活用ができる点は非常に魅力的だ。
しかし、gpt-ossはチャット機能以外にも活用方法がたくさん用意されており、活用の幅を大きく広げる可能性を秘めている。
前回を基本編の立ち位置としてみると、今回の記事は応用編となるが、手順を1つずつ解説していくので、ぜひローカルLLMの世界に飛び込むきっかけにして欲しい。
【第1回】手元にゲーミングPCがあれば、オフライン環境でも生成AIが利用できるってホント? ローカルLLM(大規模言語モデル)導入を解説
|
|
【第2回】手元にあるゲーミングPCを活用して生成AIを動かす! 無料で使える「LM Studio」のキホンを解説
●gpt-ossにWeb検索機能を追加して、最新の情報を活用する
開発者がAIモデルを作成する場合、膨大な情報を学習させる。できれば最新のデータをギリギリまで入れ込みたいところだが、モデルを世間に公開するにあたり、学習データの最終収集日は決まっている。これをナレッジカットオフと呼ぶ。
よってナレッジカットオフ以降のデータや情報は学習されていないため、最新の情報については認識できず、あくまで推論することしかできない。
試しにgpt-oss-20bを読み込んで、「あなたはWeb上のデータを検索できますか?」とプロンプトを実行してみたところ、リアルタイム検索には対応しておらず、ナレッジカットオフが2024年6月であることが分かる。
|
|
加えてWeb上のデータをリアルタイムで検索できない。例えば下記のプロンプトを実行してみよう。
「https://www.itmedia.co.jp/pcuser/articles/2509/01/news023.htmlは筆者が以前執筆したMINISFORUMのミニワークステーション『MS-A2』について紹介した記事です。ページ内容を要約して特徴を教えてください。」
すると、URL先を読み込んで要約したような結果が出力されるが、よく見ると発売時期が2023年初頭だったり、搭載CPUをAMD Ryzen 9 9955HXではなく、AMD Ryzen 5 5500Uと回答したりと、でたらめな情報が表示されてしまう。
gpt-oss-20bの推論パフォーマンス自体はo3-miniに匹敵するため、普段使いであれば十分な推論を実施できるものの、可能であればWeb検索も組み合わせて正確な回答を出力して欲しいのが正直なところだ。
そんな弱点を補う仕組みとして、「Model Context Protocol」(MCP)と呼ばれる、外部データソースやツールと接続するための標準プロトコルが用意されている。
|
|
LM Studioには、このMCPを利用するためのMCPサーバ機能が用意されており、ユーザーが簡単にLM Studioの機能を拡張できるようになっている。
そこで、最新の情報を検索して推論に利用できるようになる「Web Search MCP Server」を導入し、正しい情報が生成できるようにしてみよう。
●Web Search MCP Serverを利用するための事前準備
Web Search MCP Serverは導入にあたり、Node.jsとnpmの導入が必要となる。まずはNode.jsの導入を簡易化できる「NVM for Windows」をインストールしよう。
上記、GitHubリポジトリのReleaseページから、最新の「nvm-setup.exe」をダウンロードして実行し、NVM for Windowsをインストールする。
インストール後にPowerShellを立ち上げて、「nvm list available」コマンドを実行すると、現在インストールできるNode.jsのバージョン一覧が表示される。
Web Search MCP Serverは、Node.js 18.0.0より新しいバージョンが必要なので、今回はLTS(長期サポートバージョン)の最新バージョンである「22.19.0」を利用するため、下記のコマンドを実行して導入しよう。
nvm install 22.19.0
nvm use 22.19.0
●Web Search MCP Serverのインストール
事前準備が完了したら、続いてWeb Search MCP ServerのGitHubリポジトリの最新版をgitコマンドを使って取得しよう。なお、gitコマンドを実行してエラーが発生する場合、winget install gitを実行し、Git for Windowsをインストールしてから再度実施して欲しい。
また、事前にWeb Search MCP Serverを導入するフォルダーを作成してから実行する必要があるので注意が必要だ(例ではC:\workを指定)。
cd C:\work
git clone https://github.com/mrkrsl/web-search-mcp.git
続いて、下記コマンドを実行してWeb Search MCP Serverをインストールしよう。
npm audit fix
npm install
npx playwright install
npm run build
最後に「TypeScript compilation complete: dist/index.js'」と表示されれば導入は完了だ。
●LM StudioとWeb Search MCP Serverを接続する
ここまで完了したら、LM StudioとWeb Search MCP Serverを接続し、gpt-oss-20bでWeb検索できるように設定しよう。
前回、LM Studioを導入した際は、初めての利用を想定して「ユーザーインタフェースの複雑さレベル」を「ユーザー」に指定していたが、MCP Serverを利用する場合、「パワーユーザー」への変更が必要なので、LM Studioの設定画面から変更しよう。
設定が完了したら、チャットインタフェースを開いた後、画面右上の「スパナアイコン」をクリックし、「Program」→「Install」→「Edit mcp.json」の順にクリックしよう。
すると上図の通り、MCP Serverを利用する際の注意事項が表示される。MCP Serverは便利な反面、PC上での操作が自動化されることもあって、危険な物も中には存在しており、信頼できない物は利用しないように注意を促してくれる機能だ。
今回はEDRを導入している筆者の環境でも特に問題ないことを確認しているため、「Got it」をクリックする。
「mcp.json」という設定ファイル編集画面が表示されるので、下記の例の通り記載した上で「Save」をクリックしよう。
なお、Windowsはフォルダーパスの区切りとして「\」マークを利用しているが、mcp.json内では「\」を「/」に置き換えて設定して欲しい。
{
"mcpServers": {
"web-search-mcp": {
"command": "C:/nvm4w/nodejs/node.exe",
"args": [
"C:/work/web-search-mcp/dist/index.js"
],
"cwd": "C:/work/web-search-mcp"
}
}
}
無事追加が完了すると、画面右下に「MCP Server Added!」と表示されるので、画面左上のチャット一覧から、先ほど開いたチャットインタフェースをクリックしよう。
もしエラーが発生した場合は、それぞれのフォルダパスが合っていることや、フォルダパスの区切り文字が「/」に書き換えられているか、再度確認してほしい。
●gpt-oss-20bにWeb検索機能が追加されたかチェック!
ここまで完了したら、チャットインタフェース画面右上の「スパナアイコン」→「Program」→「mcp/web-search-mcp」の有効化ボタンをクリックし、Web Search MCP Serverと接続すれば準備完了だ。
再度、「https://www.itmedia.co.jp/pcuser/articles/2509/01/news023.htmlは筆者が以前執筆したMINISFORUMのミニワークステーション「MS-A2」について紹介した記事です。ページ内容を要約して特徴を教えてください。」というプロンプトを実行すると、上図の通り「mcp/web-search-mcp」を実行して良いか確認するメッセージが表示されるので、「Proceed」をクリックしてみよう。
なお、Web Search MCP Serverの実行を確認無しで実行したい場合は「Always allow any tool from mcp/web-search-mcp」にチェックを入れ、「Proceed」をクリックするといいだろう。
●うまく動作しない場合はコンテキスト長を増やそう
しかし、記事の内容取得の無限ループに陥ってしまった。これは、LM Studioで設定できるコンテキスト長と呼ばれる、LLMが一度に処理または記憶できるテキスト量が足りず、無限ループに陥ってしまっている。
コンテキスト長の設定変更は、一度gpt-oss-20bの読み込みを解除する必要があるので、画面上部の「Eject」をクリックしよう。
再度gpt-oss-20bを読み込むのだが、その際に「モデル読み込みパラメータを手動で選択」のスライドボタンをクリックしてから「OpenAI’s gpt-oss-20B」をクリックしてみよう。
すると「コンテキスト長」を設定できる部分が表示されるので、デフォルトの4096から8192に変更し、「モデルを読み込む」をクリックしよう。
コンテキスト長を変更してから再度先ほどのプロンプトを実行してみると、今度は正常に記事内容を要約できた。
●最新情報を利用できる反面、メモリ使用量が増えるデメリットも
Web Search MCP Serverを利用すれば、gpt-oss-20bで最新のデータを使った処理ができることが分かった。
しかし、コンテキスト長を増やすとその分メモリの使用量が増えてしまうことや、回答が生成されるまでに時間が多くかかってしまうデメリットもあるのがたまにきずだ。
とはいえ、有償のクラウドサービスを契約せずとも、gpt-oss-20bとWeb検索を組み合わせられる点は大きい。Gpt-oss-20bを使っている際に、おかしいなと感じた際は、Web Search MCP Serverの導入も検討してみると良いだろう。
|
|
|
|
Copyright(C) 2025 ITmedia Inc. All rights reserved. 記事・写真の無断転載を禁じます。
掲載情報の著作権は提供元企業に帰属します。
AIによる概要めぐりGoogleを提訴(写真:ITmedia NEWS)33
AIによる概要めぐりGoogleを提訴(写真:ITmedia NEWS)33