构建LangChain应用程序的示例代码:15、与Cassandra数据库集成操作指南

设置环境

Python 模块

安装以下 Python 模块:

pip install ipykernel python-dotenv cassio pandas langchain_openai langchain langchain-community langchainhub langchain_experimental openai-multi-tool-use-parallel-patch

加载 .env 文件

连接使用 cassio 并通过 auto=True 参数,notebook 使用 OpenAI。您应该相应地创建一个 .env 文件。

对于 Cassandra,设置:

CASSANDRA_CONTACT_POINTS
CASSANDRA_USERNAME
CASSANDRA_PASSWORD
CASSANDRA_KEYSPACE

对于 Astra,设置:

ASTRA_DB_APPLICATION_TOKEN
ASTRA_DB_DATABASE_ID
ASTRA_DB_KEYSPACE

例如:

# 连接到 Astra:
ASTRA_DB_DATABASE_ID=a1b2c3d4-...
ASTRA_DB_APPLICATION_TOKEN=AstraCS:...
ASTRA_DB_KEYSPACE=notebooks

同时设置
OPENAI_API_KEY=sk-.....

(您也可以修改下面的代码,直接使用 cassio 连接。)

from dotenv import load_dotenv
load_dotenv(override=True)

连接到 Cassandra

import os
import cassio
cassio.init(auto=True)
session = cassio.config.resolve_session()
if not session:
    raise Exception(
        "检查环境配置或手动配置 cassio 连接参数"
    )

keyspace = os.environ.get(
    "ASTRA_DB_KEYSPACE", os.environ.get("CASSANDRA_KEYSPACE", None)
)
if not keyspace:
    raise ValueError("必须设置 KEYSPACE 环境变量")

session.set_keyspace(keyspace)

设置数据库

这只需要做一次!

下载数据

使用的数据集来自 Kaggle,环境传感器遥测数据。下一个单元格将自动下载并解压缩数据到 Pandas 数据框中。下面的单元格是手动下载的说明。

本节的最终结果是您应该有一个 Pandas 数据框变量 df。

自动下载
from io import BytesIO
from zipfile import ZipFile
import pandas as pd
import requests

datasetURL = "https://storage.googleapis.com/kaggle-data-sets/788816/1355729/bundle/archive.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=gcp-kaggle-com%40kaggle-161607.iam.gserviceaccount.com%2F20240404%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20240404T115828Z&X-Goog-Expires=259200&X-Goog-SignedHeaders=host&X-Goog-Signature=2849f003b100eb9dcda8dd8535990f51244292f67e4f5fad36f14aa67f2d4297672d8fe6ff5a39f03a29cda051e33e95d36daab5892b8874dcd5a60228df0361fa26bae491dd4371f02dd20306b583a44ba85a4474376188b1f84765147d3b4f05c57345e5de883c2c29653cce1f3755cd8e645c5e952f4fb1c8a735b22f0c811f97f7bce8d0235d0d3731ca8ab4629ff381f3bae9e35fc1b181c1e69a9c7913a5e42d9d52d53e5f716467205af9c8a3cc6746fc5352e8fbc47cd7d18543626bd67996d18c2045c1e475fc136df83df352fa747f1a3bb73e6ba3985840792ec1de407c15836640ec96db111b173bf16115037d53fdfbfd8ac44145d7f9a546aa"

response = requests.get(datasetURL)
if response.status_code == 200:
    zip_file = ZipFile(BytesIO(response.content))
    csv_file_name = zip_file
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hugo_Hoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值