Skip to main content

An integration package connecting Postgres and GigaChain

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gigachain_postgres-0.0.10.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

gigachain_postgres-0.0.10-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file gigachain_postgres-0.0.10.tar.gz.

File metadata

  • Download URL: gigachain_postgres-0.0.10.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Darwin/23.5.0

File hashes

Hashes for gigachain_postgres-0.0.10.tar.gz
Algorithm Hash digest
SHA256 017cad7c96ebab5da430df7956d18e205bb0e0a48d63fb395ebe66e1f044b27c
MD5 aba3ed75fc3f8d6be95ccb3a0e41306b
BLAKE2b-256 fe56a4d6a14b78314ce3357ddbffd573ade36b9df1beb7e3efa3b9bbf51ad199

See more details on using hashes here.

File details

Details for the file gigachain_postgres-0.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for gigachain_postgres-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 1a1f572141af1c7172bc078a7962d0bc395b03f7c48fbba6175e0b458a8e8173
MD5 ee2558f17cf3556c90f5c9e4f670f247
BLAKE2b-256 dbc1320aa2c256758480b42275a18a9f520a077c6e1271d8891266d80d97293b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page