跳转到主要内容

在Datasette表中存储和查询嵌入向量

项目描述

datasette-embeddings

PyPI Changelog Tests License

在Datasette表中存储和查询嵌入向量

安装

在Datasette相同环境中安装此插件。

datasette install datasette-embeddings

用法

为表中的内容添加一个增强,用于计算和存储OpenAI嵌入向量。

用户可以选择他们想要嵌入的列的嵌入模型和模板(例如 {{ title }} {{ body }})。

嵌入以二进制值的形式存储在新表_embeddings_NAME的列中,其中NAME是原始源表名称。

向量存储在匹配嵌入模型名称的列中,例如,对于text-embedding-3-large-256模型,存储在emb_text_embedding_3_large_256列中。

如果您没有配置OpenAI API密钥,用户在运行增强时将被要求提供一个。

您可以使用如下插件配置来设置API密钥

plugins:
  datasette-embeddings:
    api_key:
      $env: OPENAI_API_KEY

然后在启动Datasette之前设置OPENAI_API_KEY环境变量。

此插件为具有嵌入的表添加了“针对此表进行语义搜索”的表操作项,但前提是已配置API密钥环境变量,因为需要使用该密钥来计算用户的搜索查询的嵌入。

开发

要本地设置此插件,首先检出代码。然后创建一个新的虚拟环境

cd datasette-embeddings
python3 -m venv venv
source venv/bin/activate

现在安装依赖关系和测试依赖关系

pip install -e '.[test]'

要运行测试

pytest

测试使用捕获的嵌入API示例。重新生成这些示例的最简单方法是执行以下操作

  • rm -rf tests/cassettes 以删除之前的记录
  • export OPENAPI_API_KEY='...' 用于设置 OpenAI API 密钥
  • pytest --record-mode once 用于重新创建测试快照

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

datasette-embeddings-0.1a3.tar.gz (12.5 kB 查看哈希值)

上传时间 源代码

构建分发

datasette_embeddings-0.1a3-py3-none-any.whl (11.3 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面