langchain SQLDatabaseChain 无法接受内存中的 sqlite 数据库

问题描述 投票:0回答:1

在Python中,我有一个sqlite3内存数据库:

db = sqlite3.connect(':memory:')

我用一个简单的表格和 pandas 数据框中的一些数据填充了它。

我也已经设立了法学硕士。

现在,我想将它传递到 langchain

SQLDatabaseChain
,如下所示:

from langchain_community.utilities import SQLDatabase
db_chain = SQLDatabaseChain.from_llm(llm, db)

但是 sqlite 数据库在内存中,看起来该函数不会接受它。

我得到:

  File "/home/me/python3.8/site-packages/langchain_experimental/sql/base.py", line 226, in from_llm
    prompt = prompt or SQL_PROMPTS.get(db.dialect, PROMPT)
AttributeError: 'sqlite3.Connection' object has no attribute 'dialect'

有人知道如何避免将数据库写入磁盘并仍然使用此工具吗?

python sqlite langchain
1个回答
0
投票

找到一个简单的答案:

db = SQLDatabase.from_uri("sqlite://")

© www.soinside.com 2019 - 2024. All rights reserved.