CassandraByteStore
这将帮助您开始使用 Cassandra 键值存储。有关 CassandraByteStore 所有功能和配置的详细文档,请参阅 API 参考。
概述
Cassandra 是一个 NoSQL、面向行、高可扩展性和高可用性的数据库。
集成详情
| 类 | 包 | 本地 | JS 支持 | 包下载量 | 包最新版本 |
|---|---|---|---|---|---|
| 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 驱动程序文档中所述。具体细节会有所不同(例如,网络设置和身份验证),但这可能类似于:
实例化
首先需要创建一个 cassandra.cluster.Session 对象,具体方法如 Cassandra 驱动程序文档 中所述。具体细节会有所不同(例如网络设置和身份验证),但这可能会是这样的:
from cassandra.cluster import Cluster
cluster = Cluster()
session = cluster.connect()
然后你就可以创建你的 store 了!你还需要提供一个 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 参考:https://python.langchain.com/api_reference/community/storage/langchain_community.storage.cassandra.CassandraByteStore.html
Related
- Key-value store conceptual guide