一个用于存储和查询知识图嵌入的包
embeddingdb的Python项目详细描述
这个包提供了一个数据库模式和python包装器 用于存储通过各种表示生成的嵌入 学习包。
目前,这个包的重点是使用带有sqlalchemy的sql数据库, 但是可以扩展为使用nosql数据库作为替代。
安装
直接从github安装embeddingdb,使用:
$ pip install git+https://github.com/cthoyt/embeddingdb
将环境变量EMBEDDINGDB_CONNECTION设置为有效 postgresql实例的sqlalchemy连接字符串,因为此包使用 PostgreSQL特定的^{TT3}$类型。
命令行界面
此包安装一个入口点embeddingdb,可以直接从 贝壳。
上传实体嵌入
实体可以嵌入和存储在不同类型的表示学习中, 包括网络表示学习、知识图嵌入和文本 学习。
通过使用:
指定文件路径,上载由word2vec生成的嵌入$ embeddingdb upload --fmt word2vec --path ~/path/to/file.txt
通过指定输出目录上载由pykeen生成的嵌入 使用:
$ embeddingdb upload --fmt keen --path ~/path/to/directory/
列表实体嵌入
上传后,可使用以下命令列出收藏:
$ embeddingdb ls
分析实体嵌入的相关性
构建这个存储库的动机之一是 比较通过正交嵌入技术生成的实体的嵌入。 例如,我们想知道蛋白质在多大程度上是由 它们带有ratvec的序列包含与生成的嵌入相同的信息 与pykeen或nrl的蛋白质-蛋白质相互作用网络。
这两个位置参数对应于数据库中的集合标识符。
$ embeddingdb analyze 12
与Docker一起运行
安装Docker后,整个Web应用程序可以用以下命令实例化:
$ docker-compose up
获取端点/test以实例化数据库并添加测试集合。