CLOVER🍀

That was when it all began.

GoogleのLLM「Gemma」をTransformersで試す

これは、なにをしたくて書いたもの? 先日、GoogleからAIモデル「Gemma」が公開されました。 Gemma: Google introduces new state-of-the-art open models グーグル、軽量でオープンな新AIモデル「Gemma」 - Impress Watch 今回は、こちらをHugging FaceのTr…

OSSのサーバーレスPostgreSQL(Amazon Aurora OSS代替)、NeonをUbuntu Linux 22.04 LTSでビルドしてみる

これは、なにをしたくて書いたもの? Neonという、フルマネージドでサーバーレスなPostgreSQLというプロダクトがあります。 Neon — Serverless, Fault-Tolerant, Branchable Postgres これはマネージドサービスとしても使えるのですが、ローカルで動かすこと…

Qdrantのチュートリアルから、「LlamaIndexを使ったマルチテナント(Multitenancy with LlamaIndex)」を試す

これは、なにをしたくて書いたもの? Qdrantのチュートリアルから、「LlamaIndexを使ったマルチテナント(Multitenancy with LlamaIndex)」を試してみたいと思います。 Multitenancy with LlamaIndex - Qdrant 今回のチュートリアルの狙い 今回扱うチュート…

Nuitkaを使って、Pythonアプリケーションから単一の実行可能ファイルを作成する

