有时候,您会在偶然之间体验到一种不但操作简单而且实用性强的功能,让您不禁感叹自己以前未曾使用过此功能的生活是如此难以想象。对于Google Cloud使用者而言,Vertex AI的连接谷歌搜索功能便是这样的存在。
在这篇文章中,Google Cloud将为您介绍为何需要与大型语言模型(LLMs)建立依据,以及如何通过Vertex AI和谷歌搜索建立连接的功能,达到效率最大化。
为何需要与大型语言模型(LLMs)建立连接?
您或许会疑惑:大型语言模型(LLMs)如此出色,为何还需要与其建立连接呢?
LLMs在内容生成方面确实卓越,但仍有诸多不足:
1. 生成的内容可能并不真实(脱离现实)。
2. 生成的内容可能陈旧(未基于最新信息)。
3. 生成的内容缺乏引文来源。
4. 生成的内容与你的私人数据无关(仅基于公开知识)。
与LLMs建立连接至关重要,它有助于克服这些局限,构建更加可靠和值得信赖的生成式人工智能应用。
与Vertex AI建立连接
Google Cloud的Vertex AI Agent Builder基于公开或私有数据,提供了多样化的现实融合方案。

本篇文章重点探讨了与谷歌搜索建立连接,使得大型语言模型能够基于谷歌搜索的可靠知识和公共事实来组织其回答这一方法,其有助于减少内容虚构,并为大型语言模型提供更实时、更准确的数据支持。
若还未建立连接
首先,让我们先来看看未与谷歌搜索建立连接时的情形:
在Vertex AI上,我们向一个基于文本的模型提出一些需要最新数据的问题:
我作为阿森纳的球迷,好奇模型是否知晓阿森纳最近的比赛结果。
提问:阿森纳足球俱乐部的最新比赛结果如何?
回答:我无法获取实时信息,因此无法提供阿森纳最新的比赛结果。为了获取最新的信息,我建议您查阅官方体育网站或新闻来源。
在我所居住的伦敦,人们总是热议天气。模型能否为我解答有关天气的疑惑呢?
提问:伦敦昨天的天气如何?
回答:我并未掌握实时信息,包括天气数据。为了获取最新的伦敦天气信息,我建议您查阅可靠的天气来源。您可以在BBC Weather、AccuWeather或The Weather Channel等网站和应用上找到天气预报和历史数据。
不出所料,模型无法回答这些问题,因为它们需要最新的数据支持。
接下来,让我们启用建立连接功能,看看回答会有何变化。
如何启用谷歌搜索建立连接
要启用谷歌搜索建立连接的功能,请前往谷歌云控制台中的Vertex AI工作室,创建或选择一个提示。
在左侧的高级部分,您会看到“启用连接”的切换按钮:

当您启用它时,系统会提示您进行个性化设置:

选择谷歌搜索:

使用建立连接
既然我们已经启用了谷歌搜索建立连接,那么让我们再次提出相同的问题:
提问:阿森纳足球俱乐部的最新比赛结果如何?
回答:阿森纳在英超赛季收官之战中以2-1力克埃弗顿,[1]然而,他们在冠军角逐中仍未能如愿折桂。[1]
消息引用:
1.Arsenal vs Everton LIVE! Premier League result, match stream and latest updates today
真有意思!我们得到了一个回答,并且还有相关引用。
但回答是否正确呢?为了验证其准确性,我们前往谷歌搜索阿森纳的比赛结果。
果不其然,回答是准确的:

让我们来问一些其他问题:
提问:伦敦昨天的天气如何?
回答:在2024年5月20日,伦敦的天气宜人,日间气温达到17°C,夜晚则降至8°C。[3] 平均每日日照时长为6小时,并有13天出现了些许降雨。[3][4] 伦敦五月的天气通常温和晴朗,偶尔伴有阵雨。[1][2] 然而,天气变幻莫测,因此在计划任何户外活动之前,查看最新的天气预报总是一个好主意。
这较之前的回答更加精准了。
可以确认的是,5月20日的天气确实宜人晴朗!
这看似神奇,但要如何在应用中实现这一功能的呢?
如何为谷歌搜索建立连接编写代码?
您或许认为,编写像谷歌搜索建立连接这样有强大功能的代码实现起来会涉及诸多复杂步骤,但实际上,它相当简洁明了。
以下是我们Python文档中的一个示例——gemini_grounding_example.py。
只需定义谷歌搜索检索工具,并在生成内容调用中使用它即可:
tool = Tool.from_google_search_retrieval(grounding.GoogleSearchRetrieval())prompt = "When is the next total solar eclipse in US?"response = model.generate_content(prompt,tools=[tool],generation_config=GenerationConfig(temperature=0.0,),)
建立连接并不局限于Python。在C#中,您可以在GroundingWebSample.cs中定义谷歌搜索检索工具,并在生成内容请求中使用它:
var generateContentRequest = new GenerateContentRequest
{
Model = $"projects/{projectId}/locations/{location}/publishers/{publisher}/models/{model}",
GenerationConfig = new GenerationConfig
{
Temperature = 0.0f
},
Contents =
{
new Content
{
Role = "USER",
Parts = { new Part { Text = "When is the next total solar eclipse in US?" } }
}
},
Tools =
{
new Tool
{
GoogleSearchRetrieval = new GoogleSearchRetrieval()
}
}
};
var generateContentRequest = new GenerateContentRequest
{
Model = $"projects/{projectId}/locations/{location}/publishers/{publisher}/models/{model}",
GenerationConfig = new GenerationConfig
{
Temperature = 0.0f
},
Contents =
{
new Content
{
Role = "USER",
Parts = { new Part { Text = "When is the next total solar eclipse in US?" } }
}
},
Tools =
{
new Tool
{
GoogleSearchRetrieval = new GoogleSearchRetrieval()
}
}
};
总结
Vertex AI与谷歌搜索建立连接功能的实现让我们获取信息更加真实可靠。当信息的真实性和时效性至关重要时,这一功能便显得尤为重要,其强大的实用性和易用性十分有效地提高办事效率。