LangChain--11--PostgreSQL
提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档文章目录PostgreSQL1.PostgreSQL 简介2.下载安装3.语法4.SpringBoot整合PostgreSQL结合大模型Checkpoint存储实现1. PostgreSQL搭建与操作2.安装对应依赖3.案例使用PostgreSaver存储Checkpoint。4.表数据分析PostgreSQL官网https://www.postgresql.org/gitcode gitcode下载地址1.PostgreSQL 简介2.下载安装下载地址https://www.enterprisedb.com/downloads/postgres-postgresql-downloads3.语法4.SpringBoot整合PostgreSQL1.创建SpringBoot项目导入依赖!--mybtis--dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.2.2/version/dependency!--postgresql--dependencygroupIdorg.postgresql/groupIdartifactIdpostgresql/artifactId/dependency!--lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency主配置文件中配置连接数据库参数spring:datasource:driver-class-name:org.postgresql.Driverurl:jdbc:postgresql://localhost:5432/testdbusername:postgrespassword:rootmybatis:mapper-locations:classpath:mapper/*.xmlconfiguration:map-underscore-to-camel-case:true# 驼峰2.java代码创建实体类DatapublicclassBook{privateIntegerid;privateStringbookName;privateBigDecimalprice;}创建mapper接口MapperpublicinterfaceBookMapper{BookfindById(Integerid);}创建mapper xml文件?xml version1.0encodingUTF-8?!DOCTYPEmapperPUBLIC-//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmapper namespacecom.woniuxy.postgresql.mapper.BookMapperselect idfindByIdresultTypecom.woniuxy.postgresql.entity.Bookselect*frompublic.books where id#{id}/select/mapper测试类SpringBootTestclassPostgreSqlApplicationTests{ResourceprivateBookMapperbookMapper;TestvoidcontextLoads(){System.out.println(bookMapper.findById(1));}}结合大模型Checkpoint存储实现1. PostgreSQL搭建与操作dockerrun-d\--namepostgres16\-p5432:5432\-ePOSTGRES_PASSWORDpostgres123\-ePOSTGRES_DBlanggraph_db\-vpostgres_data:/var/lib/postgresql/data\--shm-size256mb\--restartunless-stopped\postgres:162.安装对应依赖PostgresSaver 适合生产环境的多实例部署场景使用PostgreSaver之前需要在对应的python环境中安装如下依赖pipinstalllanggraph-checkpoint-postgres3.1.1 pipinstallpsycopg-binary3.3.43.案例使用PostgreSaver存储Checkpoint。 PostgresSaver使用 PostgreSQL 持久化 checkpoint fromlangchain.chat_modelsimportinit_chat_modelfromdotenvimportload_dotenvimportos# 从.env文件中加载环境变量load_dotenv(overrideTrue)modelinit_chat_model(modelgpt-5.4-mini,model_provideropenai,api_keyos.getenv(CLOSEAI_API_KEY),base_urlos.getenv(CLOSEAI_BASE_URL))# 替换为你的实际数据库连接串fromlangchain.agentsimportcreate_agentfromlangchain.messagesimportHumanMessagefromlanggraph.checkpoint.postgresimportPostgresSaver DB_URLpostgresql://langchain_user:abcd1234118.195.128.47:5432/langchain_db?sslmodedisablewithPostgresSaver.from_conn_string(DB_URL)ascheckpointer:# 初始化PostgreSQL数据库checkpointer.setup()agentcreate_agent(modelmodel,checkpointercheckpointer)config{configurable:{thread_id:1}}response1agent.invoke({messages:[HumanMessage(你好我是老王)]},configconfig)print(*30,- 第一次调用 -,*30)formsginresponse1[messages]:msg.pretty_print()response2agent.invoke({messages:[HumanMessage(你好我是谁)]},configconfig)print(*30,- 第二次调用 -,*30)formsginresponse2[messages]:msg.pretty_print()4.表数据分析