postgresql 如何用python检查supports中是否存在collection?

wz8daaqr  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(2)|浏览(127)

如果客户端连接到supplies,我如何在创建集合之前检查它是否存在变量符号?原因是我不想每次运行都重新创建集合。在supbase-py文档中找不到任何内容:

Client = supabase_py.create_client(url, key)

CONNECTION_STRING = PGVector.connection_string_from_db_params(
    driver=os.environ.get("PGVECTOR_DRIVER", "psycopg2"),
    host=os.environ.get("PGVECTOR_HOST", "db.xxxxxx.supabase.co"),
    port=int(os.environ.get("PGVECTOR_PORT", "XXXX")),
    database=os.environ.get("PGVECTOR_DATABASE", "postgres"),
    user=os.environ.get("PGVECTOR_USER", "postgres"),
    password=os.environ.get("PGVECTOR_PASSWORD", "XXXXXXX"),
)

db = PGVector.from_documents(
            embedding=embeddings,
            documents=texts_to_embed,
            collection_name=symbol,
            connection_string=CONNECTION_STRING,
        )

字符串

of1yzvn4

of1yzvn41#

你可以使用CollectionStore中的.get_by_name()方法来检查它。如果它返回None,那么它还不存在,否则它就存在。
使用它从LLangchain github检查打印。


的数据
你的代码看起来像这样:

collection_name = "your_collection_name"
pgvector = PGVector(
embedding_function=OpenAIEmbeddings(), 
collection_name=collection_name, 
connection_string=CONNECTION_STRING
)
with Session(pgvector._conn) as session:
    collection = pgvector.CollectionStore.get_by_name(session, collection_name)
if collection:
    print("It exists!!")
else:
    print("It doesn't exists.")

字符串

uyto3xhc

uyto3xhc2#

我想你可以使用get_or_create_collection

DB_CONNECTION = "postgresql://postgres:postgres@localhost:54322/postgres"

# create vector store client
vx = vecs.create_client(DB_CONNECTION)

# get or create a collection of vectors with 1408 dimensions
vec = vx.get_or_create_collection(name="image_vectors", dimension=1408)

字符串

相关问题