使用Google Vertex AI Search进行企业级高级搜索

技术背景介绍

Google Vertex AI Search(前称为Enterprise Search on Generative AI App Builder)是Google Cloud提供的Vertex AI机器学习平台的一部分。Vertex AI Search允许组织快速建立由生成式AI驱动的搜索引擎,为客户和员工提供服务。它基于各种Google Search技术,包括语义搜索,通过使用自然语言处理和机器学习技术来推断内容中的关系和用户查询的意图,从而提供比传统关键字搜索技术更相关的结果。

Vertex AI Search在Google Cloud控制台和API中可用,方便企业工作流程集成。

核心原理解析

Vertex AI Search利用了Google多年的搜索技术积累。其核心在于语义搜索,通过理解用户的查询意图和内容相关性来提高搜索结果的质量。语义搜索不仅仅依赖于关键词匹配,而是通过分析上下文来提供更准确的答案。

代码实现演示

安装依赖

首先,您需要安装langchain-google-communitygoogle-cloud-discoveryengine包。

%pip install -qU langchain-google-community google-cloud-discoveryengine

配置Google Cloud和Vertex AI Search访问权限

配置前,需要在Google Cloud控制台创建一个搜索引擎并填充数据存储。请参考Vertex AI Search入门指南进行相关设置。

接下来,设置访问凭证:

import sys

if "google.colab" in sys.modules:
    from google.colab import auth as google_auth
    google_auth.authenticate_user()

使用Vertex AI Search Retriever

以下是如何配置和使用不同类型的数据检索器的示例代码:

检索非结构化数据
from langchain_google_community import VertexAISearchRetriever

PROJECT_ID = ""
LOCATION_ID = ""
DATA_STORE_ID = ""

retriever = VertexAISearchRetriever(
    project_id=PROJECT_ID,
    location_id=LOCATION_ID,
    data_store_id=DATA_STORE_ID,
    max_documents=3,
)

query = "What are Alphabet's Other Bets?"

result = retriever.invoke(query)
for doc in result:
    print(doc)
检索结构化数据
retriever = VertexAISearchRetriever(
    project_id=PROJECT_ID,
    location_id=LOCATION_ID,
    data_store_id=DATA_STORE_ID,
    max_documents=3,
    engine_data_type=1,
)

result = retriever.invoke(query)
for doc in result:
    print(doc)
检索网站数据
retriever = VertexAISearchRetriever(
    project_id=PROJECT_ID,
    location_id=LOCATION_ID,
    data_store_id=DATA_STORE_ID,
    max_documents=3,
    max_extractive_answer_count=3,
    get_extractive_answers=True,
    engine_data_type=2,
)

result = retriever.invoke(query)
for doc in result:
    print(doc)
使用多轮搜索

多轮搜索基于生成式AI模型,不同于常规非结构化数据搜索。

from langchain_google_community import VertexAIMultiTurnSearchRetriever

retriever = VertexAIMultiTurnSearchRetriever(
    project_id=PROJECT_ID, location_id=LOCATION_ID, data_store_id=DATA_STORE_ID
)

result = retriever.invoke(query)
for doc in result:
    print(doc)

应用场景分析

Vertex AI Search可以应用于以下场景:

  • 企业内部检索:员工可以快速找到相关的内部文档和信息,提高工作效率。
  • 客户服务:客户可以通过搜索引擎快速获取帮助文档和常见问题的解答,提升客户满意度。
  • 内容管理:通过语义搜索,可以更有效地管理和检索大量的非结构化数据。

实践建议

  1. 数据准备充分:确保数据存储中有足够多的高质量数据,这样才能更好地响应用户查询。
  2. 配置优化:根据实际使用场景,调整检索器的配置参数,如最大返回文档数、是否启用扩展查询等。
  3. 安全和权限管理:确保API密钥和访问权限的安全设置,以防止未经授权的访问。

如果遇到问题欢迎在评论区交流。

—END—

你可能感兴趣的:(人工智能,python)