Skip to main content

A vector database optimized for cosine similarity using quantum algorithms

Project description

StateVector

StateVector is a highly efficient vector database leveraging classical and quantum algorithms to optimize cosine similarity calculations. It supports various data types such as text, images, and audio, providing fast and accurate similarity searches.

Features

  • Vector Representation: Converts text, images, and audio into vector representations using algorithms like Word2Vec.
  • Similarity Calculation: Computes cosine similarity using both classical and quantum-optimized algorithms.
  • Indexing: Builds efficient indexes using KD Trees for quick retrieval of similar vectors.
  • Search: Performs nearest neighbor search for similarity queries.

Installation

  1. Clone the repository:
    git clone https://github.com/yourusername/StateVector.git
    cd StateVector
    
  2. Install the required dependencies:
    pip install -r requirements.txt
    

Usage

Text Vectorization

from vector_representation.text_vectorizer import TextVectorizer

vectorizer = TextVectorizer('model/word2vec_model.bin')
vector = vectorizer.vectorize("example text")

Cosine Similarity

from similarity.cosine_similarity import CosineSimilarity

similarity = CosineSimilarity.compute(vector1, vector2)

Quantum Cosine Similarity

from similarity.quantum_cosine_similarity import QuantumCosineSimilarity

quantum_similarity = QuantumCosineSimilarity()
similarity = quantum_similarity.compute(vector1, vector2)

KD Tree Indexing

from index.kd_tree import KDTreeIndex

index = KDTreeIndex(data)
distance, index = index.query(vector, k=5)

Nearest Neighbor Search

from search.nearest_neighbor import NearestNeighborSearch

search = NearestNeighborSearch(index)
results = search.search(vector, k=5)

Documentation

See the docs directory for detailed documentation on each module.


StateVector

StateVector 是一个高效的向量数据库,利用经典和量子算法优化余弦相似性计算。它支持文本、图像和音频等多种数据类型,提供快速准确的相似性搜索。

特性

  • 向量表示:使用 Word2Vec 等算法将文本、图像和音频转换为向量表示。
  • 相似度计算:使用经典和量子优化算法计算余弦相似度。
  • 索引:使用 KD 树构建高效索引,快速检索相似向量。
  • 搜索:执行最近邻搜索以进行相似性查询。

安装

  1. 克隆仓库:
    git clone https://github.com/yourusername/StateVector.git
    cd StateVector
    
  2. 安装所需依赖:
    pip install -r requirements.txt
    

使用方法

文本向量化

from vector_representation.text_vectorizer import TextVectorizer

vectorizer = TextVectorizer('model/word2vec_model.bin')
vector = vectorizer.vectorize("example text")

余弦相似度

from similarity.cosine_similarity import CosineSimilarity

similarity = CosineSimilarity.compute(vector1, vector2)

量子余弦相似度

from similarity.quantum_cosine_similarity import QuantumCosineSimilarity

quantum_similarity = QuantumCosineSimilarity()
similarity = quantum_similarity.compute(vector1, vector2)

KD 树索引

from index.kd_tree import KDTreeIndex

index = KDTreeIndex(data)
distance, index = index.query(vector, k=5)

最近邻搜索

from search.nearest_neighbor import NearestNeighborSearch

search = NearestNeighborSearch(index)
results = search.search(vector, k=5)

文档

详见 docs 目录下各模块的详细文档。

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

StateVector-0.1.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

StateVector-0.1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file StateVector-0.1.tar.gz.

File metadata

  • Download URL: StateVector-0.1.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.6

File hashes

Hashes for StateVector-0.1.tar.gz
Algorithm Hash digest
SHA256 d594cd58cf56580332b8ec25981e72829f7179ea47196ca9414c40e5131c9b17
MD5 c5599051917ae258753a6be70e511942
BLAKE2b-256 e1b4a1545736db30527ba0b692ffdfb9f26ed83765dd9d1cba4b778e42a854ed

See more details on using hashes here.

File details

Details for the file StateVector-0.1-py3-none-any.whl.

File metadata

  • Download URL: StateVector-0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.6

File hashes

Hashes for StateVector-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 170c27a7a60f340fc218d22e8a1c7535a845cd08c63293a934b9454ed3a2863a
MD5 f7c7b65c0cd98280ae0727d5305b76c9
BLAKE2b-256 02fe0c56688ef8c6c713952867b2a9633b014954e5ed886471c503b876f0cf1a

See more details on using hashes here.

Supported by

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