言語モデル
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側…
はじめにWSL2上のvLLMで「qwen2.5-bakeneko-32b-instruct」を実行して、Windows上のChatUIでそれを利用してみました。vLLMで「qwen2.5-bakeneko-32b-instruct」を実行する方法はこちらを見て下さい。 touch-sp.hatenablog.com 以前はGradioを使いましたが今…
はじめにvLLMを使ってVRAM 16GBのノートPCで「qwen2.5-bakeneko-32b-instruct」を動かしてみました。当然量子化が必要になってきます。どこまでビット数をさげるかは難しいところですが、あまり下げすぎると推論精度が落ちるリスクがあります。今回はautoawq…
使用したPC32Bモデル(パラメーター数320億)なのでVRAM 24GBのRTX 4090を使用しました。 プロセッサ Intel(R) Core(TM) i7-14700K 実装 RAM 96.0 GB GPU RTX 4090 (VRAM 24GB) 実行中の表示 INFO 02-18 22:06:19 model_runner.py:1115] Loading model weigh…
はじめに以前同じ会社が公開してくれている「phi-4-open-R1-Distill-EZOv1」というモデルを使ったことがあります。 touch-sp.hatenablog.com 日本語の追加学習をした推論モデルとしてはサイバーエージェントが公開してくれている「DeepSeek-R1-Distill-Qwen-…
【bitsandbytesで量子化】vLLMでサイバーエージェントが公開している「DeepSeek-R1-Distill-Qwen-14B-Japanese」のサーバーを立ててPythonから使用する
使用したPC プロセッサ Intel(R) Core(TM) i7-12700H 実装 RAM 32.0 GB GPU RTX 3080 Laptop (VRAM 16GB) はじめに日本語の追加学習が加えられたDeepSeek-R1関連のモデルで現状一番良いと思うのがサイバーエージェントが公開してくれている「DeepSeek-R1-Dis…
使用したPC プロセッサ Intel(R) Core(TM) i7-12700H 実装 RAM 32.0 GB GPU RTX 3080 Laptop (VRAM 16GB) はじめに日本語の追加学習が加えられたDeepSeek-R1関連のモデルで現状一番良いと思うのがサイバーエージェントが公開してくれている「DeepSeek-R1-Dis…
はじめにDockerでの使用が推奨されています。今回はWLS2内にDockerをインストールしてサーバーとしてText Generation Inferenceを使用しました。クライアント側はWindowsのPythonを使用しました。WSL2(サーバー側)の設定 Ubuntu 24.04 on WSL2最初の確認「…
はじめにサイバーエージェントが「DeepSeek-R1-Distill-Qwen-14B-Japanese」を公開しています。 huggingface.co 今回はLightblueの「DeepSeek-R1-Distill-Qwen-7B-Japanese」を使ってみます。 huggingface.co 結果プロンプト ある父と子の年齢に関する問題が…