描述错误
我正在输入一个PostgreSQL连接字符串,但是遇到了一个错误:构建组件SQLDatabase时出错:无法加载插件:sqlalchemy.dialects:postgres。
浏览器和版本
- 浏览器:Chrome
- 版本:1.05
重现问题
重现问题的步骤:
- 创建一个新的流程
- 点击SQLDatabase工具
- 输入PostgreSQL URI连接字符串并点击“运行”
- 查看错误
截图
额外的上下文
如果我没有弄错的话,sqlalchemy已经弃用了postgres,只允许使用postgresql方言。然而在InLangflow中,SQLDatabase、SQLExecutor等仍然将PostgreSQL URI显式替换为postgres:
def clean_up_uri(self, uri: str) -> str:
if uri.startswith("postgresql://"):
uri = uri.replace("postgresql://", "postgres://")
return uri.strip()
4条答案
按热度按时间jmo0nnb31#
嘿,@antoremin!我在这里帮助你解决任何bug、问题或贡献。在我们等待人工维护者时,让我们一起解决这个问题。
要解决错误 "Error building component SQLDatabase: can't load plugin: sqlalchemy.dialects:postgres",你需要确保PostgreSQL URI的格式正确。
SQLDatabaseComponent
类中的clean_up_uri
方法将"postgresql://"替换为"postgres://",这是必要的,因为SQLAlchemy期望URI的格式为"postgres://"。以下是相关代码的一部分:
在将其传递给
SQLDatabase.from_uri
方法之前,请确保使用此方法正确格式化URI。这应该解决了与加载PostgreSQL插件相关的错误。以下是如何使用
SQLDatabaseComponent
构建SQLDatabase的示例:这将确保URI被清理并正确格式化,使SQLDatabase实用程序能够在不遇到插件加载错误1(https://github.com/langflow-ai/langflow/blob/dev/src/backend/base/langflow/components/langchain_utilities/SQLDatabase.py)2(https://github.com/logspace-ai/langflow/blob/dev/src/backend/base/langflow/components/langchain_utilities/SQLDatabase.py)的情况下连接到PostgreSQL数据库。
vs91vp4v2#
你好@antoremin,
需要帮助解决这个问题吗?如果不需要,请告知我们是否可以关闭此问题。
bxgwgixi3#
你好@antoremin,
需要帮助解决这个问题吗?如果不需要,请告知我们是否可以关闭此问题。
实际上我昨天也遇到了相同的错误。
如果我有时间,我会检查一下,根据我的知识,替换可能无法解决问题了。
ig9co6j14#
我检查了一下,组件似乎已经过时了。它需要更新到组件所基于的新模型。