[加速AI体验:使用Google Memorystore for Redis提升应用缓存性能]

47 阅读2分钟

加速AI体验:使用Google Memorystore for Redis提升应用缓存性能

引言

在构建高效的AI应用时,快速的数据访问至关重要。Google Memorystore for Redis提供了一个完全托管的Redis内存数据存储服务,可以实现亚毫秒级的数据访问。本文将介绍如何利用Memorystore for Redis的Langchain集成来保存、加载和删除文档。

主要内容

准备工作

  1. 创建Google Cloud项目
  2. 启用Memorystore for Redis API
  3. 创建Memorystore for Redis实例:确保版本为5.0或更高。

在运行示例代码之前,请填写以下值:

ENDPOINT = "redis://127.0.0.1:6379"  # 使用API代理服务提高访问稳定性
KEY_PREFIX = "doc:"
PROJECT_ID = "my-project-id"

🦜🔗 库安装

首先安装langchain-google-memorystore-redis包:

%pip install -upgrade --quiet langchain-google-memorystore-redis

☁ 设置Google Cloud项目

设置Google Cloud项目以在笔记本中使用其资源:

!gcloud config set project {PROJECT_ID}

🔐 认证

使用以下代码在Colab中进行Google Cloud认证:

from google.colab import auth
auth.authenticate_user()

基本用法

保存文档

使用MemorystoreDocumentSaver保存文档:

import redis
from langchain_core.documents import Document
from langchain_google_memorystore_redis import MemorystoreDocumentSaver

test_docs = [
    Document(page_content="Apple Granny Smith 150 0.99 1", metadata={"fruit_id": 1}),
    Document(page_content="Banana Cavendish 200 0.59 0", metadata={"fruit_id": 2}),
    Document(page_content="Orange Navel 80 1.29 1", metadata={"fruit_id": 3}),
]

redis_client = redis.from_url(ENDPOINT)
saver = MemorystoreDocumentSaver(client=redis_client, key_prefix=KEY_PREFIX, content_field="page_content")
saver.add_documents(test_docs, ids=[f"{i}" for i in range(len(test_docs))])

加载文档

使用MemorystoreDocumentLoader加载文档:

from langchain_google_memorystore_redis import MemorystoreDocumentLoader

loader = MemorystoreDocumentLoader(
    client=redis_client,
    key_prefix=KEY_PREFIX,
    content_fields=set(["page_content"]),
)
for doc in loader.lazy_load():
    print("Loaded documents:", doc)

删除文档

可以按前缀或指定ID删除文档:

docs = loader.load()
print("Documents before delete:", docs)

saver.delete(ids=[0])
print("Documents after delete:", loader.load())

saver.delete()
print("Documents after delete all:", loader.load())

常见问题和解决方案

  1. 无法连接Redis实例:检查网络设置和API配置,考虑使用API代理服务确保网络稳定性。
  2. 文档未正确加载:验证文档结构和Redis键值对存储的一致性。

总结和进一步学习资源

使用Google Memorystore for Redis可以显著提高AI应用的数据访问速度。深入阅读以下资源可以帮助您更好地利用这一服务:

参考资料

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

---END---