An integration package connecting Postgres and GigaChain
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 gigachain_postgres-0.0.10.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 017cad7c96ebab5da430df7956d18e205bb0e0a48d63fb395ebe66e1f044b27c |
|
MD5 | aba3ed75fc3f8d6be95ccb3a0e41306b |
|
BLAKE2b-256 | fe56a4d6a14b78314ce3357ddbffd573ade36b9df1beb7e3efa3b9bbf51ad199 |
Hashes for gigachain_postgres-0.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a1f572141af1c7172bc078a7962d0bc395b03f7c48fbba6175e0b458a8e8173 |
|
MD5 | ee2558f17cf3556c90f5c9e4f670f247 |
|
BLAKE2b-256 | dbc1320aa2c256758480b42275a18a9f520a077c6e1271d8891266d80d97293b |