<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mistral  |  takeHo（たけほ）のへなちょこ台帳</title>
	<atom:link href="https://blog.takeho.com/tag/mistral/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.takeho.com</link>
	<description>いわゆる自由帳ってところです。</description>
	<lastBuildDate>Thu, 21 Aug 2025 09:55:27 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6</generator>

<image>
	<url>https://blog.takeho.com/wp-content/uploads/2024/08/icon-150x150.png</url>
	<title>Mistral  |  takeHo（たけほ）のへなちょこ台帳</title>
	<link>https://blog.takeho.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Linuxで始めるローカルLLM ― Ollama導入からPHPサンプル実行まで完全ガイド</title>
		<link>https://blog.takeho.com/getting-started-with-local-llm-on-linux-a-complete-guide-from-ollama-installation-to-php-sample-execution/</link>
					<comments>https://blog.takeho.com/getting-started-with-local-llm-on-linux-a-complete-guide-from-ollama-installation-to-php-sample-execution/#respond</comments>
		
		<dc:creator><![CDATA[たけほ]]></dc:creator>
		<pubDate>Thu, 21 Aug 2025 11:40:00 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[LLaMA]]></category>
		<category><![CDATA[Mistral]]></category>
		<category><![CDATA[Ollama]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[TinyLlama]]></category>
		<guid isPermaLink="false">https://blog.takeho.com/?p=1231</guid>

					<description><![CDATA[目次 まえがきサーバ環境の前提と推奨スペック推奨スペック（快適に動作させる場合）最低限の動作環境（軽量モデルを試す場合）スペック不足時の対応（スワップ設定）Ollamaの導入手順（Linux）インストール動作確認モデルの [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2"><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">まえがき</a></li><li><a href="#toc2" tabindex="0">サーバ環境の前提と推奨スペック</a><ol><li><a href="#toc3" tabindex="0">推奨スペック（快適に動作させる場合）</a></li><li><a href="#toc4" tabindex="0">最低限の動作環境（軽量モデルを試す場合）</a></li><li><a href="#toc5" tabindex="0">スペック不足時の対応（スワップ設定）</a></li></ol></li><li><a href="#toc6" tabindex="0">Ollamaの導入手順（Linux）</a><ol><li><a href="#toc7" tabindex="0">インストール</a></li><li><a href="#toc8" tabindex="0">動作確認</a></li></ol></li><li><a href="#toc9" tabindex="0">モデルの選択と導入</a><ol><li><a href="#toc10" tabindex="0">TinyLlama（軽量・テスト用）</a></li><li><a href="#toc11" tabindex="0">LLaMA 3 8B（実用的・汎用）</a></li><li><a href="#toc12" tabindex="0">Mistral 7B（高精度・実用向け）</a></li></ol></li><li><a href="#toc13" tabindex="0">PHPからOllamaを利用する</a><ol><li><a href="#toc14" tabindex="0">APIサーバの起動</a></li><li><a href="#toc15" tabindex="0">PHPサンプルコード（挨拶プログラム）</a></li></ol></li><li><a href="#toc16" tabindex="0">各モデルのまとめ</a><ol><ol><li><a href="#toc17" tabindex="0">参考情報</a></li></ol></li></ol></li><li><a href="#toc18" tabindex="0">おわりに</a><ol><ol><ol><li><a href="#toc19" tabindex="0">引用元</a></li></ol></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">まえがき</span></h2>



<p>近年、AIチャットサービスといえば <strong>ChatGPT</strong> が代表的な存在となっています。クラウド上のサーバで巨大な言語モデルが稼働し、ユーザーはインターネット経由でその恩恵を受ける仕組みです。<br>一方で「<strong>ローカル LLM</strong>」という言葉を耳にすることも増えてきました。これは文字通り「ローカル（自分のPCやサーバ）」で動かす <strong>大規模言語モデル（Large Language Model）</strong> のことを指します。つまり、ChatGPTのような高度なAIを、自分の環境で動かし、インターネットに依存せず利用できる仕組みです。</p>



<p>ローカルでLLMを動かすメリットは以下の通りです。</p>



<ul class="wp-block-list">
<li><strong>プライバシー性</strong><br>入力したデータが外部に送信されない</li>



<li><strong>柔軟性</strong><br>環境に合わせたモデル選択が可能</li>



<li><strong>コスト削減</strong><br>クラウド利用料を気にせず使える</li>
</ul>



<p>本記事では、代表的なローカル LLM 実行環境である <strong>Ollama</strong> をLinuxサーバへ導入し、PHPプログラムから「挨拶」を返す簡単なサンプルを動かすまでの手順を解説します。<br>さらに、サーバのスペックが不足する場合に有効な <strong>スワップ領域の設定</strong> についても紹介し、実用的に利用できるようにします。</p>



<h2 class="wp-block-heading"><span id="toc2">サーバ環境の前提と推奨スペック</span></h2>



<p>まずはサーバのスペックを確認します。LLMはメモリやCPUに大きな負荷をかけるため、環境によって動作可否が分かれます。</p>



<h3 class="wp-block-heading"><span id="toc3">推奨スペック（快適に動作させる場合）</span></h3>



<ul class="wp-block-list">
<li>CPU：8コア以上</li>



<li>メモリ：16GB以上</li>



<li>ストレージ：SSD 50GB以上</li>



<li>GPU：あれば望ましいが必須ではない</li>
</ul>



<h3 class="wp-block-heading"><span id="toc4">最低限の動作環境（軽量モデルを試す場合）</span></h3>



<ul class="wp-block-list">
<li>CPU：4コア</li>



<li>メモリ：8GB</li>



<li>ストレージ：SSD 20GB</li>
</ul>



<h3 class="wp-block-heading"><span id="toc5">スペック不足時の対応（スワップ設定）</span></h3>



<p>メモリが不足している場合は「スワップ領域」を確保することで、物理メモリの代わりにディスクを仮想メモリとして利用できます。</p>



<pre class="wp-block-code"><code># スワップファイルの作成（例：8GB）
sudo fallocate -l 8G /swapfile

# 権限設定
sudo chmod 600 /swapfile

# フォーマットして有効化
sudo mkswap /swapfile
sudo swapon /swapfile

# 永続化（/etc/fstabに追記）
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab</code></pre>



<p>これで、物理メモリが不足していても大きめのモデルを動かすことが可能になります。</p>



<h2 class="wp-block-heading"><span id="toc6">Ollamaの導入手順（Linux）</span></h2>





<a rel="noopener" href="https://ollama.com" title="Ollama" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://ollama.com/public/og.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Ollama</div><div class="blogcard-snippet external-blogcard-snippet">Get up and running with large language models.</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://ollama.com" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">ollama.com</div></div></div></div></a>




<p>Ollamaは、簡単にローカルでLLMを動かせる実行環境です。</p>



<h3 class="wp-block-heading"><span id="toc7">インストール</span></h3>



<p>Ubuntuを例にします。</p>



<pre class="wp-block-code"><code>curl -fsSL https://ollama.com/install.sh | sh</code></pre>



<p>これで <code>ollama</code> コマンドが使えるようになります。</p>



<h3 class="wp-block-heading"><span id="toc8">動作確認</span></h3>



<pre class="wp-block-code"><code>ollama run hello</code></pre>



<p>このコマンドで「Hello」という軽量モデルが動作し、正常に応答が返れば成功です。</p>



<h2 class="wp-block-heading"><span id="toc9">モデルの選択と導入</span></h2>



<p>Ollamaは複数のモデルを提供しています。本記事では <strong>3種類のモデル</strong> をピックアップし、それぞれの特徴と導入方法を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc10">TinyLlama（軽量・テスト用）</span></h3>



<ul class="wp-block-list">
<li><strong>特徴</strong>：非常に軽量で、メモリ8GB以下でも動作可能</li>



<li><strong>利用シーン</strong>：動作確認やテスト用</li>
</ul>



<p>導入コマンド：</p>



<pre class="wp-block-code"><code>ollama pull tinyllama</code></pre>



<p>実行例：</p>



<pre class="wp-block-code"><code>ollama run tinyllama</code></pre>



<h3 class="wp-block-heading"><span id="toc11">LLaMA 3 8B（実用的・汎用）</span></h3>



<ul class="wp-block-list">
<li><strong>特徴</strong>：Meta社が公開したLLM。8Bパラメータで性能と軽量性のバランスが良い</li>



<li><strong>利用シーン</strong>：実用的な会話や文章生成</li>
</ul>



<p>導入コマンド：</p>



<pre class="wp-block-code"><code>ollama pull llama3</code></pre>



<p>実行例：</p>



<pre class="wp-block-code"><code>ollama run llama3</code></pre>



<h3 class="wp-block-heading"><span id="toc12">Mistral 7B（高精度・実用向け）</span></h3>



<ul class="wp-block-list">
<li><strong>特徴</strong>：文章生成性能が高く、多くの利用者に支持されている</li>



<li><strong>利用シーン</strong>：文章作成、コード補助など本格利用</li>
</ul>



<p>導入コマンド：</p>



<pre class="wp-block-code"><code>ollama pull mistral</code></pre>



<p>実行例：</p>



<pre class="wp-block-code"><code>ollama run mistral</code></pre>



<h2 class="wp-block-heading"><span id="toc13">PHPからOllamaを利用する</span></h2>



<p>OllamaはHTTP APIを提供しているため、PHPから簡単に呼び出せます。</p>



<h3 class="wp-block-heading"><span id="toc14">APIサーバの起動</span></h3>



<pre class="wp-block-code"><code>ollama serve</code></pre>



<p>これで <code>http://localhost:11434</code> が利用可能になります。</p>



<h3 class="wp-block-heading"><span id="toc15">PHPサンプルコード（挨拶プログラム）</span></h3>



<pre class="wp-block-code"><code>&lt;?php
// モデルを指定してリクエスト
$url = "http://localhost:11434/api/generate";
$data = &#91;
    "model" => "llama3", // 利用するモデル
    "prompt" => "こんにちは！自己紹介してください。"
];

$options = &#91;
    "http" => &#91;
        "header"  => "Content-type: application/json\r\n",
        "method"  => "POST",
        "content" => json_encode($data),
    ],
];

