Skip to main content

langchain-postgres

Release Notes CI License: MIT Twitter Open Issues

The langchain-postgres package implementations of core LangChain abstractions using Postgres.

The package is released under the MIT license.

Feel free to use the abstraction as provided or else modify them / extend them as appropriate for your own application.

Requirements

The package currently only supports the psycogp3 driver.

Installation

pip install -U langchain-postgres

Change Log

0.0.6:

  • Remove langgraph as a dependency as it was causing dependency conflicts.
  • Base interface for checkpointer changed in langgraph, so existing implementation would've broken regardless.

Usage

ChatMessageHistory

The chat message history abstraction helps to persist chat message history in a postgres table.

PostgresChatMessageHistory is parameterized using a table_name and a session_id.

The table_name is the name of the table in the database where the chat messages will be stored.

The session_id is a unique identifier for the chat session. It can be assigned by the caller using uuid.uuid4().

import uuid

from langchain_core.messages import SystemMessage, AIMessage, HumanMessage
from langchain_postgres import PostgresChatMessageHistory
import psycopg

# Establish a synchronous connection to the database
# (or use psycopg.AsyncConnection for async)
conn_info = ... # Fill in with your connection info
sync_connection = psycopg.connect(conn_info)

# Create the table schema (only needs to be done once)
table_name = "chat_history"
PostgresChatMessageHistory.create_tables(sync_connection, table_name)

session_id = str(uuid.uuid4())

# Initialize the chat history manager
chat_history = PostgresChatMessageHistory(
    table_name,
    session_id,
    sync_connection=sync_connection
)

# Add messages to the chat history
chat_history.add_messages([
    SystemMessage(content="Meow"),
    AIMessage(content="woof"),
    HumanMessage(content="bark"),
])

print(chat_history.messages)

Vectorstore

See example for the PGVector vectorstore here

Metadata

Release files for gigachain-postgres 0.0.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gigachain-postgres 0.0.10
File Size Uploaded
gigachain_postgres-0.0.10.tar.gz 21.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gigachain-postgres 0.0.10
File Interpreter ABI Platform
gigachain_postgres-0.0.10-py3-none-any.whl Python 3 none any Details

Total release size: 43.6 kB

Release files / gigachain_postgres-0.0.10.tar.gz

Download URL gigachain_postgres-0.0.10.tar.gz
Size 21.6 kB
Tags Source
SHA-256 checksum
How to use checksums
017cad7c96ebab5da430df7956d18e205bb0e0a48d63fb395ebe66e1f044b27c
BLAKE2b-256 checksum
How to use checksums
fe56a4d6a14b78314ce3357ddbffd573ade36b9df1beb7e3efa3b9bbf51ad199
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.5 Darwin/23.5.0

Release files / gigachain_postgres-0.0.10-py3-none-any.whl

Download URL gigachain_postgres-0.0.10-py3-none-any.whl
Size 22.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1a1f572141af1c7172bc078a7962d0bc395b03f7c48fbba6175e0b458a8e8173
BLAKE2b-256 checksum
How to use checksums
dbc1320aa2c256758480b42275a18a9f520a077c6e1271d8891266d80d97293b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.5 Darwin/23.5.0

Release history Release notifications | RSS feed

0.1.3

2 release files

This release

0.0.10 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page