跳转到主要内容

llm_embed(model_id, text) SQL函数,用于Datasette

项目描述

datasette-llm-embed

PyPI Changelog Tests License

Datasette插件,添加了一个llm_embed(model_id, text) SQL函数。

安装

datasette install datasette-llm-embed

使用

添加一个可以像这样调用的SQL函数

select llm_embed('sentence-transformers/all-mpnet-base-v2', 'This is some text')

这将使用指定的嵌入模型嵌入提供的文本,并返回一个二进制blob,适用于与如datasette-faiss之类的插件一起使用。

需要使用LLM插件,如llm-sentence-transformers来安装模型。

使用llm_embed_cosine(a, b)来计算两个向量blob之间的余弦相似度

select llm_embed_cosine(
    llm_embed('sentence-transformers/all-mpnet-base-v2', 'This is some text'),
    llm_embed('sentence-transformers/all-mpnet-base-v2', 'This is some other text')
)

可以使用llm_embed_decode()函数将二进制BLOB解码为浮点数JSON数组

select llm_embed_decode(
    llm_embed('sentence-transformers/all-mpnet-base-v2', 'This is some text')
)

需要API密钥的模型

如果您的嵌入模型需要API密钥 - 例如来自OpenAI的ada-002模型 - 您可以在metadata.yml(或JSON)中配置该密钥,如下所示

plugins:
  datasette-llm-embed:
    keys:
      ada-002:
        $env: OPENAI_API_KEY

这里的密钥应该是模型的完整模型ID,而不是别名。

然后您可以在启动Datasette之前设置OPENAI_API_KEY环境变量为要使用的密钥

export OPENAI_API_KEY=sk-1234567890

一旦配置,像这样的调用将使用已提供的API密钥

select llm_embed('ada-002', 'This is some text')

开发

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

cd datasette-llm-embed
python3 -m venv venv
source venv/bin/activate

现在安装依赖项并测试依赖项

pip install -e '.[test]'
To run the tests:
```bash
pytest

项目详情


下载文件

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

源代码分发

datasette-llm-embed-0.2.tar.gz (7.5 kB 查看哈希值)

上传时间 源代码

构建分发

datasette_llm_embed-0.2-py3-none-any.whl (7.5 kB 查看哈希值)

上传时间 Python 3

支持