LangChain--11--PostgreSQL
2026/9/20 15:00:15 网站建设 项目流程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 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:16





2.安装对应依赖

PostgresSaver 适合生产环境的多实例部署场景,使用PostgreSaver之前需要在对应的python环境中安装如下依赖:

pipinstalllanggraph-checkpoint-postgres==3.1.1 pipinstallpsycopg-binary==3.3.4

3.案例:使用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()

4.表数据分析



需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询