Skip to main content

创建/查询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

may.xiaoya.zhang@gmail.com

Project details


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)

Uploaded Source

Built Distribution

faisslite-0.0.4-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

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

Hashes for faisslite-0.0.4.tar.gz
Algorithm Hash digest
SHA256 5cf955a9430a9c5fbc4e57160895c3724542dd16e887d6343ce4084c72d92c89
MD5 130af2338a2341a2a2136af84441e4d1
BLAKE2b-256 068bffc8873406bf9de3efb5ff0255d283a32854fefc624bb5d03919a3129f37

See more details on using hashes here.

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

Hashes for faisslite-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9da9c3f394f1dfc77b011511c1f3d9fc633b223582cc166ac53a6a792b432b3b
MD5 4c0100ef7cd19f586c6b0bceadc7c1fb
BLAKE2b-256 ecd08b0860d72ee6a6fed9fe8a1143801a386fc05a13d6153d331035596932b5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page