安装langchain-experimental后仍无法导入SQLDatabaseChain求助
解决LangChain导入SQLDatabase和SQLDatabaseChain的问题
问题原因
LangChain版本迭代后,多个核心模块被拆分到langchain-community和langchain-experimental子包中,原导入路径已失效:
SQLDatabase迁移至langchain-community包SQLDatabaseChain迁移至langchain-experimental包
解决步骤
安装缺失依赖包
执行命令安装SQLDatabase所在的langchain-community包:pip install langchain-community修正导入语句
将代码中的导入部分替换为以下正确路径:- 替换
SQLDatabase的导入:from langchain_community.sql_database import SQLDatabase - 替换
SQLDatabaseChain的导入:from langchain_experimental.sql_database import SQLDatabaseChain
- 替换
修正后的完整代码
# 1. Load db with langchain from langchain_community.sql_database import SQLDatabase db = SQLDatabase.from_uri("sqlite:////python/chatopenai/ecommerce.db") # 2. Import APIs import a_env_vars import os os.environ["OPENAI_API_KEY"] = a_env_vars.OPENAI_API_KEY # 3. Create LLM from langchain.chat_models import ChatOpenAI llm = ChatOpenAI(temperature=0, model_name='gpt-3.5-turbo') # 4. Create chain from langchain_experimental.sql_database import SQLDatabaseChain cadena = SQLDatabaseChain(llm=llm, database=db, verbose=False)
额外排查建议
如果仍存在导入问题,建议统一更新LangChain相关包到兼容版本:
pip install --upgrade langchain langchain-community langchain-experimental
内容的提问来源于stack exchange,提问作者Jav Hens
相关产品推荐
相关产品推荐

