创建/查询Faiss向量数据库
Project description
faisslite about
一个用于中文文本向量化和相似度搜索的Python包。它可以将中文段落表征为向量矩阵,并构建向量搜索索引,用于快速准确检索文本中的相似句子。
document.py
对输入文本进行规范化处理,并将输入文本拆分成段落。
- formal函数 实现文本的预处理功能,输入原始文本,可以输出规范化了格式的文本内容。
- split函数 将文本拆分为由文本段落和分隔符构成的字典,为后续向量化处理文本提供了基础。
Faiss.py
使用spacy和text2vec将文本编码为句向量。定义了Faiss类,封装了一个Faiss索引的构建、添加样本、搜索相似样本、保存等功能。实现语义相似句检>索的核心代码,通过词向量技术编码句子语义,以及高效的向量空间索引Faiss实现快速相似度搜索。
- encode函数 采用text2vec-base-chinese生成Vector向量,采用spacy的中文模型生成Vector2向量,两个向量加权得到最终向量。
- top1函数 找出选出结果的最大值
- Faiss类
- add函数 将段落拆解成句子,逐句向量化之后构建索引或者添加向量。
- add_doc函数 将完整文档添加到向量索引和文档库中的过程,同时记录各段落和文档的信息,包括偏移、起止、页码等。
- search函数 优先选择相似度最大,并且过滤掉低于阈值的结果。合并Faiss搜索出来的多个向量结果,得到按相似度排序的top-k个文本匹配。
- dump函数 将构建好的Faiss索引保存到文件。
Director
- faisslite
- __init__.py
- document.py
- Faiss.py
- setup.py
- README.md
Install
$ pip3 install -U faisslite
Usage
$ python3 -m faisslite &
Contact us
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
faisslite-0.0.4.tar.gz
(4.8 kB
view details)
Built Distribution
File details
Details for the file faisslite-0.0.4.tar.gz
.
File metadata
- Download URL: faisslite-0.0.4.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cf955a9430a9c5fbc4e57160895c3724542dd16e887d6343ce4084c72d92c89 |
|
MD5 | 130af2338a2341a2a2136af84441e4d1 |
|
BLAKE2b-256 | 068bffc8873406bf9de3efb5ff0255d283a32854fefc624bb5d03919a3129f37 |
File details
Details for the file faisslite-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: faisslite-0.0.4-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9da9c3f394f1dfc77b011511c1f3d9fc633b223582cc166ac53a6a792b432b3b |
|
MD5 | 4c0100ef7cd19f586c6b0bceadc7c1fb |
|
BLAKE2b-256 | ecd08b0860d72ee6a6fed9fe8a1143801a386fc05a13d6153d331035596932b5 |