以前に大学受験の学生に英作文の添削を頼まれてつくったものです。 普通に ChatGPT でもできると思いますが、 毎回添削対象英作文以外のプロンプトは固定なので、APIでつくりました。 単に間違いを修正するだけでなく、修正個所について箇条書きで説明してもらうようにプロンプトで指示を出しています。
今なら GPTs を使うとよいのかもしれません。
API の場合、月額課金ではなく使用量に応じた課金なので、処理量が少なかったり実験レベルのアイデアの検証には API 課金の方が良い。
なお、 ここではシンプルにエンドポイントのURLに所定形式のJSONを投げて回答をもらう方式で実装していきます。 実装言語は Kotlin です。
» Read More以前のポスト Gradle を使ってライブラリプロジェクトを作成して local maven に publish、それをアプリケーションプロジェクトで使う(覚え書き) でつくった names というライブラリを Kotlin Multiplatform 用にする(覚え書き)。
» Read Moreこのポスト 2024年改訂版) データ変換を Writer Monad 的に処理する を書いていて このパーサーコンビネーター( 改善版2024)kotlin でパーサーコンビネータを実装する 【おまけ】 HtmlBlock の改良) は Writer モナド的な発想で書けばもう少しパーサーのインタフェースがシンプルになることに気づいた。
その覚え書きです。
» Read Moreデータ変換を Writer Monad 的に処理する その1というポストを一年くらい前に書いたのだが、 今時点で最新の kotlin で作動させようとしたところ、 このコードが作動しなくなっていた。
» Read MoreKotlin で Maybe その3をベースにさらに修正した。 Maybe を monad にする覚え書き。
» Read More自分用のちょっとしたライブラリを local maven に publish しておくと便利。 その方法とそれを使う方法。
» Read Moreorg.json で JSON 操作するコードを書いていたが Kotlin/JS ではこれは使えない。 そのかわりに Serialization JSON を使った。
» Read More以前のメモ
このエントリーは 改善版2024)kotlin でパーサーコンビネータを実装する【追伸】 の続きです。
この方法を使ってパースした場合、 最後にHTMLを出力する段階で HtmlBlock をまとめるコードがあるのですが、 やっていることは同じ種類の HtmlBlock を一つにしているだけです。 しかし、 HtmlBlock を sealed class として用意しているので、それを まとめる だけの操作をするのにもこれだけのコードを書く必要があります。
» Read Moreこのエントリーは 改善版2024)kotlin でパーサーコンビネータを実装する 【後編】Bold パーサーを追加してみる の続きです。
後編では Hello, **World**! Hello, *Again*! というイタリックとボールドマークアップが混在した文字列をパースしました。 このとき、パーサーはイタリックやボールドの開始・終了に相当するマークアップ文字列を見つけてそれを <i> や </i> とか <b> や </b> に変換するという 発想で実装していました。
別の考え方として、イタリックのマークアップで囲まれた部分がイタリック属性を持つ文字列(ここでは Again がイタリック属性を持つ文字列)、 ボールドとしてマークアップされた部分がボールド属性を持つ文字列(ここでは World )という発想もあり得ます。 直接HTMLへ変換するのではなく、いったんASTに変換したいなどといったケースでは、このような発想でパーサーを書いた方がよいでしょう。
今回は前回のコードを修正して、 この 別の考え方 で実装してみます。
» Read Moreこのエントリーは 改善版2024)kotlin でパーサーコンビネータを実装する【前編】 からの続きです。
前編で Hello, *World*! Hello, *Again*! という文字列を自前で実装したパーサーコンビネーターを使ってHTMLに変換しました。 後編ではボールド用マークアップが混ざっていてもうまくパースできるのか調べます。
» Read More以前に改善版) kotlin でパーサーコンビネータを実装する を 書いたのですが、 その後さらに改良した。
ここでは Hello, *World*! という文字列を自前で実装したパーサーコンビネーターを使ってHTMLに変換することを考えます。
» Read More本当は https://github.com/gomarkdown/mdtohtmlを使えばよいだけの話なのだが、 go をインストールしていないマシンで JavaVM はインストール済みだったので、 https://github.com/JetBrains/markdown と Spring Boot をつかって mdtohtml と(だいたい)同じように機能するコマンドラインツールをつくった。その備忘録です。
» Read More