$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);

// 結果を表示
echo "AIの返答: " . $result;
?></code></pre>



<p>ブラウザからこのPHPファイルにアクセスすると、指定したモデルが「こんにちは！」に応答してくれます。</p>



<h2 class="wp-block-heading"><span id="toc16">各モデルのまとめ</span></h2>



<p>最後に、本記事で紹介したモデルの特徴と推奨環境を表にまとめます。</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>モデル名</th><th>特徴</th><th>メモリ要件</th><th>利用シーン</th></tr></thead><tbody><tr><td>TinyLlama</td><td>超軽量・動作確認用</td><td>4GB～</td><td>テスト・デモ</td></tr><tr><td>LLaMA 3 8B</td><td>性能と軽量性のバランス</td><td>8GB～16GB</td><td>汎用的な会話・文章生成</td></tr><tr><td>Mistral 7B</td><td>高精度・本格的利用</td><td>16GB～</td><td>長文生成・コード補助</td></tr></tbody></table></figure>



<h4 class="wp-block-heading"><span id="toc17">参考情報</span></h4>



<p>1GBメモリのサーバに8Gのスワップを設定しTinyLlamaのモデルを使用した動作確認を行った実行結果を以下に記載します。</p>



<pre class="wp-block-code"><code>&#91;XXXX@XXXX]$ ollama run tinyllama "こんにちは、自己紹介してください"
⠼ 大きなおじとうに行くかも。 今回も仕事を辿ればいいよね。 あっさり、あの日のことは急ぎ書きます。 いつも売
りだからご注文お願いして頂けるから、仕事の中で練うのがよかったと思います。 そこに考えるほどのやさしさを
見せたいです。 帰ってきている間は急ぎ書きます。 こんなに良い気持ちを持つように、あらゆることに向けるの
が最も重要な為と思います。

