我试图在pgvector扩展和langchain的帮助下在postgresql上嵌入一些文档。很不幸,我遇到了以下错误:
(psycopg2.errors.UndefinedObject) type "vector" does not exist
LINE 4: embedding VECTOR(1536),
^
[SQL:
CREATE TABLE langchain_pg_embedding (
collection_id UUID,
embedding VECTOR(1536),
document VARCHAR,
cmetadata JSON,
custom_id VARCHAR,
uuid UUID NOT NULL,
PRIMARY KEY (uuid),
FOREIGN KEY(collection_id) REFERENCES langchain_pg_collection (uuid) ON DELETE CASCADE
)
]
我的环境信息:
Postgres上已安装的扩展列表
Name | Version | Schema | Description
---------+---------+------------+--------------------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
vector | 0.4.1 | public | vector data type and ivfflat access method
我尝试了以下方法来解决:
1.重新安装Postgres docker镜像,并启用pgvector扩展。
1.按照官方说明手动安装扩展。
1.在Postgres上手动安装扩展,如下所示:
CREATE EXTENSION IF NOT EXISTS vector
SCHEMA public
VERSION "0.4.1";
但没找到。
1条答案
按热度按时间smtd7mpg1#
不幸的是,问题出在别的地方。我的
extension installation
和search_path
模式对于我应该使用的已定义数据库来说完全没有问题。但是我的环境变量负责使用哪个数据库,它被搞砸了,使用默认数据库postgres
而不是我定义的数据库,它没有启用扩展。