Skip to main content
本文将帮助你快速上手 Cassandra 键值存储。有关 CassandraByteStore 所有特性和配置的详细文档,请参阅 API 参考

概述

Cassandra 是一种 NoSQL、面向行的、高度可扩展且高可用的数据库。

集成详情

本地支持JS 支持下载量版本
CassandraByteStorelangchain-communityPyPI - DownloadsPyPI - Version

配置

CassandraByteStoreByteStore 的一个实现,将数据存储在你的 Cassandra 实例中。存储的键必须是字符串,并将映射到 Cassandra 表的 row_id 列;存储的 bytes 值映射到 body_blob 列。

安装

LangChain CassandraByteStore 集成位于 langchain-community 包中。根据使用的初始化方式,还需要安装 cassiocassandra-driver 包作为对等依赖:
pip install -qU langchain-community
pip install -qU cassandra-driver
pip install -qU cassio
你还需要创建一个 cassandra.cluster.Session 对象,具体说明请参阅 Cassandra 驱动文档。具体细节因网络设置和认证方式而异,示例如下:

实例化

首先需要创建一个 cassandra.cluster.Session 对象,具体说明请参阅 Cassandra 驱动文档。具体细节因网络设置和认证方式而异,示例如下:
from cassandra.cluster import Cluster

cluster = Cluster()
session = cluster.connect()
然后可以创建存储!你还需要提供 Cassandra 实例中已有 keyspace 的名称:
from langchain_community.storage import CassandraByteStore

kv_store = CassandraByteStore(
    table="my_store",
    session=session,
    keyspace="<YOUR KEYSPACE>",
)

使用方法

可以使用 mset 方法在键下设置数据:
kv_store.mset(
    [
        ["key1", b"value1"],
        ["key2", b"value2"],
    ]
)

kv_store.mget(
    [
        "key1",
        "key2",
    ]
)
可以使用 mdelete 方法删除数据:
kv_store.mdelete(
    [
        "key1",
        "key2",
    ]
)

kv_store.mget(
    [
        "key1",
        "key2",
    ]
)

使用 cassio 初始化

也可以使用 cassio 来配置 session 和 keyspace。
import cassio

cassio.init(contact_points="127.0.0.1", keyspace="<YOUR KEYSPACE>")

store = CassandraByteStore(
    table="my_store",
)

store.mset([("k1", b"v1"), ("k2", b"v2")])
print(store.mget(["k1", "k2"]))

API 参考

有关 CassandraByteStore 所有特性和配置的详细文档,请参阅 API 参考:python.langchain.com/api_reference/community/storage/langchain_community.storage.cassandra.CassandraByteStore.html