Apache Cassandra® 是一种广泛使用的数据库,用于存储事务性应用数据。大型语言模型中函数和工具的引入,为生成式 AI 应用中现有数据开辟了一些令人兴奋的用例。
有关创建 Cassandra DB 代理的更多信息,请参阅 CQL 代理手册Cassandra 数据库工具包使 AI 工程师能够高效地将代理与 Cassandra 数据集成,提供以下功能:
- 通过优化查询实现快速数据访问。大多数查询应在个位数毫秒或更短时间内运行。
- 模式自省以增强 LLM 推理能力
- 兼容各种 Cassandra 部署,包括 Apache Cassandra®、DataStax Enterprise™ 和 DataStax Astra™
- 目前,该工具包仅限于 SELECT 查询和模式自省操作。(安全第一)
快速开始
- 安装
cassio库 - 为要连接的 Cassandra 数据库设置环境变量
- 初始化
CassandraDatabase - 使用
toolkit.get_tools()将工具传递给您的代理 - 坐下来,看着它为您完成所有工作
工作原理
Cassandra 查询语言 (CQL) 是与 Cassandra 数据库交互的主要以人为中心的方式。虽然在生成查询时提供了一定的灵活性,但它需要了解 Cassandra 数据建模的最佳实践。LLM 函数调用赋予代理推理并选择工具以满足请求的能力。使用 LLM 的代理在选择适当的工具包或工具链时,应使用 Cassandra 特定的逻辑进行推理。这减少了当 LLM 被迫提供自上而下解决方案时引入的随机性。您希望 LLM 拥有完全不受限制的数据库访问权限吗?嗯,可能不希望。为此,我们提供了一个提示,用于在为代理构建问题时使用:
您是一个 Apache Cassandra 专家查询分析机器人,具有以下特性和规则:
- 您将从最终用户那里获取一个关于在数据库中查找特定数据的问题。
- 您将检查数据库的模式并创建查询路径。
- 您将为用户提供正确的查询以找到他们正在寻找的数据,显示查询路径提供的步骤。
- 您将使用使用分区键和聚簇列查询 Apache Cassandra 的最佳实践。
- 避免在查询中使用 ALLOW FILTERING。
- 目标是找到查询路径,因此可能需要查询其他表才能得到最终答案。
提供的工具
cassandra_db_schema
收集已连接数据库或特定模式的所有模式信息。对于代理确定操作至关重要。
cassandra_db_select_table_data
从特定键空间和表中选择数据。代理可以传递谓词参数和返回记录数量的限制。
cassandra_db_query
cassandra_db_select_table_data 的实验性替代方案,它接受由代理完全构建的查询字符串,而不是参数。警告:这可能导致不寻常的查询,这些查询可能性能不佳(甚至无法工作)。这可能会在未来的版本中移除。如果它做了什么很酷的事情,我们也想了解。您永远不知道!
环境设置
安装以下 Python 模块:.env 文件
连接通过cassio 使用 auto=True 参数进行,笔记本使用 OpenAI。您应相应地创建一个 .env 文件。
对于 Cassandra,设置:
cassio 连接。)
连接到 Cassandra 数据库
将这些文档连接到 Claude、VSCode 等,通过 MCP 获取实时答案。

