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

在本 notebook 中,我们将快速演示如何使用 TairVectorStore。

如果你在 Colab 中打开这个 Notebook,可能需要先安装 LlamaIndex 🦙。

%pip install llama-index-vector-stores-tair
!pip install llama-index
import os
import sys
import logging
import textwrap

import warnings

warnings.filterwarnings("ignore")

# stop huggingface warnings
os.environ["TOKENIZERS_PARALLELISM"] = "false"

# Uncomment to see debug logs
# logging.basicConfig(stream=sys.stdout, level=logging.INFO)
# logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))

from llama_index.core import (
    GPTVectorStoreIndex,
    SimpleDirectoryReader,
    Document,
)
from llama_index.vector_stores.tair import TairVectorStore
from IPython.display import Markdown, display

设置 OpenAI

首先,让我们添加 openai api key。这将使我们能够访问 openai 以进行嵌入并使用 chatgpt。

import os

os.environ["OPENAI_API_KEY"] = "sk-<your key here>"

下载数据

!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(
    "Document ID:",
    documents[0].doc_id,
    "Document Hash:",
    documents[0].doc_hash,
)

从文档构建索引

让我们使用 GPTVectorStoreIndex 构建向量索引,并以 TairVectorStore 作为其后端。将 tair_url 替换为你的 Tair 实例的实际 URL。

from llama_index.core import StorageContext

tair_url = "redis://{username}:{password}@r-bp****************.redis.rds.aliyuncs.com:{port}"

vector_store = TairVectorStore(
    tair_url=tair_url, index_name="pg_essays", overwrite=True
)
storage_context = StorageContext.from_defaults(vector_store=vector_store)
index = GPTVectorStoreIndex.from_documents(
    documents, storage_context=storage_context
)

查询数据

现在我们可以将该索引作为知识库,并向其提问。

query_engine = index.as_query_engine()
response = query_engine.query("What did the author learn?")
print(textwrap.fill(str(response), 100))
response = query_engine.query("What was a hard moment for the author?")
print(textwrap.fill(str(response), 100))

删除文档

要从索引中删除文档,请使用 delete 方法。

document_id = documents[0].doc_id
document_id
info = vector_store.client.tvs_get_index("pg_essays")
print("Number of documents", int(info["data_count"]))
vector_store.delete(document_id)
info = vector_store.client.tvs_get_index("pg_essays")
print("Number of documents", int(info["data_count"]))

删除索引

使用 delete_index 方法删除整个索引。

vector_store.delete_index()
print("Check index existence:", vector_store.client._index_exists())

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