Skip to content
LlamaIndex 文档版本 跟随上游 源快照 aea0bef1 更新于 2026-10-18

AnalyticDB for PostgreSQL 是一种大规模并行处理(MPP)数据仓库服务,旨在在线分析海量数据。

要运行此 notebook,你需要在云中运行一个 AnalyticDB for PostgreSQL 实例(你可以在 common-buy.aliyun.com 获取一个)。

创建实例后,你应该通过API或实例详情网页上的“Account Management”创建一个管理员账户。

你应确保已安装 llama-index:

%pip install llama-index-vector-stores-analyticdb
!pip install llama-index

请提供参数:

import os
import getpass

# alibaba cloud ram ak and sk:
alibaba_cloud_ak = ""
alibaba_cloud_sk = ""

# instance information:
region_id = "cn-hangzhou"  # region id of the specific instance
instance_id = "gp-xxxx"  # adb instance id
account = "test_account"  # instance account name created by API or 'Account Management' at the instance detail web page
account_password = ""  # instance account password

导入所需的包依赖:

from llama_index.core import (
    VectorStoreIndex,
    SimpleDirectoryReader,
    StorageContext,
)
from llama_index.vector_stores.analyticdb import AnalyticDBVectorStore

加载一些示例数据:

!mkdir -p 'data/paul_graham/'
!wget 'https://raw.githubusercontent.com/run-llama/llama_index/main/docs/examples/data/paul_graham/paul_graham_essay.txt' -O 'data/paul_graham/paul_graham_essay.txt'

读取数据:

# load documents
documents = SimpleDirectoryReader("./data/paul_graham/").load_data()
print(f"Total documents: {len(documents)}")
print(f"First document, id: {documents[0].doc_id}")
print(f"First document, hash: {documents[0].hash}")
print(
    "First document, text"
    f" ({len(documents[0].text)} characters):\n{'='*20}\n{documents[0].text[:360]} ..."
)

创建 AnalyticDB 向量存储对象:

analytic_db_store = AnalyticDBVectorStore.from_params(
    access_key_id=alibaba_cloud_ak,
    access_key_secret=alibaba_cloud_sk,
    region_id=region_id,
    instance_id=instance_id,
    account=account,
    account_password=account_password,
    namespace="llama",
    collection="llama",
    metrics="cosine",
    embedding_dimension=1536,
)

从文档构建索引:

storage_context = StorageContext.from_defaults(vector_store=analytic_db_store)

index = VectorStoreIndex.from_documents(
    documents, storage_context=storage_context
)

使用索引进行查询:

query_engine = index.as_query_engine()
response = query_engine.query("Why did the author choose to work on AI?")

print(response.response)

删除集合:

analytic_db_store.delete_collection()

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。