提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- PostgreSQL
- 1.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-downloads
3.语法
4.SpringBoot整合PostgreSQL
1.创建SpringBoot项目导入依赖
<!--mybtis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency><!--postgresql--><dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</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 version="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.woniuxy.postgresql.mapper.BookMapper"><select id="findById"resultType="com.woniuxy.postgresql.entity.Book">select*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_PASSWORD=postgres123\-ePOSTGRES_DB=langgraph_db\-vpostgres_data:/var/lib/postgresql/data\--shm-size=256mb\--restart=unless-stopped\postgres:162.安装对应依赖
PostgresSaver 适合生产环境的多实例部署场景,使用PostgreSaver之前需要在对应的python环境中安装如下依赖:
pipinstalllanggraph-checkpoint-postgres==3.1.1 pipinstallpsycopg-binary==3.3.43.案例:使用PostgreSaver存储Checkpoint。
""" PostgresSaver:使用 PostgreSQL 持久化 checkpoint """fromlangchain.chat_modelsimportinit_chat_modelfromdotenvimportload_dotenvimportos# 从.env文件中加载环境变量load_dotenv(override=True)model=init_chat_model(model="gpt-5.4-mini",model_provider="openai",api_key=os.getenv("CLOSEAI_API_KEY"),base_url=os.getenv("CLOSEAI_BASE_URL"))# 替换为你的实际数据库连接串fromlangchain.agentsimportcreate_agentfromlangchain.messagesimportHumanMessagefromlanggraph.checkpoint.postgresimportPostgresSaver DB_URL="postgresql://langchain_user:abcd1234@118.195.128.47:5432/langchain_db?sslmode=disable"withPostgresSaver.from_conn_string(DB_URL)ascheckpointer:# 初始化PostgreSQL数据库checkpointer.setup()agent=create_agent(model=model,checkpointer=checkpointer)config={"configurable":{"thread_id":"1"}}response1=agent.invoke({"messages":[HumanMessage("你好,我是老王")]},config=config)print("="*30,"-> 第一次调用 <-","="*30)formsginresponse1["messages"]:msg.pretty_print()response2=agent.invoke({"messages":[HumanMessage("你好,我是谁?")]},config=config)print("="*30,"-> 第二次调用 <-","="*30)formsginresponse2["messages"]:msg.pretty_print()