WordPress AI 搜索与 Gemini File Search Store:哪些有效,哪些无效

发布: (2026年3月4日 GMT+8 21:17)
8 分钟阅读
原文: Dev.to

Source: Dev.to

这是一篇提交作品,参加 Built with Google Gemini: Writing Challenge

我用 Google Gemini 构建的项目

默认的 WordPress 搜索会返回与关键字匹配的文章列表。它不理解意图,不能回答问题,在用户期待对话式 AI 和完整句子查询的时代显得过时。

我构建了 Geweb AI Search —— 一个 WordPress 插件,用 Google Gemini 提供的 AI 助手取代传统搜索。

工作原理

与链接列表不同,用户将获得:

  • 直接的 AI 生成答案
  • 生成该答案所使用的确切页面的来源链接
  • 可选的对话历史,用于后续提问

插件拦截标准的 WordPress 搜索表单,并打开一个包含两种模式的模态框:

模式描述
自动完成WP_Query 提供支持的即时建议
AI 回答完整的 Gemini 响应并附带来源归属

此架构的核心是 Gemini File Search Store

为什么选择文件搜索存储而不是传统 RAG?

一个典型的基于 LLM 的站点搜索通常需要:

  1. 将内容转换为向量嵌入
  2. 将它们存储在向量数据库中(Pinecone、pgvector、Weaviate 等)
  3. 对每个查询执行相似度搜索
  4. 检索相关片段
  5. 将这些片段作为上下文传递给 LLM

这是一套完整的 RAG 堆栈——基础设施繁重且运维复杂。

Gemini 文件搜索存储简化了工作流

  1. 将 WordPress 帖子转换为 Markdown
  2. 通过 Gemini API 将文档上传到 Store
  3. 当查询到来时,指示 Gemini 使用该 Store

索引、检索和答案生成均由 Gemini 在内部处理。

  • 无需单独的向量数据库
  • 无需嵌入管道
  • 无需检索编排层

理想使用场景

  • 企业网站
  • 文档门户
  • 电商目录
  • 内容丰富的博客

由于模型严格在上传的内容范围内工作,响应会基于站点数据而非通用模型知识,从而保持答案的可靠性。

演示

  • 实时演示: – 立即测试自动完成和 AI 回答。
  • WordPress 目录:
  • 源代码:

截图

管理员设置页面

自动完成建议

带来源链接的 AI 聊天

我学到的

Gemini 3 与 2.5 – 有哪些变化以及对集成有什么影响

在集成过程中,我发现 Gemini 2.5 与 Gemini 3 在使用文件搜索 Store 时存在重要的行为差异。

观察点Gemini 2.5Gemini 3
结构化 JSON 响应(非 Store 模式)可靠可靠
结构化 JSON 响应(Store 模式)以纯文本返回支持并带有来源归属
对基于 Store 的搜索 + 结构化输出的整体支持有限改进

要点: 如果你的 UI 依赖结构化响应(例如程序化渲染或附加元数据),模型版本就很关键。插件支持两种生成方式,但完整的结构化归属在 Gemini 3 上才能正常工作。上线前务必在预发布环境中测试具体的模型 + Store 组合。

安全的 API‑key 存储

Gemini API 密钥使用 libsodium 加密后存放在 WordPress 数据库中。

实现原则

  • 密钥在写入数据库前会被加密。
  • 只有具备相应 WordPress 权限的用户才能修改它。
  • 解密仅在运行时、发起 API 请求时进行。
  • 不依赖外部库。

Store 开启了新用例

在开发此插件的过程中,我意识到文件搜索 Store 不仅仅是搜索功能。它为基于隔离、可信内容的整套 AI 驱动特性提供了可能:

  • AI 驱动的网站搜索
  • 企业网站的虚拟助理
  • 在线商店的产品顾问
  • 基于真实文档的 FAQ 机器人

这些都遵循同一原则:将结构化内容上传到 Store,让模型严格在这些边界内工作。这样即可在不构建完整自定义 RAG 堆栈的情况下,获得可预测、内容限定的答案。

Google Gemini 反馈

表现良好的方面

  • File Search Store 是最大的收获。
  • 无需启动向量数据库、构建嵌入管道、管理相似度搜索或维护检索逻辑。
  • 只需上传文档,Gemini 会在内部处理索引和检索。

从开发者的角度来看,这显著降低了基础设施的复杂性并加快了上市时间。

导致摩擦的因素

(内容在原始提交中被截断。)

Source:

Gemini 文件搜索存储 API(v1beta)的问题

该 API 仍处于 beta 阶段(v1beta),问题也随之而来。

1. 多个基础 URL

文件上传使用:

https://generativelanguage.googleapis.com/upload/v1beta

而其他操作使用:

https://generativelanguage.googleapis.com/v1beta

在不同的基础 URL 之间对同一逻辑实体进行操作会让人感到困惑。

2. 不同的上传流程返回不同的结构

上传文件有两种方式:

  1. 先上传文件,再将其附加到 Store
  2. 直接上传到 Store 中

这两种方式返回的响应格式不同。

  • 如果单独上传后再附加,路径以 files/... 开头。
  • 如果直接上传到 Store,得到的路径是 documents/...

对于文件搜索 Store 查询,需要使用 documents/... 格式。这一点并不直观,需要通过反复试验才能发现。

3. 负载下的稳定性

在高峰时段,API 有时会出现延迟或间歇性错误。在生产环境中,这需要:

  • 合理的错误处理
  • 使用指数退避的重试逻辑

我希望看到的

  • 统一的基础 URL 用于所有 API 操作
  • 一致的响应结构 跨上传流程
  • 清晰的文档 包含端到端文件搜索存储示例
  • 存储级别的管理操作(例如,一次请求删除包含所有文档的 Store)
  • 长期目标: 兼容 S3 的存储接口,以便更容易集成
  • 一个稳定的、非 beta 发行版

总体收获

Google Gemini ——尤其是 File Search Store ——显著降低了构建 AI 驱动站点搜索的门槛。对于 WordPress 开发者而言,这使得在不维护完整 RAG 基础设施的情况下实现高级 AI 搜索成为可能。

0 浏览
Back to Blog

相关文章

阅读更多 »