CLOVER🍀

That was when it all began.

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に関することをいろいろ試そうとすると、使うモデルが必要になります。 このモデルの探し方がどうしたらいいのかわからないのですが、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)って?

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

LocalAI+bert.cppでテキストをベクトル化してみる

これは、なにをしたくて書いたもの? 以前、こんなエントリーを書いてみました。 llama-cpp-pythonで立てたOpenAI API互換のサーバーで、テキストをベクトル化してみる - CLOVER このエントリーの最後にテキストをベクトル化して、ドキュメントの集合に対し…

Transformersでマスクされたトークンを予測してみる(MLM:Masked Language Modeling)

これは、なにをしたくて書いたもの? Transformersかつ日本語で、なにか動かしてみたいなと思って題材を探していたのですが、MLM(Masked Language Modeling)が ちょうど良さそうだったので試してみました。 MLM(Masked Language Modeling) MLM(Masked L…

TransformersやDatasetsといったHugging Faceのライブラリーを使った時に、モデルやデータセットがどこにダウンロードされるのかを確認する

Hugging Faceのライブラリー(TransformersやDatasetsなど)を使うと、学習済みのモデルやデータセットをHugging Face Hubから ダウンロードしてきます。 これ、けっこう大きなサイズのものになるので、使わないものは削除しないとディスクがいくらあっても…

Transformersでテキスト生成を試してみる

これは、なにをしたくて書いたもの? Transformersでテキスト生成ができそうだったので、こちらをTransformersの足がかりとして試してみたいと思います。 Transformersでのテキスト生成 テキスト生成には、Transformersでできることに挙げられています。 Tr…

Transformersのドキュメントをざっくり眺めてみる

これは、なにをしたくて書いたもの? Hugging Faceの開発しているライブラリーであるTransformersを使うと、これだけでも質疑応答やテキスト分類といったタスクが 実行できるようなので、ちょっと調べてみました。 最初はなにかタスクを試してみようかなと思…

Hugging Faceってなんだ?

これは、なにをしたくて書いたもの? llama.cppなどを使っているとモデルが必要になりますが、この時にHugging Faceというサイトからダウンロードすることになります。 最初は単にモデルが置かれているサイトとしか思っていなかったのですが、それは誤りのよ…

OpenAI API互換のサーバーをローカルで動かせるLocalAIを試す

これは、なにをしたくて書いたもの? 以前、ローカルで動かせるOpenAI API互換のサーバーとしてllama-cpp-pythonを使ってみました。 llama-cpp-pythonで、OpenAI API互換のサーバーを試す - CLOVER 他にも同様のことができるものとして、LocalAIというものが…

javacの--releaseオプションについて(JEP 247 Compile for Older Platform Versions)

これは、なにをしたくて書いたもの? javacコマンドで、--releaseというオプションがあることを認識していなかったようなので、少し見ておくことにしました。 これは、JEP 247 Compile for Older Platform Versionsというもののようです。 JEP 247 Compile f…

2023年の振り返り

2023年も終わりですね。恒例の振り返りエントリーです。 2022年の振り返りで言っていたこと 2022年の振り返りでは、2021年の振り返りで言っていたことの延長といった感じで、アプリケーション寄りのことをやっていこうと 書いていました。 2022年の振り返り …

ブログを書くということ

お断り このエントリーはあるブログエントリーに触発されて書いたもので、特に技術的な内容を扱ったものではありません。 ブログというものについて自分が淡々と書いているだけのものであり、なにか持論を主張したいという類のものでもありません。 触発元に…

Ubuntu Linux 22.04 LTSにElasticsearch 8をシングルノード、非HTTPSでインストールする

これは、なにをしたくて書いたもの? Elasticsearch 8を、シングルノードで簡単に使えるようにセットアップしたいなということで。 以前、少しやってちょっとハマったので、今回はちゃんと見てまとめておくことにしました。 やりたいことは、以下の条件のEla…

Virtual Threadsを使ってHTTPサーバー/クライアントを書いて、スレッドまわりの動きを確認してみる(スレッドダンプの取得付き)

これはなにをしたくて書いたもの? 前回のエントリーで、JEP 444(Virtual Threads)について書きました。 Java 21で正式版になったJEP 444(Virtual Threads)に関するAPIを試す - CLOVER この時には踏み込まなかった、スレッドまわりの挙動やスレッドダン…

Java 21で正式版になったJEP 444(Virtual Threads)に関するAPIを試す

これは、なにをしたくて書いたもの? Java 21で正式版になった、JEP 444(Virtual Threads)を試しておきたいなということで。 スレッドに関するAPIも変わっているようなので、こちらも合わせて。 なお、スレッドダンプの取得やHTTPサーバー/クライアントを…

Ubuntu Linux 22.04 LTSにOpenJDK 21をインストールする

これは、なにをしたくて書いたもの? OpenJDK 21が2023年9月19日にリリースされました。 The Arrival of Java 21 JDK 21 Documentation - Home JDK 21ドキュメント - ホーム いつものことながら、Ubuntu Linuxの現行LTSで使えるようになるまでは時間がかかる…

ベクトルデータベースってどういうものがある?

これは、なにをしたくて書いたもの? 最近llama-cpp-pythonを使っていろいろ遊んでいるわけですが、埋め込みAPIを使ってテキストをベクトル化してみました。 llama-cpp-pythonで立てたOpenAI API互換のサーバーで、テキストをベクトル化してみる - CLOVER ベ…

llama-cpp-pythonで立てたOpenAI API互換のサーバーで、テキストをベクトル化してみる

これは、なにをしたくて書いたもの? 前に、こんなエントリーを書きました。 OpenAI Python APIライブラリーからllama-cpp-pythonで立てたOpenAI API互換のサーバーのチャットモデルへアクセスしてみる - CLOVER この時は、llama-cpp-pythonで立てたOpenAI A…

tiktokenを使ってテキストをトークンに変換してみる

これは、なにをしたくて書いたもの? こちらのエントリーを書いた時に、OpenAI APIにおける主要な概念をまとめてみました。 OpenAI Python APIライブラリーからllama-cpp-pythonで立てたOpenAI API互換のサーバーへアクセスしてみる - CLOVER このうち、トー…

RabbitMQのJavaScriptチュートリアルの「RPC」をTypeScriptで試す

これは、なにをしたくて書いたもの? RabbitMQのチュートリアルをJavaScriptクライアント+TypeScriptでやっていこう、ということで。 今回は「RPC」を扱います。 RabbitMQ tutorial - Remote procedure call (RPC) — RabbitMQ 今回で、この一連のお題は最後…