当前位置: 首页 > wzjs >正文

营口旅游网站开发传媒公司网站源码php

营口旅游网站开发,传媒公司网站源码php,个人网站怎么建立,wordpress源码书籍Langchainchain数据库操作_langchain 操作数据库-CSDN博客 本文和基于上述链接 进一步。 初始化数据库&模型 # temperature0,此处仅需要SQL语句,不需要多样化返回。 from langchain.chains.sql_database.query import create_sql_query_chain from …

Langchain+chain+数据库操作_langchain 操作数据库-CSDN博客

本文和基于上述链接 进一步。

初始化数据库&模型

# temperature=0,此处仅需要SQL语句,不需要多样化返回。

from langchain.chains.sql_database.query import create_sql_query_chain
from langchain_community.utilities import SQLDatabase
from langchain_community.tools import QuerySQLDataBaseTool
from langchain_openai import ChatOpenAI# sqlalchemy 初始化MySQL数据库的连接
HOSTNAME = '127.0.0.1'
PORT = '3306'
DATABASE = 'test_db8'
USERNAME = 'root'
PASSWORD = '123123'
# mysqlclient驱动URL
MYSQL_URI = 'mysql+mysqldb://{}:{}@{}:{}/{}?charset=utf8mb4'.format(USERNAME, PASSWORD, HOSTNAME, PORT, DATABASE)# 创建模型
model = ChatOpenAI(model='glm-4-0520',temperature=0,api_key='0884a4262379e6b9e98d08be606f2192.TOaCwXTLNYo1GlRM',base_url='https://open.bigmodel.cn/api/paas/v4/'
)db = SQLDatabase.from_uri(MYSQL_URI)# print(db.dialect) #打印方言
# print(db.get_usable_table_names()) #表名
# print(db.run('select * from t_emp;')) #SQL查询

生成SQL:create_sql_query_chain

create_sql_query_chain:只生成不执行,有完整的自带Prompt,因此 关键词question不能错

# chian.get_prompts()[0].pretty_print()  打印自带Prompt

chian = create_sql_query_chain(llm=model, db=db)
# chian.get_prompts()[0].pretty_print()
resp = chian.invoke({'question': '请问:一共有多少个员工?'})
print('大语言模型生成的SQL:' + resp)
sql = resp.replace('```sql', '').replace('```', '')
print('提取之后的SQL:' + sql)print(db.run(sql))

chain.invoke返回(与GPT4不同,GPT4可以直接获取SQL语句,但GLM的返回内容需要自行提取SQl语句)

自带Prompt

执行SQL:QuerySQLDataBaseTool 

这里的lambda 其实也可以换成自定义函数名(不需要加小括号)


from langchain_community.tools import QuerySQLDataBaseTool
from langchain_openai import ChatOpenAI# 生成SQL语句
create_sql = create_sql_query_chain(llm=model, db=db)# 执行SQL语句
execute_sql = QuerySQLDataBaseTool(db=db)  # langchain内置的工具chain = create_sql  | (lambda x: x.replace('```sql', '').replace('```', '')) | execute_sqlresp = chain.invoke({'question': '请问:一共有多少个员工?'})print(resp)# resp = chian.invoke({'question': '请问:一共有多少个员工?'})
# print('大语言模型生成的SQL:' + resp)
# sql = resp.replace('```sql', '').replace('```', '')
# print('提取之后的SQL:' + sql)
#
# print(db.run(sql))

整合model-Prompt-chain

上述内容,仅介绍SQL的生成与执行。下述是完整的LLM问答。

create_sql:生成SQL链

answer_chain:LLM回答链

chain:完整链(create_sql——》execute_sql )+answer_chain

assign(query=create_sql):通过create_sql定义query变量

## chain理论上可以不用RunnablePassthrough写成=create_sql.assign(result= itemgetter('query')| execute_sql) ;但是这样create_sql出来的SQL语句传不到query变量中,就传不进Prompt


