从 Docusaurus 到 WordPress:构建 AI 聊天的三种方式
我构建了三种不同的 AI 聊天架构。每种架构都解决了不同的问题。
目标不在于寻找最先进的技术,而在于让技术与你的目标用户相匹配。
1. 静态索引 (Docusaurus + Vercel) 这种方法在静态网站中使用 JSON 文件。通过构建步骤将你的 Markdown 文件转换为单个索引。搜索通过 Serverless 函数在内存中运行。
• 最适合:你拥有的文档网站。 • 优点:无需额外基础设施。速度快且成本低。 • 缺点:难以扩展。仅适用于少量文本。
2. 可扩展服务 (Neon + pgvector) 这使用具有向量支持的 Postgres 数据库。它利用真正的语义搜索来快速查找数据。
• 最适合:拥有大量用户的 SaaS 产品。 • 优点:能够处理海量数据。支持多用户账户和历史记录。 • 缺点:需要托管基础设施和更多的运维工作。
3. 即插即用插件 (WordPress) 此版本将向量直接存入 WordPress 数据库。它使用 PHP 对文本块进行暴力搜索。
• 最适合:想要简单 WordPress 插件的客户。 • 优点:无需额外设置。适用于任何 WordPress 托管环境。数据保留在网站数据库内。 • 缺点:对于超大数据集,速度较慢。
核心要点:
- 使架构与部署方式相匹配。一个需要独立数据库的 WordPress 插件并不是一个好用的插件。
- 从小规模开始。在构建复杂的数据库之前,先通过静态 JSON 索引来验证你的用户体验是否可行。
- 对于小型网站,暴力搜索完全没问题。对于几千个段落,它的速度已经足够快了。除非必要,否则不要使用复杂的向量引擎。
- 保持代码的灵活性。为你的向量存储使用接口(interface)。这样你就可以在不重写应用的情况下,从 JSON 切换到 Postgres。
- 安全至关重要。在每一层都对 API 密钥进行加密。采用“自带密钥”(bring-your-own-key)模式,这样你就无需处理敏感的用户数据。
来源:https://dev.to/kaidanov/from-docusaurus-mai-to-a-wordpress-ai-chat-with-vectors-41ba