An integration package connecting Postgres and LangChain
Project description
langchain-postgres
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file langchain_postgres-0.0.8.tar.gz
.
File metadata
- Download URL: langchain_postgres-0.0.8.tar.gz
- Upload date:
- Size: 20.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59e2d13737d30d8b3342ed536a5b2dcbc350c73967c140239a93e05f1d52029f |
|
MD5 | c839fcb8aa8f94582cb35bcc7468ca08 |
|
BLAKE2b-256 | a8d1228e99571d4ed7b515a1ce26460408ece9ec8843914bfc18981f64cb8709 |
Provenance
File details
Details for the file langchain_postgres-0.0.8-py3-none-any.whl
.
File metadata
- Download URL: langchain_postgres-0.0.8-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df97f33e4c442a0f094ed101c8a8ed2b1ef673f8c30e3b2b9747a0c87a1f020a |
|
MD5 | 1ef02a63b544f9e9ab4a9c348fe061df |
|
BLAKE2b-256 | 8cfa4f51fdc378b2096571f3401f7d8cd00dadbd089288d46dd38dbb3ed0e3a3 |