You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用LangChain结合AstraDB存储向量时遭遇Connection refused(错误111)连接失败问题

LangChain结合AstraDB存储向量时遭遇Connection refused(错误111)连接失败问题

嘿,看起来你遇到的核心问题是LangChain的Cassandra向量存储实例没有拿到有效的AstraDB会话,虽然cassio.init()没报错,但你手动传了session=None,这就导致LangChain没法和数据库建立连接,自然抛出连接拒绝的错误了。给你几个针对性的解决思路:

1. 正确传递cassio初始化后的会话

当你调用cassio.init()之后,cassio会在后台维护一个默认的数据库会话,你不需要手动创建或传None,直接从cassio获取这个已初始化的会话就行:

from langchain.vectorstores.cassandra import Cassandra
from langchain.embeddings import OllamaEmbeddings
from cassio.config import check_resolve_session

embeddings = OllamaEmbeddings(model="llama3")
# 从cassio获取已初始化的会话
session = check_resolve_session()
astra_vector_store = Cassandra(
    embedding=embeddings,
    table_name="groq_project",
    session=session
)

这个步骤应该能解决大部分连接问题,因为之前的session=None相当于告诉LangChain“我没有可用的数据库连接”,它自然没法连上AstraDB。

2. 验证环境变量的有效性

虽然cassio.init()没报错,但还是要确认你的环境变量确实是正确且有效的:

import os
ASTRA_DB_APPLICATION_TOKEN = os.environ.get("ASTRA_DB_APPLICATION_TOKEN")
ASTRA_DB_ID = os.environ.get("ASTRA_DB_ID")

print("数据库ID:", ASTRA_DB_ID)
print("Token是否存在:", bool(ASTRA_DB_APPLICATION_TOKEN))

如果Token为空或者数据库ID不对,哪怕cassio.init()没触发即时错误,后续操作也会因为权限或实例匹配失败而连接拒绝。记得去AstraDB控制台确认你的Token是Application Token(不是管理员Token),并且数据库ID是对应实例的正确ID。

3. 检查网络与防火墙设置

错误111是典型的“目标机器拒绝连接”,有可能你的运行环境(比如conda所在的服务器/本地机器)无法访问AstraDB的网络端点:

  • 先确认你的AstraDB实例的网络设置是否允许当前IP访问:登录AstraDB控制台,进入对应实例的「Networking」页面,看看是否把当前IP加入了允许列表(如果是“Allow All”模式就跳过这步)。
  • 可以用curl测试一下网络连通性(替换成你的实例端点,格式一般是https://<DB_ID>-<区域>.apps.astra.datastax.com):
curl -I https://你的ASTRA_DB_ID-us-east1.apps.astra.datastax.com/api/rest/v2/keyspaces

如果curl也返回连接拒绝,那就是网络层面的问题,需要检查本地防火墙、代理设置,或者联系网络管理员开放对应端口。

4. 确认依赖版本兼容性

有时候不同版本的cassio、langchain、cassandra-driver之间会存在兼容性问题,导致连接异常:
先查看当前安装的版本:

pip list | grep -E 'cassio|langchain|cassandra-driver'

尝试升级到最新的兼容版本:

pip install --upgrade cassio langchain cassandra-driver

一般来说,先尝试第一步的会话传递方法,就能解决绝大多数类似的连接问题啦~

备注:内容来源于stack exchange,提问作者Time

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 15:48:07