地平線まで行ってくる。

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

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…

Qwen3-TTSをColabで試してみる。

テキストで指示した音声でしゃべってくれるQwen3-TTSモデル(Qwen3-TTS-12Hz-1.7B-VoiceDesign)を試してみました。Colab T4環境でVRAM占有率は8.4 / 15.0 GBでした。Colabのノートブックは最後にリンクします。 huggingface.co instructのテキストだけで色ん…

translategemma:4bをColabで試してみる。

translategemmaはGoogleが公開した翻訳モデルです。Gemma 3ベースでオープンなモデルで気軽に使えます。Googleさんありがとうございます。早速、Colab L4環境でollama公式にあるtranslategemma:4bで試してみました(VRAM 利用率:3.8GB/22.5GB)。 4bのモデル…

Google Julesに頑張ってゲームを作ってもらう。

Google Julesは、Google が開発した “自律型AIコーディングエージェント” で、GitHub リポジトリを読み取り、計画を立て、コードを書き、テストし、最終的に PRまで自動で作成する次世代の開発支援ツールです。GooleでもAntigravityやGemini CLIと比較して目…

ACE FrameworkベースにLTMをじっくり試してみる。

Colabを使ってACE(Agentic Context Engineering)という考え方を試してみました。コンテキストエンジニアリングを考える良い機会になりました。また、そもそも情報をどう蓄積して、検索し引き出して投入するのか、を考える良いきっかけとなりました。 bwgif…

Model-First ReasoningをColab+さくらのAI Engineで試してみる

はじめに Model-First Reasoning(MFR)は、推論に先立って問題の構造を明示的にモデル化することをエージェントに要求することで、ハルシネーションを抑制し信頼性の高いAIシステムを構築するための基礎的なコンポーネントとなるアプローチです。推論(生成)…

Stable-tsとFaster-whisperを使って音声認識をColabで試してみる。

faster-whisperでの音声認識をうまく使うのはなかなか苦労していたところ、見かけたXポストが気になったので自分で実装します。 large-v3-turboで、実装はこんな感じです!同じ単語が突然繰り返されるハルシネーションにかなり悩みましたが、stable-tsを入れ…

Chatに4層のメモリー(履歴)機能を組み込んでローカルLLMを使ってみるテスト

Chatにおけるメモリー機能の記事を読みました。RAGを使わない、というよりも、検索を伴うRAGに適さない基軸的な情報を用意しておく必要があるのでしょう。要は、LLMに投入するプロンプト(コンテキスト)中にメモリー機能とする情報を含ませておく、という理…

Chatにメモリー機能をローカルLLMを使って組み込んでみるテスト

chatGPTやcopilotではメモリー機能が組み込んであります。親しみは増えますが、ちょっと気持ち悪さも感じます。普段タスクとして投げていることが多いので、会話に慣れていないのかもしれません。しかしながら、このメモリー機能、質問が簡略化ですませられ…

LibreChatでCode Interpreter周りを自作して動かしてみる。

LibreChatはChatGPT UI likeなAIチャットプラットフォームです。よく、見かけますよね。Code Interpreterの環境をカスタマイズしたかったので、作成してみました。たぶん、どこかにあるんだと思うんですが・・・。下調べをした後にGemini Cliに頼りつつ進め…

Open NotebookをollamaとさくらのAI Engineで試してみる。

GoogleのNotebook LMは大変有用なサービスです。しかし、利用しようにも利用できない事情が絡む場合があります。そこで、最近日本語の紹介文も増えてきたOpen Notebookを試してみます。 触った結果: ollamaでLLMとしてGemma3:4bでトライしましたが、回答精…

wsl2のubuntu環境をストレージ移動と再構築メモ

wsl2(ubuntu22.04)の環境が壊れ不具合が出てきたため、24.04への移行して再構築します。加えて、現環境を別ドライブであるHDDへと保存先を移動します。 最終的な構成: SSD: デフォルトのwslの環境置き場 → 24.04を新たに構築 HDD: バックアップ、サブ環境 →…