长亭百川云 - 文章详情

基于langchain使用百度Wenxin自然语言处理MySQL - sevck

博客园 - sevck

111

2024-07-19

昨天下午同事刚好发来langchain使用OPENAI 来自然语言处理sqlite

https://youtu.be/Tubl4scsXc4?si=Y\_zOIrbkZVtndNoP

刚好有时间可以测一测玩玩

博主github:https://github.com/clairelovesgravy/langchain\_database\_search

目前部分代码还是不太兼容,例如新版本langchain的SQLDatabase和SQLDatabaseChain已经修改到其他的库里了,博主的MYSQL链接问题等等。

新版要求python要高于3.7以上,较低版本无法运行,有包会冲突。本地测试环境:Python 3.10.12

pip install openai langchain langchain-wenxin pymysql langchain\_experimental

例如代码中的

老版本:  
ImportError: cannot import name 'SQLDatabaseChain' from 'langchain'  
新版本:  
from langchain\_experimental.sql import SQLDatabaseChain  
  
老版本:
from langchain import OpenAI, SQLDatabase  
  
新版本:
from langchain.utilities import SQLDatabase  
  
老版本
db = SQLDatabase.from\_uri(  
    f'mysql://{sys.db\_user}:{sys.db\_password}@{sys.db\_host}:{int(sys.db\_port)}/{sys.db\_db\_name}')  
新版本:
db = SQLDatabase.from\_uri(  
    f'mysql+pymysql://{sys.db\_user}:{sys.db\_password}@{sys.db\_host}:{int(sys.db\_port)}/{sys.db\_db\_name}')

测试OPENAI的key也没了,修改为国内的文心一言,本想直接找现成的使用看看效果,发现文章基本没有,干脆直接自己写个demo把。

使用的LLM模型为:ernie-bot-turbo, 使用国内的文心一言还不能直接将文本转换为SQL,经常提示报错,因为返回了```sql   xxxx``` 格式直接带入查询,当SQL使用,肯定报错。

看视频ChatGPT可以直接使用(此处不严谨,没亲自尝试3.5和4是否可以,视频可以,有待论证)

后参考官方文档:

https://python.langchain.com/docs/use\_cases/qa\_structured/sql

国内

可以使用create_sql_query_chain来完成SQL的自然语言处理:

测试代码:

https://github.com/sevck/langchain\_demo

最终效果:

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2