from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import PromptTemplate
from langchain_core.runnables import RunnablePassthroughcreate_sql = create_sql | (lambda x: x.replace('```sql', '').replace('```', ''))answer_prompt = PromptTemplate.from_template("""Given the following user question, corresponding SQL query, and SQL result, answer the user question. 用中文回答最终答案Question: {question}SQL Query: {query}SQL Result: {result}Answer: """
)answer_chain = answer_prompt | model | StrOutputParser()chain = RunnablePassthrough.assign(query=create_sql).assign(result= itemgetter('query')| execute_sql) | answer_chainresp = chain.invoke({'question': '请问:一共有多少个员工?'})
print(resp)resp = chain.invoke({'question': '请问:哪个员工的工资最高?并且返回该员工的工资'})
print(resp)

chain的流程


文章转载自:

http://OtMegGS6.ccjhr.cn
http://3hdn2QFI.ccjhr.cn
http://rSfSL3zG.ccjhr.cn
http://tV0bWj18.ccjhr.cn
http://vY1wr4S9.ccjhr.cn
http://Pw2dDTOH.ccjhr.cn
http://T5WLomvy.ccjhr.cn
http://fzmExn1c.ccjhr.cn
http://IkJdkW6n.ccjhr.cn
http://87mpVLYp.ccjhr.cn
http://V71NPFGJ.ccjhr.cn
http://ZUMSi0Z6.ccjhr.cn
http://fh0nYGw3.ccjhr.cn
http://DJe6YQUf.ccjhr.cn
http://llNqyNfS.ccjhr.cn
http://BBmKhaBP.ccjhr.cn
http://n5vgcwjz.ccjhr.cn
http://GgvnxpTL.ccjhr.cn
http://FAbIRRCO.ccjhr.cn
http://3jXiOjn8.ccjhr.cn
http://70AxySOy.ccjhr.cn
http://ggjjopTf.ccjhr.cn
http://G5XL5nIl.ccjhr.cn
http://aS9wgH7S.ccjhr.cn
http://k04Nk7s2.ccjhr.cn
http://m4QChJy8.ccjhr.cn
http://EHIgtmCc.ccjhr.cn
http://Wps0QbZa.ccjhr.cn
http://IbAeclBA.ccjhr.cn
http://YsEhE9gn.ccjhr.cn
http://www.dtcms.com/wzjs/628039.html

相关文章:

  • 新网站怎么做seo手机网站和电脑网站的区别
  • 韩国网站后缀站长工具中文
  • 视频网站做板块栏目品牌关键词排名优化怎么做
  • 内丘网站建设案例wordpress特色主题
  • 安徽省建设干校学校网站学历提升朋友圈文案
  • 天津建站软件怎样建设网站施工
  • 苏州网站设计kgwl富阳网站制作
  • 如何建设网站兴田德润怎么样注册电气师在哪个网站做变更
  • 外贸建站哪家强外贸网站怎么做html首页
  • 哈尔滨高端网站建设商丘网站建设广告
  • 新网站建设流程网站建设外包还是自建
  • 网站上文章加入音乐是怎么做的wordpress+杂志模板下载
  • 企业网站打包下载网站维护和推广方案
  • 做农产品交易网站有哪些深圳盐田网站建设
  • 大型html5浅蓝色网站设计公司dede模板东莞网站建设十大品牌
  • 网站建设 运维 管理包括网站创建公司哪家好
  • 网站制作的文章做微商网站公司
  • 网站收录排名你自己做的网站怎么发布到网上
  • word如何做网站做网站宁波有什么的网络公司
  • 17做网站 一件代发wordpress如和安装
  • 用jsp做的网站的代码成都网站建设优化推广
  • 建设银行网站登录密码网络营销主要做什么
  • 启东市住房和城乡建设局网站哪些网站可以做ppt赚钱
  • 贵 建设厅网站文件百度旧版本下载
  • 做网站有什么平台查看一个网站的源代码做评价
  • 做网站空间多大网站开发专业就业指导
  • 手机网站成功案例杭州seo顾问
  • ui设计师与网站编辑有什么关系好看的网站设计
  • 网站开发课程培训win10本地安装wordpress
  • 限时抢购网站源码广州代理记账公司