Closed as not planned
Description
Log signature: _async_engine not found
error emerges from langchain_postgres.vectorstores.PGVector.acreate_vector_extension
I'm trying to call invoke()
, so I don't really understand why it's trying to use the async version
In [3]: print_sys_info()
System Information
------------------
> OS: Darwin
> OS Version: Darwin Kernel Version 23.6.0: Fri Jul 5 17:53:24 PDT 2024; root:xnu-10063.141.1~2/RELEASE_ARM64_T6020
> Python Version: 3.11.9 (main, May 16 2024, 15:36:38) [Clang 15.0.0 (clang-1500.3.9.4)]
Package Information
-------------------
> langchain_core: 0.2.28
> langchain: 0.2.12
> langchain_community: 0.2.11
> langsmith: 0.1.96
> langchain_anthropic: 0.1.22
> langchain_aws: 0.1.15
> langchain_cli: 0.0.28
> langchain_openai: 0.1.20
> langchain_postgres: 0.0.9
> langchain_text_splitters: 0.2.2
> langchainhub: 0.1.20
> langgraph: 0.1.19
> langserve: 0.2.2
I'm going to downgrade back to 0.0.6 for now.
How I'm instantiating PGVector -
PGVector(
embeddings=embeddings,
collection_name=collection_name,
connection=conn_string,
use_jsonb=True,
pre_delete_collection=pre_delete_collection,
)
I tried updating the connection string so it used postgresql+asyncpg://
instead of postgresql+psycopg://
but got a bunch of downstream errors related to module not found, then tried adding these dependencies to pyproject.toml:
asyncpg = "^0.29.0"
greenlet = "^3.0.3"
But at this point, when using langserve I'm not totally certain how to make it instantiate the async version.
Expected Behavior
- Upgrading patch versions doesn't change synchronous behavior in a backwards-incompatible way
- Calling the
ainvoke
and other methods use the async postgres connection, callinginvoke
uses the sync postgres connection - Breaking changes are accompanied by docs in the README
- There is way to use synchronous behavior without asynchronous behavior that is documented in the README
Actual Behavior
- Upgrading patch versions are not backwards compatible
- The mention of "async" in the README after 0.0.6 doesn't offer adequate context on how to configure the project for async (or not)
- Project appears to be async by default and it's not clear if it's still possible to use it without configuring async drivers
Metadata
Metadata
Assignees
Labels
No labels