使用 Laravel 构建 AI:让你的 AI 代理拥有实时网络搜索功能
发布日期 经过 哈里斯·拉夫托普洛斯
▶️ 观看视频教程 (8分钟)
我们的客服人员可以查询订单、搜索知识库,还能进行真实的对话。但如果你问它“联邦快递现在有延误吗?”,它却答不上来。我们的知识库只涵盖政策信息,不包含瞬息万变的信息,比如承运商延误情况、当前产品库存、服务中断页面等等。客服人员要么猜测,要么承认自己不知道。
在本集中,我们将通过赋予代理访问实时网络的权限来解决这个问题。SDK 自带两个提供程序工具:WebSearch 用于在线查找信息,WebFetch 用于读取特定页面。提供程序会处理实际的搜索操作,因此我们只需配置允许哪些域名以及返回多少条结果即可。
我为客服人员添加了网络搜索功能,并将搜索结果限制为五个,同时将允许列表限定为物流承运商。这个允许列表至关重要,绝对不能省略。如果没有它,客服人员就可以随意浏览互联网,并将找到的任何信息都反馈给客户。我还更新了客服人员的操作指南,确保其答案来源透明,明确指出答案是来自我们的官方政策,还是从网上搜集而来。
然后我进行测试。我询问一个通过 FedEx 发货但没有跟踪更新的订单,客服人员会查看订单和 FedEx 的状态。我询问 USPS Priority Mail 需要多长时间,它会返回当前答案,而不是根据可能已过时的训练数据进行猜测。我还演示了如何根据客户所在地区调整结果。
需要说明的是:WebFetch 目前仅支持 Anthropic 和 Gemini。由于本系列教程基于 OpenAI 平台,我们将使用 WebSearch,它完全能够满足我们的使用需求。
这为客服人员提供了五种工具:订单查询、客户历史记录、知识库搜索、文档搜索,以及现在的实时网络搜索。它可以从我们的数据库、文档和实时网络中找到答案。
下一集我们将添加生产环境基础设施。包括响应队列、提供商故障转移以及用于日志记录和速率限制的中间件。这些组件确保系统在凌晨两点你熟睡时也能正常运行。
⭐ GitHub: https://github.com/harris21/ship-ai-with-laravel
▶️ 立即观看第 8 集 →






