Open pprados opened 2 months ago
I'm hoping to avoid using too much SQLAlchemy. Would a psycopg pool object work for your use case?
Yes. The idea is to use the same approach as for the other integrations with sqlalchemy, exploiting the connection pool and sharing sessions if possible.
the vectorstore proposes
connection: Union[None, DBConnection, Engine, AsyncEngine, str] = None,
I think this is preferable and usable.
@eyurtsev , I can propose a PR for that, I can propose a PR for this, but I don't want it to remain on hold for several weeks, as with my other PRs.
The constructor of
PostgresChatMessageHistory
accepts only sync or async connection, and not an Engine.First, the connection was open in get_session_history, and pending during the life cycle of
RunnableWithMessageHistory
.So, it's impossible to use it in a "singleton" approach.
With langserv, you must declare the API with
You must have a global variable
chain
.The
get_session_history
cannot be async. ThePostgresChatMessageHistory.async_connection()
can not be used.PostgresChatMessageHistory
must be used if the singleton form, to be use with langserv. The engine must be set, without connection.