APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

入門KDB.AI (1) - 概要編

はじめに

GLB事業部Lakehouse部の鄭(ジョン)です。

この記事では世界最速の時系列データベース及び分析エンジンであるKDBを保有するグローバル企業KXのKDB.AIを紹介いたします。
順番はKXのプロダクトの概要、KDB.AIの概要、使い方、KDB.AIのサンプルコードについて説明いたします。

kdb.ai

目次

KXのプロダクトの概要

KXの代表的なプロダクトはkdb+ 、kdb Insights 、 kdb Insights Enterpriseがあります。
各プロダクトの特徴は以下の通りです。

  • kdb+は世界最速の時系列データベース及び分析エンジンです。
    ➢ 最速のquery速度
    ➢インメモリ計算エンジン
    ➢ 優れたスケーラビリティ
    ➢ q言語をサポート

  • kdb Insightsは、マルチ言語のためのクラウド対応した時系列データベースと分析エンジンです。
    ➢ kdb+にビルトされている
    ➢ Object storageとRESTをサポート
    ➢ プラグイン可能なマイクロサービス
    ➢ Python、SQL、そしてq言語をサポート

  • kdb Insights Enterpriseは、エンタープライズ向けの時系列データベースとストリーミング分析エンジンです。
    ➢ kdb+にビルトされている
    ➢ マルチクラウド、 hybrid 、 on-premise
    ➢ 柔軟なスケーラビリティ
    ➢ IAMと認証
    ➢フレンドリーなUIとPython、SQL、q言語をサポート

KXのプロダクトの詳細情報は下記ページをご確認ください。

kx.com

この他にもkdb+で駆動される他のプロダクトも開発中です。
その中でKDB.AIのEarly Access Programが最近開始されて、今回の記事で無料アカウントで試してみました。

KDB.AIの概要

KDB.AIは、上記の世界最速の時系列データベース及び分析エンジンであるkdb+で駆動されるVectorデータベースです。
Vectorデータベースとは、テキストのようなデータをEmbeddingによって1つの座標として表現でき、これらの値を保存する特殊なデータベースを意味します。
KDB.AIはAIモデルによって作成でき、類似性検索、質疑応答システム、推薦などの事例に使用できます。
構造化データだけでなく、非構造化データ(画像、ビデオなど)への対応やChatGPTとLangchainの統合によるLLM構築も可能です。

詳細情報は下記ページをご確認ください。
code.kx.com

使い方

  • アカウント作成

➀ KDB.AIホームページにアクセスした後、Sign UpまたはSign up for freeボタンを押します。
(既存アカウントをお持ちの方は、Log Inボタンを押してください。)

kdb.ai

➁ 情報を入力した後、Sign Up Nowボタンを押します。 (既存アカウントをお持ちの方は、Sign Inボタンを押してください。)

③ ➁番で入力したメールにKDB.AIアカウント承認メールが届きます。(件名: KDB.AI E-mail Verification)
メールを承認すればKDB.AIのアカウント作成が完了します。

  • Endpoints&API Keys作成

    ➀ アカウントにログインします。

➁ ログインすると、Starter Editionデータベースの設定ページが表示されます。
データベースのEndpointアドレス、API Key、作成したTableの情報を確認できます。

③ API KeyはAdd new API Keyボタンを押すと作成されます。
最大3つを作成でき、以下のAPI Key管理テーブルから削除できます。
Keyは最初に作成した時だけ確認できるため、別途保管してください。

サンプルコード

KDB.AIではHands onが可能な6つのサンプルコードを提供しています。

サンプルコードは、アカウント作成の有無にかかわらずアクセスできます。

ログインする前にStart with samplesボタンを押してください。

ログイン前のSampleコードアクセス方法

ログイン後は左側バナーのSample Applicationsを押してください。

ログイン後のSampleコードアクセス方法

次のような6つのSampleがあります。
KDB.AIは、各サンプルからデータをEmbeddingした後、Vectorを保存するDBとして使用します。

  • Document Search: KDB.AIをVector Storeとして使用し、PDFの内容を検索するサンプル

kdb.ai

  • Image Search: KDB.AIをVector Storeと使って脳スキャン画像をデータセットとして使用し、画像検索を通じて脳疾患を検索するサンプル

kdb.ai

  • LangChain and RAG: LangChainを活用してOpenAI Embeddingを作成し、KDB.AIのVector StoreにEmbeddingを保存した後、LLMを使って検索するサンプル

kdb.ai

  • Recommendation Systems: 歌のデータ(歌のタイトル、アーティスト名、歌の年など)を読んでEmbeddingを作成し、KDB.AIのVector StoreにEmbeddingを保存した後、類似の歌を検索してくれるサンプル

kdb.ai

  • Pattern Matching and Outliers: 特定のパターンを表す過去の時系列を識別して検索するサンプル

kdb.ai

  • Sentiment Analysis: ディズニーランドリゾートレビューに対する感情をPossitiveとNegativeに対する点数で分析し、各レビューをEmbeddingした後、レビューについて検索するサンプル

kdb.ai

まとめ

今回の投稿ではKDB.AIの概要、アカウント作成方法、およびEndpointsとAPI Keysの作成方法、そしてHands onサンプルコードについてご紹介しました。

次回の投稿では、今回ご紹介した6つのサンプルコードをDatabricks上でそれぞれ検証してみて、これについてご紹介したいと思います。

最後までご覧いただきありがとうございます。
引き続きどうぞよろしくお願い致します!

私たちはDatabricksを用いたデータ分析基盤の導入から内製化支援まで幅広く支援をしております。
もしご興味がある方は、お問い合わせ頂ければ幸いです。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
APCにご興味がある方の連絡をお待ちしております。

www.ap-com.co.jp