-
Notifications
You must be signed in to change notification settings - Fork 0
License
Tatakinov/yomibito_minarai
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# ソフトウェアについて 【名 称】詠み人見習い 【種 別】ゴースト 【制 作 者】タタキノフ 【動作確認】Windows 10 and Wine 8.0以降 / SSP 2.6.52以降 【配 布 元】https://tatakinov.github.io/ 【連 絡 先】tatakinov_at_gmail.com https://twitter.com/tatakinov_ukgk https://ukadon.shillest.net/@tatakinov ## ゴーストについて 川柳のような何かを作るゴーストです。 専用バルーンを使う前提の表示なのでそちらもインストールしてください。 川柳を詠んだ後に出てくる星マークをクリックすればブクマ出来ます。 もう一度見たい場合や画面キャプチャして自慢(?)するのに活用していただければ。 ## SLMによる川柳解説 別途SLMを用意することで生成した川柳に 解説のような何かを付けることができます。 https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-onnx の cpu_and_mobile/cpu-int4-rtn-block-32 からモデルやらコンフィグやらをダウンロードします。 30GB程度のディスクの空き領域が必要になります。 ダウンロードの仕方は各自で調べてください。 ghost/master/aiにmodelフォルダを作り、 model |- added_tokens.json |- config.json |- ... のように配置します。 それからゴーストを起動すれば、川柳生成後に解説をつけるようになります。 ## 必要なスペック 川柳のみ: 400MB程度の空きメモリ 川柳+解説: 3GB程度の空きメモリ 解説付きの場合は.NET 8が必要になり、さらに64bitでビルドしている関係で 古いOSでは動作しないと思われます。 また、CPUで推論を行うため、時間がかかります。 川柳ガチゃをする場合は、解説機能は切ったほうがいいでしょう。 ## 注意 R-18な単語を含む川柳を生成する場合があります。 自動生成なので川柳/解説のクオリティには期待しないでください。 ## ゴースト著作権について [1.ゴーストダウンロードページに直接リンクされる] ○ [2.ゴーストのネタバレをされる] ○ [3.ゴーストに対し批判的な意見を言われる] ○ 作者の髪が薄くなります。 [4.二次創作物の配布をされる(HP素材フリー配布、同人誌販売等)] [5.原作の設定と大きくかけ離れた二次創作をされる] [6.18禁二次創作をされる] ○ ただし二次創作物である旨を目につく場所に記載すること。 [7.追加シェル、バルーン等を配布される] ○ [8.マスターシェル、バルーン等を改変したものを配布される](7がOKの人のみ) ○ [9.トークをウェブ上に転載] ○ [10.マスターシェルを素材(掲示板のアイコンなど)として使用] ○ [11.ゴーストアーカイブへの直リンク] ○ [12.公開中ゴーストをウェブ上で再配布] ○ でもオリジナルをダウンロードしてほしくもある。 [13.配布終了したゴーストをウェブ上で再配布] ○ [14.中身を改変した上でウェブ上で再配布](12と13のどちらかがOKの人のみ) ○ ただし、改変している旨を目のつく場所に記載すること。 [15.ゴーストの同人誌収録] [16.ゴーストの商業誌収録] ○ ご自由に。 ### シェル Negi-Mixを使用したAIシェルです。 モデルのライセンスはFair AI Public License 1.0-SDです。 https://freedevproject.org/faipl-1.0-sd/ ## 使用ライブラリなど 以下のライブラリ/ソフトウェアを使用しています。 それぞれのライセンス詳細はLICENSE.txtを参照してください。 Lua | https://www.lua.org/ sol2 | https://github.com/ThePhD/sol2/ luautf8 | https://github.com/starwing/luautf8/ luaex | https://github.com/LuaDist/luaex/ Luachild | https://github.com/pocomane/luachild/ zlib | https://www.zlib.net/ onnxruntime | https://github.com/microsoft/onnxruntime onnxruntime-genai | https://github.com/microsoft/onnxruntime-genai chiVe | https://github.com/WorksApplications/chiVe ## 川柳で使用している語彙について saori/word2vec/data.gzに含まれています。 mecab-ipadicに含まれる形態素の基本形と合致するchiVeの単語ベクトルを 抽出したものを使用しています。 ライセンスはCOPYING.mecab_ipadic.txtおよびLICENSE.chive.txtを 参照してください。 # おまけ ## 川柳生成の仕組み まず品詞+文字数の情報でそれっぽく川柳を生成します。 「カッターがマグロに話す庭の糧」 品詞と文字数の情報を併記するとこう。 「カッター(名詞,4)が(助詞,1)マグロ(名詞,3)に(助詞,1)話す(動詞,3)庭(名詞,2)の(助詞,1)糧(名詞,2)」 この内、品詞と文字数の情報、それと最初の単語と助詞を残します。 「カッターが(名詞,3)に(動詞,3)(名詞,2)の(名詞,2)」 最初に抜けている(名詞,3)に対応する単語をword2vecで 「カッター」に意味の近い名詞を持ってきます。 「カッターがハサミに(動詞,3)(名詞,2)の(名詞,2)」 次の(動詞,3)に対応する単語を 「カッター+ハサミ」に意味の近い動詞を持ってきます。 「カッターがハサミに切れる(名詞,2)の(名詞,2)」 次の(名詞,2)に対応する単語を 「ハサミ+切る」に意味の近い名詞を持ってきます。 「カッターがハサミに切れる紙の(名詞,2)」 次の(名詞,2)に対応する単語を 「切る+紙」に意味の近い名詞を持ってきます。 「カッターがハサミに切れる紙の束」 となって完成です。 最初のよりは意味が通りそうなものになる一方、ランダムな単語の羅列で作られる おもしろ川柳が出来にくくなるのは難しいところ。 どこいつみたいな単語の厳選をすれば ランダムな単語の羅列の方が面白そうなので誰か作って。 ## AIInterpreter.exeについて。 onnxのモデルを読み込んでChatGPTみたいなやりとりが出来ます。 Phi3以外のonnxモデルでも動くのかもしれませんが、動作確認はしてません。 一行目の入力を${system}、二行目の入力を${user}として、 <|system|> ${system}<|end|> <|user|> ${user}<|end|> <|assistant|> とLMに入力するようになっています。 入出力はUTF-8に限定されるので注意してください。
About
No description or website provided.
Topics
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published