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