Feature TOP Build

使い方

K2HVECの実行環境を整え、動作確認する方法を示します。

1. 利用環境構築

K2HVEC をご利用の環境にインストールするには、2つの方法があります。
ひとつは、packagecloud.ioから K2HVEC のパッケージをダウンロードし、インストールする方法です。
もうひとつは、ご自身で K2HVEC をソースコードからビルドし、インストールする方法です。
これらの方法について、以下に説明します。

パッケージを使ったインストール

K2HVEC は、誰でも利用できるようにpackagecloud.io - AntPickax stable repositoryでパッケージを公開しています。
K2HVEC のパッケージは、主要な Linux ディストリビューション(Debian、Ubuntu、Rocky Linux、Fedora、Alpine Linux)向けに Debianパッケージ、RPMパッケージ、APKパッケージで公開しています。
お使いのOSによりインストール方法が異なりますので、以下の手順を確認してインストールしてください。

DebianベースLinuxの利用者は、以下の手順に従ってください。

$ sudo apt-get update -y
$ sudo apt-get install curl -y
$ curl -s https://packagecloud.io/install/repositories/antpickax/stable/script.deb.sh | sudo bash
$ sudo apt-get install k2hvec

開発者向けパッケージをインストールする場合は、以下のパッケージをインストールしてください。

$ sudo apt-get install k2hvec-dev

RPMベースのLinuxの場合は、以下の手順に従ってください。

$ sudo dnf makecache
$ sudo dnf install curl -y
$ curl -s https://packagecloud.io/install/repositories/antpickax/stable/script.rpm.sh | sudo bash
$ sudo dnf install k2hvec

開発者向けパッケージをインストールする場合は、以下のパッケージをインストールしてください。

$ sudo dnf install k2hvec-devel

ALPINE Linuxの場合は、以下の手順に従ってください。

# apk update
# apk add curl
# curl -s https://packagecloud.io/install/repositories/antpickax/stable/script.alpine.sh | sh
# apk add k2hvec

開発者向けパッケージをインストールする場合は、以下のパッケージをインストールしてください。

# apk add k2hvec-dev

上記以外のOS

上述したOS以外をお使いの場合は、パッケージが準備されていないため、直接インストールすることはできません。
この場合には、後述のソースコードからビルドし、インストールするようにしてください。

ソースコードからビルド・インストール

K2HASH をソースコードからビルドし、インストールする方法は、ビルドを参照してください。

2. k2hveclinetoolの実行

K2HVEC のインストール(またはソースからのビルド)が完了したら、付属の k2hveclinetool を実行して動作を確認してみましょう。

実行

$ k2hveclinetool

起動オプションは全てデフォルトのまま(未指定)で起動します。

コマンド:create_embedding/set/search

k2hveclinetool を実行すると、対話型のコマンドプロンプトが起動し、コマンドを対話形式で実行できます。
(なお、コマンドファイルを指定して非対話形式で一括実行することも可能です。)

以下の実行例では、create_embedding(ダミー Embedding データの生成)を実行したのち、set コマンドでデータを登録し、同じキー(Embedding)を使って search コマンドで類似度検索を行っています。

$ k2hveclinetool

-------------------------------------------------------------------------------
                  Command Line Tool for K2HVEC and K2HASH

      K2HVEC is a high-performance vector database for fast vector search,
                  built on top of the K2HASH key-value store.
-------------------------------------------------------------------------------
                           K2Hash Infomration

    Strage type                             : On memory
    Access mode                             : Read/Write
    Data mapping type                       : Full mapping
    Key Index Mask count(mask)              : 8
    Collision Key Index Mask count(cmask)   : 4
    Max Element count(element count)        : 32
    Page size                               : 128
-------------------------------------------------------------------------------
                     Projection Matrix in K2HVEC library

    Name                                    : builtin
    Version                                 : 1.0
    Dimension size                          : 4096
    Bit count(size)                         : 48 bit
-------------------------------------------------------------------------------
   Common configuration(Binary hash / Index keys / Direct Content Limits)

    Calaculate Binary hash bit size         : 24
    Search neighbor key upper limit         : 2600
    Upper limit for saving content directly : no limit
-------------------------------------------------------------------------------

K2HVEC > create_embedding
[SUCCEED] Generate and set it as Preloaded embedding data.
    Dimension size  : 4096
    Checksum        : 1.0f
    FNV-1a hash     : BA4214EC63F55A0A
K2HVEC > set
[SUCCEED] Set embedding data to k2hash
    Expire period time : not set
    Passphrase         : not set
    K2hash main key    : builtin@1.0/101111011001110011001000-BA4214EC63F55A0A
K2HVEC > search
Search Embedding data:
    Data source               : Preloaded embedding data
    Dimension size            : 4096
    Checksum                  : 1.0f
    FNV-1a hash               : BA4214EC63F55A0A
Search Score Limit            : 0.0f

-> Search Result              : Found
    Cosine Similarity value   : 1.0f

Found embedding data information:
    K2hash main key           : builtin@1.0/101111011001110011001000-BA4214EC63F55A0A
    Embedding        count    : 4096
                     checksum : 1.0f
                     2nd hash : BA4214EC63F55A0A
    Embedding model           : unknown_model
    Value length              : 0
          FNV-1a hash         : 0xCBF29CE484222325
          Content prefix      : <empty>
K2HVEC >

その他のコマンド

k2hveclinetool の対話型プロンプトで help コマンドを実行すると、利用可能なコマンド一覧が表示されます。
用途やテスト内容に応じて、必要なコマンドを実行してください。

終了方法

対話セッションを終了するには quit(または exit)コマンドを実行します。対話型プロンプトが終了し、k2hveclinetool が終了します。

Feature TOP Build