DocusaurusからWordPressへ:AIチャットを構築する3つの方法

私は3つの異なるAIチャット・アーキテクチャを構築しました。それぞれが異なる課題を解決します。

目標は「最高の技術」を見つけることではありません。目標は、技術をターゲットユーザーに適合させることです。

1. 静的インデックス (Docusaurus + Vercel) このアプローチでは、静的サイト内のJSONファイルを使用します。ビルドステップによって、Markdownファイルを単一のインデックスに変換します。検索は、サーバーレス関数を使用してメモリ内で実行されます。

• 最適な用途:自身で管理するドキュメントサイト。 • メリット:追加のインフラが不要。高速かつ低コスト。 • デメリット:拡張性がない。少量のテキストにしか対応できない。

2. スケーラブルなサービス (Neon + pgvector) これは、ベクトルサポートを備えたPostgresデータベースを使用します。実際のセマンティック検索を利用して、データを迅速に検索します。

• 最適な用途:多くのユーザーを持つSaaS製品。 • メリット:膨大なデータを扱える。マルチユーザーアカウントと履歴をサポートしている。 • デメリット:マネージドインフラと、より多くの運用作業が必要。

3. ドロップイン・プラグイン (WordPress) このバージョンは、ベクトルをWordPressのデータベースに直接格納します。PHPを使用して、テキストチャンクに対してブルートフォース検索を実行します。

• 最適な用途:シンプルなWordPressプラグインを求めるクライアント。 • メリット:追加設定が不要。あらゆるWordPressホストで動作する。サイト内のデータベース内で完結する。 • デメリット:非常に大規模なデータセットでは低速になる。

重要なポイント:

  • アーキテクチャをデプロイ方法に合わせる。別のデータベースを必要とするWordPressプラグインは、有用なプラグインとは言えません。
  • 小さく始める。複雑なデータベースを構築する前に、静的なJSONインデックスを使ってユーザーエクスペリエンスが機能するかを検証しましょう。
  • 小規模なサイトならブルートフォース検索で十分です。数千の文章程度であれば、十分に高速です。必要に迫られるまで、複雑なベクトルエンジンを使用する必要はありません。
  • コードの柔軟性を保つ。ベクトルストアにはインターフェースを使用しましょう。これにより、アプリを書き直すことなく、JSONからPostgresへ切り替えることができます。
  • セキュリティは重要です。あらゆるレイヤーでAPIキーを暗号化してください。機密性の高いユーザーデータを扱わずに済むよう、Bring Your Own Key (BYOK) モデルを採用しましょう。

出典: https://dev.to/kaidanov/from-docusaurus-mai-to-a-wordpress-ai-chat-with-vectors-41ba