地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

2026-01-01から1年間の記事一覧

Text Embeddings Inference (TEI)をembedding APIサーバに適用してみる。

Hugging Faceが提供しているText Embeddings Inference (TEI)はembeddingモデルにrustを使って最適化されています。今まで知らなかった・・・。そこで、以前作成した日本語embeddingモデルでmodernBERTを採用しているRuri v3を使ったAPIサーバーに適用してみ…

OpenGENAI (オープン源内)にLiteLLMを入れ込んで試してみる。逐次更新 #2

bwgift.hatenadiary.jp Open GENAIがupdateしていたので、それに合わせてupdateしました。小規模組織だと十分使えます。 このブランチでは、LiteLLMを使っていること、外からのアクセス前提で実施すること、embeddingモデルをmodernBERTベースのものも使える…

Open GENAI (オープン源内)をLiteLLMを入れ込んで試してみる。

デジタル庁が公開した「源内」。触ってみたいなぁと思っていたのですが、各種クラウド前提なので様子をみていたところ、クライド依存部分を置き換えたOpen-Genaiが公開されていました。有難い。Difyとの連携もできるので、さらに有難い。 デジタル庁がOSSと…

方眼紙エクセルをDifyに放り込む方法を考えてみる

Difyは、画面上で簡単にチャットフローが作れて、コードを書く必要もありません。「プログラムなんて分からない……」という非エンジニアの方が社内ツールをつくるのにも本当に便利です。 しかし、いざ実務で使おうとすると、必ずと言っていいほど日本の伝統芸…

Googleが公開したOKFを元にWiki風markdown+Obsidianを試してみる。

はじめに モチベーション:RAGの「ゴミ溜め化」を防ぎたい コンセプト:OKF v0.1を入れ込む 1. OKF v0.1によるメタデータの厳格化と構造化 2. Raw + Compiled ハイブリッドRAG 3. Obsidianを前提とした Human-in-the-Loop (HITL) 技術スタックとAgent連携 お…

AnsibleとAntigravityでAIエージェントによるLinuxマシン管理を試してみる

Ansible(アンシブル)は、サーバーやネットワーク機器の構成管理を自動化するためのIaC(Infrastructure as Code)ツールです。 Ubuntu Desktopも現在ではWindowsと大差ない感覚で簡単にインストールできます。しかし、複数台を管理したり、設定を再現した…

WindowsDeveloperConfigで環境設定を試してみる。

WindowsDeveloperConfigが気になったので、試しに使ってみましたので、メモ。 github.com Windowsで開発するための道具を一気に入れるmicrosoftツール 1. Dev Config: Windowsの設定やWSL、ターミナル、関連ソフトを一気にインストール 2. WSL Comfort: zsh…

Colab CLIをAIエージェントから利用してみる。

Google ColabにCLIが発表になり、AIエージェント系との親和性が一気に高くなりました。MCPはいまいち使いにくかったけれども、CLIで完結する方が私は楽そうだ、と、試してみました。 UltoshさんのGemma4チューニング用のColabノートで試してみつつ、今後も使…

LibreChatでCode Interpreter周りを自作する #03

改めて動機を Claude Code や Codex のような AI エージェントを利用すれば、Python を用いたデータ解析やファイル操作を手軽に実行できます。しかし、実際の業務環境では必ずしもそれらを自由に利用できるとは限りません。 セキュリティやコストの観点から …

オープンソースのPresidioで簡単なガードレールを実装してみる

AIエージェントに検索をさせる場合、クエリに個人情報やトークンが勝手に送信されないような工夫を実施してみます。今回は、Microsoftが開発した個人特定情報(PII)の検出・匿名化用オープンソースフレームワーク「Presidio」の実装をテストしてみます。な…

Karpathy氏のLLM-wikiに触発されてwikiとRAGを構築してみる。 #02

bwgift.hatenadiary.jp その後、引き続きちまちまと作って遊んでいます。現状のもので、改めてまとめてみました。 簡単に ドキュメントからObsidianで扱えるWikiにしちゃう。また、ソースとWikiの両方からRAGもできるようにしてみる。 動機 Andrej Karpathy…

Google Colab-mcp、wslのgemini cliとwindows(host)のブラウザで動作させる。

Colab-mcpは、パワフルなGPUがちょこっと必要な時に便利。しかし、 Gemini Cli(wsl)からwindows(host)のブラウザで開いたGoogle Colabをmcpにて接続しようとしたら、mcpにて接続しようとしたら・・・意外と難航したのでメモ。 github.com Colab-mcpのセット…

Wiki風Markdownを生成し、Obsidianで閲覧・編集するRAGを試作してみた

はじめに 雑多なドキュメントをRAGで利用する場合、ノイズ除去や要約といった前処理が不可欠です。しかし、一度DBに入れてしまうと、その後の更新や誤りの修正が面倒になるという課題があります。 そこで、「LLMにWiki風Markdownを生成させ、それをObsidian…

Ubuntu 26.04でSSHからDockerといった最初の一歩を設定してみた。

計算に使っていた古いPCのSSDが「Offline_Uncorrectable」を表示されるようになり、SSDの寿命かも・・・という状況に陥った。色々と値段が高騰している時期にとボヤキながら、出来る限り安いSSDを買ってきてOSからセットアップしたのでメモ。他にもファイヤ…

なんとなく作ってみたコードで、神(方眼紙)エクセルの解析を比較

試してきた神(方眼紙)エクセル解析を比較してみる。 1. 動機 帳票とか複雑なテキストの表は、企業の中ではよく見かけるのではないでしょうか。そこで、「方眼紙エクセル」からの構造化データ抽出について、2つの手法を作ってみていました。それらをそれな…

