Astra DB 是由 DataStax 提供的无服务器 (serverless)、支持向量存储的数据库,构建在 Apache Cassandra® 之上。借助直观易用的 JSON API 和 Python SDK(如 langchain-astradb
包),开发者可以高效地完成向量存储、缓存管理、文档加载等任务。
在本教程中,我们将深入探讨 Astra DB 的核心功能及其 Python 集成,用实际代码演示如何在开发中使用这些功能。
1. 技术背景介绍
Astra DB 是一款强大的数据库服务,支持以下特性:
- 高可用性与无服务器架构:基于 Cassandra 的分布式存储。
- 向量检索:支持向量存储,与机器学习和 LLM(Large Language Models)高度兼容。
- JSON API:可通过直观的 RESTful API 与数据库交互。
- LangChain 支持:通过
langchain-astradb
,集成缓存、向量检索和自定义存储功能。
为了便于使用,DataStax 提供了一个 Python 库 langchain-astradb
,可以快速进行功能扩展。
2. 安装与环境配置
安装依赖
pip install "langchain-astradb>=0.1.0"
获取数据库连接密钥并配置环境变量
在 Astra DB 管理界面中:
- 生成应用令牌 (
Application Token
)。 - 找到您的 API 端点 (
API Endpoint
)。
在本地设置以下环境变量:
export ASTRA_DB_APPLICATION_TOKEN="your-token"
export ASTRA_DB_API_ENDPOINT="your-api-endpoint"
或者在代码中直接设置:
import os
os.environ['ASTRA_DB_APPLICATION_TOKEN'] = 'your-token'
os.environ['ASTRA_DB_API_ENDPOINT'] = 'your-api-endpoint'
3. 核心功能解析与代码演示
3.1 向量存储
Astra DB 支持高效的向量存储,与 LLM 功能完美结合。
from langchain_astradb import AstraDBVectorStore
# 初始化向量存储
vector_store = AstraDBVectorStore(
embedding=my_embedding,