これは、なにをしたくて書いたもの? Pythonアプリケーションから実行可能バイナリを生成することができるものとしては、PyInstallerが有名です。 PyInstaller Manual — PyInstaller 6.3.0 documentation GitHub - pyinstaller/pyinstaller: Freeze (package…

jstatライクなコマンド(スクリプト)をjcmdのPerfCounter.printの結果から作ってみる

これは、なにをしたくて書いたもの? Javaアプリケーションの状態を簡単に見る時に、自分が使うツールのひとつにjstatがあります。 jstatコマンド このjstatコマンドですが、jcmdに直接の代替がなく、いつもjstatはjstatのままだったのですが。 jcmdのPerfCo…

JDKなしでjcmd等のJavaの各種診断ツールを動かせるjattachを試す

これは、なにをしたくて書いたもの? コンテナ環境などでJavaアプリケーションを実行している時でかつJDKをインストールしていない場合、jcmd等のJDK付属ツールがなくて 困る場合などがあると思います。 こういう時にはjattachというツールを使うと便利そう…

Qdrantのチュートリアルから、「Fastembedを使ってシンプルなNeural Searchサービスを作成する(Create a Neural Search Service with Fastembed)」を試す

これは、なにをしたくて書いたもの? 先日、Qdrantのチュートリアルから「シンプルなNeural Searchサービスを作成する(Create a Simple Neural Search Service)」を 試しました。 Qdrantのチュートリアルから、「シンプルなNeural Searchサービスを作成す…

TerraformのProvider Plugin Cacheを試す

これは、なにをしたくて書いたもの? Terraformを使うと、terraform init時に使用するProviderをダウンロードしてくるのですが、これをそれぞれのディレクトリで行っていると 各ルートモジュール配下の.terraformディレクトリのサイズの合計がだんだん無視で…

Node.jsのRedisクライアントnode-redisとioredisの両方が、GitHubのredis organization配下になっていたという話

Node.jsでのRedisクライアントの有名どころといえば、node-redisとioredisかと思います。 どちらを使うか迷うところかなと思うのですが、この2つは両方ともGitHubのredis organization配下になっていることに気づいたので その他ちょっとしたことと一緒にメ…

Qdrantのチュートリアルから、「シンプルなNeural Searchサービスを作成する(Create a Simple Neural Search Service)」を試す

これは、なにをしたくて書いたもの? Qdrantのチュートリアルを進めてみようシリーズです。 今回は「シンプルなNeural Searchサービスを作成する(Create a Simple Neural Search Service)」を試します。 Neural Search Service - Qdrant Neural Search? …

pipのキャッシュの保存ディレクトリはどこ?

時々わからなくなるので、メモということで。それなりにサイズも大きくなりますしね。 pipのドキュメントとしては、こちらを見ます。 Caching - pip documentation v24.1.dev0 pipのキャッシュが保存されるディレクトリは、以下に記載されています。 Caching…

ASGIってなんだ?

これは、なにをしたくて書いたもの? 前のエントリーでPythonのWeb APIフレームワーク、FastAPIを試してみました。 PythonのWeb APIフレームワーク、FastAPIを試す - CLOVER この時、一緒にASGIサーバーというものの一種でUvicornというものを使いました。 A…

PythonのWeb APIフレームワーク、FastAPIを試す

これは、なにをしたくて書いたもの? とあるPythonを扱うチュートリアルを見ているのですが、サンプルとしてFastAPIが使われるようなので先に独立して触っておこうかなと 思いまして。 なかなか人気もありそうですし。 FastAPI FastAPIのWebサイトはこちら。…

Emacsにlsp-mode+lsp-javaをインストールする

これは、なにをしたくて書いたもの? 自分はJavaのソースコードを書く時は、基本的にIntelliJを使っています。 Emacsを使う時は、lsp-modeを設定しているのがTypeScript/JavaScript、PythonくらいでたまにEmacsでJavaのソースコードを開くと 困ったりしてい…

Terraform 1.7で追加されたモック(Mocks)を試す

これは、なにをしたくて書いたもの? Terraform 1.6でtesting frameworkが追加されたので、以前に試してみました。 Terraform 1.6で追加されたTerraform testing framework(terraform test)を試す - CLOVER そしてTerraform 1.7ではこれにモックが追加され…

Qdrantのチュートリアルから「初心者向けのセマンティック検索(Semantic Search for Beginners)」を試す

これは、なにをしたくて書いたもの? 先日、Qdrantをインストールしてみました。 Ubuntu Linux 22.04 LTSにベクトルデータベースQdrantをインストールして試す - CLOVER ここからどう進めたものか、というところなのですが、Quickstartの最後にチュートリア…

DockerおよびDocker Composeでtmpfsを使う

これは、なにをしたくて書いたもの? Dockerではtmpfsをマウントすることができます。 前に似たようなエントリーを書いたことがあるのですが、なぜか「(起動後の)Dockerコンテナ内でマウントする」で終わっていました…。 Dockerコンテナ内で、tmpfsをマウ…

npmパッケージにTypeScriptの型定義が存在するかどうかは、npmjs.comを見るとわかるという話

全然知らなかったので。 npmパッケージを探したり、パッケージを公開するのにはnpmjs.comというサイトを使います。 npm | Home このパッケージの表示に、npmパッケージ自身にTypeScriptの型定義が含まれているのか、それともDefinitelyTypedによって提供され…

Ubuntu Linux 22.04 LTSにベクトルデータベースQdrantをインストールして試す

これは、なにをしたくて書いたもの? 前に少し、ベクトルデータベースにはどのようなものがあるのか調べてみました。 ベクトルデータベースってどういうものがある? - CLOVER そろそろ、この中からなにか選んで、ベクトルデータベースというものを試してみ…

Eclipse MicroProfile Rest Clientを試す

これは、なにをしたくて書いたもの? Eclipse MicroProfileに含まれている、Rest Clientをちょっと見ておこうかなと。 今まで何回か別のテーマを扱っている時に使っているのですが、完全に雰囲気で使っていたのでこの機会に、と。 Eclipse MicroProfile Rest…

Vagrant+VirtualBoxで、NS_ERROR_FAILUREで起動しなくなったら?

VirtualBox ProviderのVagrantで、vagrant up時にこういうエラーになった時の対処ということで。 There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: […

llama-cpp-pythonでReplit Code V1.5 3Bを使ってコード生成を試す

これは、なにをしたくて書いたもの? 以前のエントリーで、SalesforceのCodeGenのモデルを使ってソースコードの生成を行ってみました。 Transformersでコード生成を行ってみる - CLOVER この時は、llama-cpp-pythonのドキュメントで紹介されていたReplit Cod…

LLMを探す(日本語対応モデル含む)

LLM

LLMに関することをいろいろ試そうとすると、使うモデルが必要になります。 このモデルの探し方がどうしたらいいのかわからないのですが、Awesomeなどを見つけたのでメモしておこうかなと。 Awesome LLM Awesome LLM。 GitHub - Hannibal046/Awesome-LLM: Awe…

Transformersでコード生成を行ってみる

これは、なにをしたくて書いたもの? llama.cppやLocalAIを使って、コード生成を試せないのかな?と思ったドキュメントを見ると、llama-cpp-pythonのドキュメントに コード生成(コード補完)について書かれているのを見つけまして。 OpenAI Compatible Serv…

Spring Test × Database Riderで、データを作成する時にテーブル間の依存関係を記録する

これは、なにをしたくて書いたもの? こちらのエントリーで、Database Riderをデフォルト設定で使う時に外部キーがたくさん使われているデータベースを対象にすると、 時間がかかるということを書きました。 Database Riderで、外部キーを大量に使っているデ…

Database Riderで、外部キーを大量に使っているデータベースを対象にすると実行が遅くなるという話

これは、なにをしたくて書いたもの? Javaでデータベースを使うテストで、Database Riderが便利なのでちょいちょいと使うのですが。 外部キーをたくさん使っていると実行が遅くなるという問題に悩まされたことがあったので、メモしておきます。 @DataSetのus…

OpenAPI Generator × Spring Web MVCでファイルをダウンロードするREST APIを作成したい

これは、なにをしたくて書いたもの? OpenAPI Generatorで生成したREST APIで、ファイルダウンロードのような機能を作るにはどうしたらいいのかな?ということで ちょっと試してみました。 OpenAPIでバイナリを扱うメディアを定義する ファイルダウンロード…

LocalAIのテキスト埋め込みのバックエンドにSentenceTransformersを使ってみる

これは、なにをしたくて書いたもの? 以前のエントリーで、SentenceTransformersとintfloat/multilingual-e5のモデルを使ってテキスト埋め込みを試してみました。 SentenceTransformersとintfloat/multilingual-e5でテキスト埋め込みを試してみる - CLOVER i…

SentenceTransformersとintfloat/multilingual-e5でテキスト埋め込みを試してみる

これは、なにをしたくて書いたもの? テキストの埋め込み(ベクトル化)の方法をいろいろ見ているのですが、SentenceTransformersというものを押さえておいた方が よさそうに思ったので試してみることにしました。 SentenceTransformers SentenceTransformer…

テキスト埋め込みのベンチマークMTEB(Massive Text Embedding Benchmark)って?

LLM

これは、なにをしたくて書いたもの? テキスト埋め込みについていろいろ試していて、どんなモデルがあるのか知らないといけないなと思ったところ、MTEBという ベンチマークの存在を知ったのでメモしておこうかなと。 MTEB(Massive Text Embedding Benchmark…