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

Azure OpenAI LLM连接本地PostgreSQL遇导入错误求助

问题解决:无法导入SQLDatabaseChain及PostgreSQL连接修正

错误核心原因

  1. 导入路径变更:新版LangChain中,SQLDatabaseChain已从langchain.sql_database模块迁移至langchain_experimental.sql模块。
  2. 数据库连接方式错误:SQLDatabase的初始化参数格式不符合要求,需通过标准数据库URI完成连接。

修正后的完整代码

# 确保依赖已安装/更新
#!pip install langchain psycopg2-binary langchain-experimental openai
from langchain.llms import OpenAI
from langchain.sql_database import SQLDatabase
from langchain_experimental.sql import SQLDatabaseChain

# 配置Azure OpenAI环境变量(替换为你的实际参数)
import os
os.environ["OPENAI_API_TYPE"] = "azure"
os.environ["OPENAI_API_VERSION"] = "2023-05-15"  # 替换为你的API版本
os.environ["OPENAI_API_KEY"] = "你的Azure OpenAI密钥"
os.environ["OPENAI_API_BASE"] = "你的Azure OpenAI端点地址"

# PostgreSQL连接参数
host = "localhost"
port = 5433  
database = "dvdrental"
user = "postgres"
password = "xxxxxxx"

# 构建数据库URI并初始化连接
db_uri = f"postgresql://{user}:{password}@{host}:{port}/{database}"
db_conn = SQLDatabase.from_uri(db_uri)

# 初始化SQLDatabaseChain
llm = OpenAI(temperature=0, model_name="你的Azure OpenAI部署模型名称")
db_chain = SQLDatabaseChain.from_llm(llm, db_conn, verbose=True)

关键注意事项

  • 导入调整:必须从langchain_experimental.sql导入SQLDatabaseChain,执行pip install --upgrade langchain-experimental确保依赖为最新版本。
  • 数据库URI格式:PostgreSQL标准URI格式为postgresql://用户名:密码@主机:端口/数据库名,使用SQLDatabase.from_uri()是官方推荐的初始化方式。
  • Azure OpenAI配置:需正确设置环境变量指定Azure专属的API参数,初始化OpenAI时要匹配你的部署模型名称。

内容的提问来源于stack exchange,提问作者Mani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 00:55:02