langchain DOC:Some questions about Execute SQL query

zpjtge22  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(48)

URL

https://python.langchain.com/v0.2/docs/tutorials/sql_qa/

待办事项清单:

  • 为这个问题添加了一个非常描述性的标题。
  • 如果适用,我包含了一个指向我参考的文档页面的链接。

当前文档的问题:

from langchain_community.tools.sql_database.tool import QuerySQLDataBaseTool

execute_query = QuerySQLDataBaseTool(db=db)
write_query = create_sql_query_chain(llm, db)
chain = write_query l execute_query
chain.invoke({"question": "How many employees are there"})

write_query生成的结果并非完全是SQL,因此execute_query会报告错误。
我的解决方法:

chain = write_query | extract_sql |execute_query
def extract_sql(txt: str) -> str:
    code_block_pattern = r'```sql(.*?)```'
    code_blocks = re.findall(code_block_pattern, txt, re.DOTALL)
    if code_blocks:
        return code_blocks[0]
    else:
        return ""

同时,提示词也会被修改。
请使用以下格式返回:
"""

write sql here

"""

关于内容的想法或请求:

  • 无响应*
csbfibhn

csbfibhn1#

URL

https://python.langchain.com/v0.2/docs/tutorials/sql_qa/

待办事项清单:

  • 为这个问题添加了一个非常描述性的标题。
  • 如果适用,我包含了一个指向我参考的文档页面的链接。

当前文档的问题:

from langchain_community.tools.sql_database.tool import QuerySQLDataBaseTool

execute_query = QuerySQLDataBaseTool(db=db)
write_query = create_sql_query_chain(llm, db)
chain = write_query l execute_query
chain.invoke({"question": "How many employees are there"})

write_query生成的结果并非完全是SQL,因此execute_query会报告错误。我的解决方法:

chain = write_query | extract_sql |execute_query
def extract_sql(txt: str) -> str:
    code_block_pattern = r'```sql(.*?)```'
    code_blocks = re.findall(code_block_pattern, txt, re.DOTALL)
    if code_blocks:
        return code_blocks[0]
    else:
        return ""

同时,提示词也会被修改。请使用以下格式返回:"""

write sql here

"""

关于内容的想法或请求:

  • 无响应*

修改你的“extract_sql”方法:

相关问题