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
Hashes for langchain_postgres-0.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df97f33e4c442a0f094ed101c8a8ed2b1ef673f8c30e3b2b9747a0c87a1f020a |
|
MD5 | 1ef02a63b544f9e9ab4a9c348fe061df |
|
BLAKE2b-256 | 8cfa4f51fdc378b2096571f3401f7d8cd00dadbd089288d46dd38dbb3ed0e3a3 |