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 密钥 - 例如 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