embeddingcache
1.0.0
检索文本嵌入,但是如果我们已经计算出它们,请在本地缓存它们。
如果您正在执行少数不同的NLP任务,或者使用单个NLP管道进行调整,则可能不想重新计算嵌入。因此,我们缓存他们。
pip install embeddingcache
from embeddingcache.embeddingcache import get_embeddings
embeddings = get_embeddings(
strs=["hi", "I love Berlin."],
embedding_model="all-MiniLM-L6-v2",
db_directory=Path("dbs/"),
verbose=True,
)
我们使用sqlite3来缓存嵌入。 [因为我们使用sqlalchemy,因此可以轻松适应。]
我们假设有一位并发作家的读数负载。 (但是,我们重试写失败。)
我们将sqlite3插入两个数据库中:hashstring.db:hashstring表。每一行都是(唯一的,主键)SHA512哈希(也是唯一)。两个字段均为索引。
[embedding_model_name] .db:嵌入式表。每一行都是(唯一的,主键)SHA512哈希到1 dim numpy(float32)向量,我们像字节一样序列到表。
pre-commit install
pip install -e .
pytest