言語モデル
はじめに 以前の続きです。 touch-sp.hatenablog.com 今回はSLM (small language model) に限定して、以下のノートPCでコーティングを行いました。 Windows 11 Home Core i7-12700H GeForce RTX 3080 Laptop VRAM 16GB RAM: 32GB SSD: 1TB NVMe SSD .NET Fra…
はじめに WSL2のllama.cppでQwen3.5-27Bを実行しました。 方法はこちらです。 touch-sp.hatenablog.com ./build/bin/llama-server -m /home/hoge/models/Qwen3.5-27B-Q4_K_M.gguf --host 127.0.0.1 --port 8888 課題 算数パズルを解かせてみました。 「9 9 9…
はじめに Nanbeige4.1-3Bはわずか3Bと小型ながら、Qwen3-32Bなどをベンチマークで上回っていると謳われています。 公式のHuggingFaceから図をお借りして載せておきます。 PC環境 Windows 11 Python環境構築 uvを使っています。pyproject.tomlを載せておくの…
はじめに Shisa.AIは日本の会社です。 Shisa-v2.1が日英バイリンガルモデルという事で翻訳アプリを作ってみました。 画面 Pythonスクリプト from threading import Thread import gradio as gr from transformers import ( AutoModelForCausalLM, AutoProces…
実行画面 日本語もそこそこいけるようです。Pythonスクリプト from transformers import AutoProcessor, AutoModelForImageTextToText, TextIteratorStreamer import gradio as gr from threading import Thread model = AutoModelForImageTextToText.from_p…
はじめに 以前にministral-3をOllamaとGradioから使う方法を紹介しました。 touch-sp.hatenablog.com 今回はOllamaの代わりにPythonのTransformersライブラリを使います。 Ollamaのインストールが不要になるので、こちらの方が環境構築は簡単です。 Pythonが…
実行画面 Pythonスクリプトできるだけシンプルに書いてみました。ollama.chat() を使えば、デフォルトで http://localhost:11434 に接続します import gradio as gr from ollama import chat def extract_text_from_image(image): """画像から文字を抽出する…
はじめに Sarashina2.2-Vision-3Bは日本の知識が豊富なVision Language Modelです。 学習時に日本のデータを多く使ったようです。 画面 Pythonコード import gradio as gr import threading import torch from transformers import AutoModelForCausalLM, Au…
Pythonスクリプト import ollama import gradio as gr def extract_text(filepath: str): """ 画像からテキストを抽出する関数(ストリーミング対応) """ if not filepath: yield "画像がアップロードされていません。" return try: # Ollamaでテキスト抽出…
はじめにQATとは量子化認識トレーニング(Quantization-Aware Training)の略です。これによって高品質を保ちながらVRAM使用量を大幅に抑えられるようです。今回は「gemma-3-27b-it-qat-q4_0-gguf」をLM Studioから使ってみました。LM Studioから検索すると…
使用したモデル「qwen2.5-bakeneko-32b-instruct-v2」はrinnaが公開している日本語言語モデルです。非常に良いとの情報を得たのでLM Studioで動かしてみました。今回使用したのはrinnaが公式に公開している「qwen2.5-bakeneko-32b-instruct-v2-q4_k.gguf」と…
はじめに今までは「Dockerfile」にuvやnode.jpのインストールとかファイルのコピーとかを記述していました。使い方が変わるたびにDockerイメージを作り直していたのですが面倒くさいことに気づきました。イメージからコンテナを作成するときにインストールと…
はじめに今までは Google の Gemma-3-12b(4bit量子化)をllama.cppで実行して使っていました。今回は無料枠のなかで Google の Gemini 2.0 Flash を使わせてもらいました。感想言語モデルは大事です。明らかにSmolAgentsの回答が変わりました。変更点前回、…
はじめにMicrosoftが開発しているPlaywrightはブラウザ自動化機能を提供するライブラリです。Playwrihgt MCPはそのModel Context Protocol (MCP)サーバになります。これを使うことによって言語モデルとPlaywrightを簡単に結びつけることができるようになるの…
はじめに完全ローカルのAIエージェントをSmolAgentsを使って作ってみました。もちろん簡単なことしかできません。 使用した言語モデル:gemma-3-12b-it-Q4_K_M.gguf(llama.cppで実行)./llama-server -m ~/models/gemma-3-12b-it-Q4_K_M.gguf -c 8192 -ngl …
はじめにSmolAgents(v1.12.0)でDockerコンテナをサンドボックスとして使用した時に出力が段階的にならない問題に直面しました。昨日なんとか解決方法を見つけたのですが、その後Gradioを使えばもっと簡単に解決することがわかりました。 touch-sp.hatenabl…
はじめに以前SmolAgentsの記事を書きましたが、いずれもすべてのStepが終了した後にまとめて結果が出力されていました。 touch-sp.hatenablog.com touch-sp.hatenablog.com サンドボックスを使わなければそんなことは起きないのですが、サンドボックスを使っ…
はじめにLangChainでFunction Callingを試した時の記事はこちらです。 touch-sp.hatenablog.com その時作ったToolがそのままSmolAgentsで使えました。課題 4桁の数字の間に四則演算を加えて10を作る Toolを定義したファイル(langchain_tool.py) from langc…
はじめにLLMの実行llama.cppでGemma-3-12b-it-Q4_K_M.ggufを実行しています。 ./llama-server -m /home/hoge/Documents/models/gemma-3-12b-it/gemma-3-12b-it-Q4_K_M.gguf -ngl 40 -c 16384 --host 0.0.0.0詳細はこちらを見て下さい。使用するMCPサーバー「…
はじめに画像は扱っていません。ベンチマーク「ngl」の値をいろいろ変えてみました。「ngl=-1」がCPUのみで動いている(?)結果です。それにしては速すぎるような気もするので実はGPUが使われているのかもしれません。 上段がプロンプトの処理速度、下段がテ…
はじめに2025年のトレンドは「AIエージェント」らしいです。時代に取り残されないために「SmolAgents」というのを触ってみました。環境構築にはまりまくりました。今回は導入までの備忘録です。SmolAgentsで何ができるか?もちろんいろいろなことができるら…
はじめに画像からテキストを抽出するのにLangChainの必要性はあまりありません。ただ、LangChainを使うとスクリプトが非常にシンプルになります。Pythonスクリプト from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parse…
注意「Mistral-Small-3.1-24B-Instruct-2503」と「gemma-3-27b-it」は自身のPC環境の制限のため4bit量子化して使用しています。本来はもう少し性能が高いと思いますので今回の結果は参考程度に見て下さい。パラメーターの設定も詰め切れてないと思います。お…
使用したPC プロセッサ Intel(R) Core(TM) i7-12700H 実装 RAM 32.0 GB GPU RTX 3080 Laptop (VRAM 16GB) VRAM 16GBで動かすためにbitsandbytesで4bit量子化を行っています。 画像を扱うとVRAM消費量が増えるため今回はマルチモーダル非対応です。Python環境…
はじめに以前「Gradio」を使いました。今回は「ChatUI」を使います。 touch-sp.hatenablog.com Gemma-3-27B-itの実行は前回同様vLLMを使っています。 vllm serve google/gemma-3-27b-it --quantization bitsandbytes --load-format bitsandbytes --max-model…
このようなエラーが出ました。 AttributeError: 'Tensor' object has no attribute 'bnb_quant_state' ggufを使った場合にも起きるエラーのようです。 こちらにIssueが上がっていますが未解決です。 github.com AutoAWQなど別の量子化方法を使ってエラーを回…
エラー内容 raise ValueError( ValueError: The following `model_kwargs` are not used by the model: ['token_type_ids'] (note: typos in the generate arguments will also show up in this list) 解決策 # token_type_idsを削除 if "token_type_ids" in…
マルチモーダルモデルということで画像を扱ってみました。使用したPCVRAM 24GBのRTX 4090を使用しました。さらにbitsandbytesで量子化も行っています。 プロセッサ Intel(R) Core(TM) i7-14700K 実装 RAM 96.0 GB GPU RTX 4090 (VRAM 24GB) vLLMを実行ここは…
Vision&LanguageモデルをChatUIで使うのは初めてでしたが画像のアップロードなどもうまくいきました。はじめに以前Transformersを使って「Qwen2.5-VL-3B-Instruct」を使いました。 touch-sp.hatenablog.com 今回は「vLLM」と「ChatUI」の組み合わせで使って…
画像では思考過程(Reasoning)が閉じられていますが中を見ることが可能です。はじめに話題のQwQ-32BをAutoAWQで量子化してChatUIから使いました。使用したPC プロセッサ Intel(R) Core(TM) i7-14700K 実装 RAM 96.0 GB GPU RTX 4090 (VRAM 24GB) 方法vLLM側…