&#91;XXXX@XXXX]</code></pre>



<p>上記、結果の通り極端に低スペックな環境では正常動作は望めないばかりか、この結果が出力されるまで2時間程度の時間がかかりました。</p>



<h2 class="wp-block-heading"><span id="toc18">おわりに</span></h2>



<p>ここまでで、LinuxサーバにOllamaを導入し、PHPから挨拶を返すサンプルを動かす手順を紹介しました。</p>



<ul class="wp-block-list">
<li>サーバスペック不足時はスワップ設定で対応</li>



<li>モデルは用途に応じて軽量版から実用版まで選択可能</li>



<li>PHPからAPIを叩くことで簡単にWebアプリと連携可能</li>
</ul>



<p>「ローカル LLM」を導入することで、クラウドに依存しない新しいAI体験が可能になります。まずは軽量モデルで試し、用途に合わせて実用的なモデルへステップアップしてみてください</p>



<div class="wp-block-cocoon-blocks-blank-box-1 blank-box block-box">
<h5 class="wp-block-heading"><span id="toc19">引用元</span></h5>



<ul class="wp-block-list">
<li><strong>Ollama 公式サイト</strong><br><a rel="noopener" href="https://ollama.com/" target="_blank">https://ollama.com/</a></li>



<li><strong>Ollama GitHubリポジトリ（インストール手順やAPI仕様）</strong><br><a rel="noopener" href="https://github.com/ollama/ollama" target="_blank">https://github.com/ollama/ollama</a></li>



<li><strong>Ollama ドキュメント（APIリファレンス）</strong><br><a rel="noopener" href="https://github.com/ollama/ollama/blob/main/docs/api.md" target="_blank">https://github.com/ollama/ollama/blob/main/docs/api.md</a></li>



<li><strong>Meta AI: LLaMA 3 発表記事</strong><br><a rel="noopener" href="https://ai.meta.com/llama/" target="_blank">https://ai.meta.com/llama/</a></li>



<li><strong>Mistral AI 公式サイト（Mistral 7B の概要）</strong><br><a rel="noopener" href="https://mistral.ai/" target="_blank">https://mistral.ai/</a></li>



<li><strong>Linux Swap 設定方法（Ubuntu公式）</strong><br><a rel="noopener" href="https://help.ubuntu.com/community/SwapFaq" target="_blank">https://help.ubuntu.com/community/SwapFaq</a></li>
</ul>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.takeho.com/getting-started-with-local-llm-on-linux-a-complete-guide-from-ollama-installation-to-php-sample-execution/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