ChromeOS Flexを古いノートPCに入れてみる。

ChromeOSって、いつまでサポートされるのかな、と不安に思いつつも、最近、USBキットを発売らしいので、まだしばらくは安心。ということでChromeOSを古いPCに入れました。 k-tai.watch.impress.co.jp イメージのダウンロードが若干分かり難かった。こちらの…

方眼紙Excelから情報を抽出してみる。

方眼紙Excel(紙/神Excel)」からのデータ抽出は、その使い方の多様さゆえに、単純な表形式変換では困難を極めます。しかし、最近ではDoclingなどにより、生成AIと親和性の高い抽出が現実的になってきました。 セルの結合を多用したシートは特に難易度が高い…

Doclingを工夫してMarkdown出力を好みにしてみる。

Doclingは各種ドキュメントからの生成AI向け情報抽出が可能です。IBMのチームが開発しています。現在も開発は活発です。PDF, DOCX, PPTX, XLSXなど多様なフォーマットに対応している優れものです。このDoclingでお好みのMarkdownの形式にできるようにしてみ…

Marp Editable UIをFolkして機能を追加してみる。

簡単なプレゼンの場合、手元のMarkdownのメモをそのまま投影すればいいことも多いですよね。そこで、Sunwood-ai-labs Makiさんが作成されたMarp Editable UI にLLMによる自動生成支援機能を追加し、数式、Mermaid図も対応させることにチャレンジしました。ざ…

PyxelのSKILLSを作ってみる(2026/3/8更新)。

PyxelはPython 向けのレトロゲームエンジンです。道具もそろっていてPythonを利用したゲームが作成できます。ブラウザ上でも動作する優れものです。このPyxelにAgent Skillsがあったら、もっと気軽にゲームが出来るんじゃないでしょうか。Gemini CLIを使い、…

NDLOCR-LiteのREST APIを作ってみる。(2026/3/14更新)

NDLOCR-Liteは軽量な日本語OCRです。colabで試してみたらいい感じでした。REST APIとして実装してみました。APIができたので、いろんなプログラムから呼べるので便利です。 bwgift.hatenadiary.jp `/v1/ocr` で同期処理に加え、非同期処理もサポート。負荷テ…

ndlocr-liteをcolabで試してみる。

NDLOCRは国立国会図書館がCC BY 4.0ライセンスで公開したOCRです。CPUでも動作する軽量なモデル。有難くお試しします。モデルの再学習及びカスタマイズについての開発者向け情報もあって、今後バリエーションも増えるのかもしれません。 lab.ndl.go.jp githu…

LibreChatでCode Interpreter周りを自作する #02

LibreChatでCode Interpreterをローカルで動作をさせたくてお試しましたが、可能性ありそうだなというレベルでした。真面目に利用しようとすると、ファイルをコンテナへのファイルアップロード機能など不足している機能など全然だめです。 bwgift.hatenadiar…

Qwen3-Swallow-8B-SFT-v0.2をColabで試してみる。

Qwen3, GPT-OSSの日本語チューンナップモデルであるSwallowが公開されました。QwenもGPT-OSSといったベースも良い出来なので期待しますよね。Colab L4環境で動作させてみました。 zenn.dev huggingface.co Colabでどうやって動かそうかと考えましたがvLLMを…

Dify用にruri-v3を使ってOpen AI互換 embedding APIサーバーを作ってみる。

日本語APIで軽量さと精度のバランスが良く、prefix含み8k tokensを入力できるruri-v3は、embeddingモデルととても便利に使っています。modernBERTベースでSentencepiceをトークナイザーとして用いています。大変便利なので、embedding APIサーバーを作ってみ…

picoclaw with pythonをollamaとdocker composeで利用してみる。

picoclawをollamaで動かしたくなったので、docker composeで出来るようにしました。大したこともないですが、メモ。追加部分:- ollamaを利用できるようにした。GPUなしの場合は当該部分削除してください。 - timezoneをホストと合わせるように`/etc/localti…

picoclawをopenai互換とdocker composeで利用してみる。2026/2/14時点

PicoClawはOpenClawのGo実装版でコンパクトです。ローカルLLMやOpenAI互換の他のプロバイダで利用するとうまくいかなかったので、メモを書きました。答えは、vLLMで使おう・・・これだけです。もともと組み込み以外のプロバイダはOpenRouterへの設定に流れま…

ResarchツールをローカルLLMで動かしてみる。

Deep Researchのような調査ツールをローカルLLMと組み合わせてみたら、どこまで使えるのでしょう・・・と思って、作ってみました。この手のレポジトリはすでにあると思います。 狙い 1. ローカルLLMの軽量級であるollamaとgemma3:4b-it-qatの組み合わせでど…

modernBERTでNER。境界意識型学習とSpanを入れ込んでみる。

固有表現抽出(NER)タスクを続けていきます。gpt-5.xやgemini xにやらせればいいといわれますが、その通りです。一方で、ローカルLLMモデルを利用してLoRAで学習させても思いの他、精度を上げるのは大変でした。 という訳で、modernBERTという優秀でお手軽なe…

コンテキスト指向な NER をColabで味見してみる。

BERTやModernBERT(Ruri-v3など)のようなTransformerベースのモデルは、内部的に Self-Attention メカニズムを持っており、文全体のコンテキストを考慮して各トークンのベクトルを決定しています。そのため文脈を考慮して、NERでは地名(LOC)か企業名(ORG…