HimeWikiFilter

HimeWikiでは、テキスト編集の保存時と画像アップロード時にAIフィルタを適用しています。
テキストフィルタはOpenAIのチャット補完APIを利用し、ページのタイトルと本文を処理します。
不適切と判断された内容は保存されず、表現が改善される場合があります。
感情的な表現は削除され、理性的な表現に整えられます。
チャット補完APIへの指示は設定ファイルに記載されたプロンプトに基づいており、その内容は公開されています。
詳細は次のリンクで確認可能です: https://wiki.kareha.org/?a=info

画像フィルタはOpenAIのモデレーションAPIを利用します。
不適切と判断されるとアップロードは拒否されます。
AIによる画像の加工は行わず、一般的な基準でセンシティブなものが排除されます。

テキストフィルタのチャット補完APIは有料ですが、訪問者が少ないため、管理人が個人負担で運用しています。
また、APIでやり取りする情報をOpenAIの学習データとして利用することに同意すると、多少利用枠が増えるため、そうしています。
画像フィルタのモデレーションAPIは現在無料ですが、今後も無料である保証はありません。
AIの利用には金銭的なコストがかかるため、最小限に抑える設計を心掛けています。

ウィキにAIフィルタを使う利点は、管理が簡素化されることです。
ウィキの目的は文書の共同編集であり、スパムや荒らしと戦うことではありません。
不必要な管理活動はAIフィルタに任せ、人間は創造的な執筆に集中します。

AIフィルタの主要な目的は、不適切な編集を拒否することです。
暴力、成人向け、グロテスクな内容など、重大な不適切編集を拒否するにはモデレーションAPIが使えます。
一方で、内容の柔軟な調整にはチャット補完APIが必要です。
HimeWikiでは、タイトルと本文の処理にはこのチャット補完APIを使用しています。
画像は許可か拒否のみ行うため、モデレーションAPIで十分です。

本文のフィルタに柔軟なAPIを使っているため、最初は文体を特定のスタイルに整えるよう試みましたが、悪意のある投稿を防ぐには不十分であることが分かりました。
そこで、理性的な内容のみを許可し、感情的な内容は拒絶する方針に変更しました。
この変更により、悪意のある投稿はほとんど防げるようになりましたが、特定の文体は失われました。
理性的な内容を指示すると、特定の文体は作れないようです。
この両立をさらに探求するかどうかは検討中ですが、現時点では理性的な内容のみを採用しています。

また、ウィキのテキストは単純な自然言語ではなく、人工言語的なマークアップも含んでいます。
AIはマークアップもある程度理解します。
しかし、[[HTML]][[Markdown]]などの一般的なマークアップは良く理解しますが、HimeWiki独自のマークアップである[[Nomark]]を正確に処理させるのには困難が伴います。
特別に指示してあげないと、勝手にMarkdownとして整形されてしまう恐れがあります。
また、改行をそのまま保持するのが難しく、段落を1行にまとめられてしまうことがあります。

AIフィルタは設定ファイル config.yaml に記載されたプロンプトで調整されます。
設定を変更しても履歴は残りませんが、設定例 config.yaml.example はリポジトリに入ってるので、ある程度の履歴は追えます。
設定の履歴をデータベースに保存し、各ページの各版がどの設定でフィルタされたか確認できるようにすることも考えましたが、HimeWikiの理念である「現在の版に集中する」と「シンプルさを保つ」に反するので、やめました。
「今これから保存すると、このプロンプトのフィルタが使われる」ということは明示してあるので、これで透明性は十分だと考えます。

HimeWikiは単純化のためフィルタ後の結果しか保存しておらず、入力された生のテキストは保存していません。
このように、HimeWikiは研究を目的にした設計にはなっていません。
もし研究に応用するなら、詳細なログを取るための拡張が必要になるので、プロジェクトをフォークしてもらいます。

HimeWikiは実験段階であり、そのAIフィルタは常に調整されています。
意見や要望があれば、コメントをお寄せください。

また、HimeWikiと同様のAIフィルタをMediaWikiに移植する試みが、プロジェクト名HimeMediaで行なわれています。