Cassandra字节存储
这将帮助您开始使用Cassandra 键值存储。有关所有CassandraByteStore功能和配置的详细文档,请前往API参考。
概览
Cassandra 是一个 NoSQL、面向行、高可扩展且高可用的数据库。
集成细节
| Class | 包 | 本地 | JS支持 | Package downloads | Package 最新版本 |
|---|---|---|---|---|---|
| CassandraByteStore | langchain_community | ✅ | ✅ |
设置
CassandraByteStore 是一个 ByteStore 的实现,它将数据存储在您的 Cassandra 实例中。 存储的键必须是字符串,并将映射到 Cassandra 表的 row_id 列。 存储的 bytes 值将映射到 Cassandra 表的 body_blob 列。
安装
LangChain CassandraByteStore 集成位于 langchain_community 包中。根据您使用的初始化方法,您还需要安装 cassio 包或 cassandra-driver 包作为同级依赖项:
%pip install -qU langchain_community
%pip install -qU cassandra-driver
%pip install -qU cassio
您还需要创建一个 cassandra.cluster.Session 对象,如 Cassandra 驱动程序文档 中所述。具体细节可能有所不同(例如网络设置和身份验证),但可能类似于以下内容:
Instantiation
首先,你需要创建一个 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来配置会话和密钥空间。
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参考文档:https://python.langchain.com/api_reference/community/storage/langchain_community.storage.cassandra.CassandraByteStore.html
相关
- 键值存储 概念指南