Home About
LangChain RetrievalQA を使って兼好法師に質問する

現代語訳 徒然草 (吉田兼好著・吾妻利秋訳)LangChainをつかって 吉田兼好に人生の悩みを質問してみる。

現代語訳 徒然草 をデータとして RetrievalQA を使うことで、 最終的に次のような質問から回答を得ることができました。

この手の情報がもともと徒然草に含まれているので有用な回答が出たというのはたしかです。 しかし、もし同じ質問を ChatGPT などにした場合、 おそらくは当たり障りがない教科書的な回答しか得られないので その点ではなかなか興味深いと思います。

» Read More
Kotlin Native (linuxX64) で XML を扱う

Kotlin Native (Kotlin Multiplatform) で XMLを扱うにはどうすればよいか調べた。 XmlUtilを使えばよいらしい。 Gradle を使って、XmlUtil でXMLをシリアライズ&デシリアライズするところまでできた。 その備忘録です。

» Read More
Groovy でテキストファイルを読み書きするのと同じ方法を Kotlin Script でも使いたい

Groovy の場合は new File("foo.txt").text のようなお作法で気軽にテキストファイルを読み書きできる。 Kotlin Script でもこのように手軽にテキストファイルの読み書きができないか調べた。 拡張プロパティ Extension Properties という機能を使えば普通にできた。

» Read More
木構造の再帰による深さ優先検索

木構造の再帰によるトラバース という エントリーのコードの改良版です。

なぜか最近たびたび木構造を扱うことがあったので、その辺を整理を含めた覚え書きです。

» Read More
独自にマークアップしたテキストをAST経由で何かに変換する

以前のエントリー 改善版) kotlin でパーサーコンビネータを実装する の続きです。

そもそもの動機としては、 マークアップがネストしていたときにパーサーコンビネータを使ってパースするにはどうすればいいのだろうか? とか考えはじめた結果の覚え書きです。

パーサーコンビネータ部分の説明は省きます。(以前のエントリーを必要なら参照のこと)

» Read More
木構造のノード出現順(深さ優先順)に番号を振る話 EPUB playOrder

EPUB の toc.ncx ファイルで naviPoint の playOrder 属性を指定する必要がある。 プログラム的にこれを設定する方法を実装したので、覚え書きとして書き残します。

» Read More
Dell XPS13 7390 のSSDとバッテリーを交換した

SSD は大きさは 2280 だと思っていたがふたを開けてみたら 2230 だった。 たくさん候補があって、どの 2230 のSSDを買えばよいのか迷ったが、 トラセンドのSSDにした。 軽く調べた範囲で明確に片面実装と書かれていたのがこのSSDしかなったので。 実際に設置してみたところ、いまのところ問題なく動いている。 もし両面実装のSSDだったら、たぶん入らないと思う。

ちなみに、SSDを設置する場所は 2280 サイズがSSDがはいるだけのスペースがある。 しかし、サーマルプレートなるものがそこにあり、 それが 2230 専用になっているため、このマシンでは 2230 のSSDしか設置できない。

もし、2280用のサーマルプレートを入手できれば、 2280 のSSDが設置できるのかもしれない。 ただし、ちょっと検索したくらいでは、そんなものを見つけることはできなかった。

バッテリーの交換も行った。 本当はバッテリーについては交換の必要性をそこまで感じてはいなかったのだが、 バッテリーが膨らんでいるとタッチパッドのボタンが効かなくなるという 情報があったので、交換してみた。 そう、このマシンはタッチパッドのクリックボタンが効かないのであった。 そして、バッテリーを交換したけれど残念ながらタッチパッドボタンの問題は解決していない。 なおバッテリーはDELL純正品ではなく WorldPlus というブランド品(互換品)です。 今のところ、問題なく作動している。

XPS13 7390 のバックカバーをあければ、そこにバッテリーがあり、型番が書かれている。 このマシンのバッテリーには DXGH8 と書かれていた。 この DXGH8 型番で互換バッテリーを探せばよいようです。

» Read More
Haskell / リストから 木構造をつくる

次のような枝番号を持つ文字列のリストがあったとして、 それを木構造に変換する関数を書く。

この手の変換はたとえば EPUB の目次をつくるときに使う。

» Read More
Kotlin multiplatform 1.9.22 Kotlin/JS Hello, World!

久しぶりに Kotlin/JS に取り組もうと 過去のエントリー やりなおし Kotlin/JS Hello, World! 生成した js を HTML から使う / Node.js から使う などを見たが、すっかり状況が変わっていて動かない。

Kotlin のコードを(ただし Hello, World!標準出力するだけ)Node.js で動くようにビルドする方法を書き留めます。

おそらくは、このあたりを丁寧に読んでいけば済む話なのではないかと思う。 https://kotlinlang.org/docs/js-project-setup.html

» Read More
PDFBox 3.0.0 で 複数のPDFファイルを結合してひとつのPDFファイルにまとめる

申告業務のためPDFをまとめようとした。 今まで使ってきたコードは PDFBox version 1.8.3。 もう PDFBox version 3.0.0 が出ているので、いい加減アップデートする。

» Read More
Kotlin 関数の部分適用(またはカリー化)

ときどき Haskell のように気軽に部分適用したくなることがある。 例のための例になるが、ARGB のカラーを生成する場合を考えてみる。

» Read More
Kotlin Sealed クラスの便利さ

Sealed クラスの使い途をネットで調べると色の RGB と CMYK の例などが出ていてなるほど と思っていたが、今つくっているアプリで、エディタのコマンドごとに処理を分岐させる部分で Sealed クラスを使うとわかりやすくコードを表現できたので、それを書き残す。

» Read More