「Pythonクライアントを使用してMyScaleを始める」

『マイスケールを始めるためのPythonクライアントの使い方』

データは今日、ほとんどの組織の中核に位置しています。データの容量がますます増える中、企業はデータを効果的に保存、処理、分析する方法を見つけなければなりません。これにより、データベース市場が爆発的な成長を遂げ、企業は伝統的なSQLデータベースと新しいベクトルデータベースの両方を利用して異なるタスクを達成しています。

ただし、各種データベースにはトレードオフがあります。伝統的なSQLデータベースは、構造化データに対して一貫性、正確性、使いやすさを提供しますが、ベクトルデータベースは非構造化データの大容量に特化したスピードと拡張性を最適化しています。しかし、選ぶ必要はありません。両方のメリットを提供するデータベースがあればどうでしょうか?

このブログでは、テーブルの作成やインデックスの定義といった基本から、高度なSQLベクトル検索まで、MyScaleの詳細を見ていきます。最後に、MyScaleを他のデータベースと比較し、なぜMyScaleが優れているのかを確認します。さあ、始めましょう。

MyScaleとは何ですか?

MyScale(新しいウィンドウで開きます)は、AIアプリケーション向けに大容量のデータを管理するために特別に設計され最適化されたクラウドベースのSQLベクトルデータベースです。ClickHouse(新しいウィンドウで開きます)(SQLデータベース)の上に構築されており、ベクトルの類似性検索の能力と完全なSQLサポートを組み合わせています。ひとつのインターフェースで、SQLクエリは異なるデータモダリティを同時に利用し、複雑なAIの要求を処理するのにそれ以外に必要な手順や時間がかかることなく迅速に対応することができます。

専門のベクトルデータベースとは異なり、MyScaleはベクトル検索アルゴリズムと構造化データベースを調和させ、同じデータベース内でベクトルと構造化データの両方を管理することができます。この統合により、コミュニケーションの効率化、適応性のあるメタデータフィルタリング、SQLとベクトルの結合クエリのサポート、多目的データベースに関連付けられる成熟したツールとの互換性などの利点を享受することができます。基本的には、MyScaleは、AIデータ管理の複雑さに対処するための統合されたソリューションを提供し、総合的で効率的で学習しやすいアプローチを提供します。

MyScaleでクラスターを起動する方法

プロジェクトでMyScaleを使用し始める前に、最初にアカウントを作成し、データを保存するためのクラスターを作成する必要があります。以下に手順を示します:

  • myscale.com(新しいウィンドウで開きます)でMyScaleアカウントにサインイン/サインアップします
  • アカウントが作成されたら、ページの右側にある「+ 新しいクラスター」ボタンをクリックします
  • クラスターの名前を入力し、「次へ」ボタンを押します
  • クラスターの作成が完了するまで待機します(数秒かかります)

クラスターが作成されると、ポップアップボタンに「クラスターが正常に起動しました」というテキストが表示されます。

さて、次のステップは、作業環境を設定し、実行中のクラスターにアクセスすることです。それを行いましょう。

環境の設定

環境でMyScaleを使用するためには、以下が必要です:

  • Python: MyScaleはPythonクライアントライブラリを提供しており、データベースとのやり取りに使用するため、システムにPythonがインストールされている必要があります。PCにPythonがインストールされていない場合は、Pythonの公式ウェブサイト(新しいウィンドウで開きます)からダウンロードできます。
  • MyScale Pythonクライアントpipを使用してClickHouseクライアントパッケージをインストールします。

クラスターへの接続

次のステップは、Pythonアプリをクラスターに接続することです。接続には、以下の詳細が必要です:

  • クラスターホスト
  • ユーザー名
  • パスワード

詳細を取得するには、MyScaleプロファイルに戻り、「アクション」というテキストの下に縦に並んだ3つの点をホバーし、接続の詳細をクリックします。

「接続の詳細」をクリックすると、次のボックスが表示されます:

これは、クラスタに接続するために必要な接続詳細です。ディレクトリ内にPythonノートブックファイルを作成し、次のコードをノートブックセルにコピーして実行してください。それにより、クラスタとの接続が確立されます。

データベースの作成

次のステップは、クラスタにデータベースを作成することです。次に、これを実行する方法を見てみましょう。

MyScaleを使用してテーブルを作成する

MyScaleでテーブルを作成するための基本的な構文は次のとおりです:

ENGINE = engine_type節は、データのストレージと処理方法を決定する上で重要です。 ORDER BY expressionを指定することも可能で、これによりデータが物理的にテーブルに格納される方法が決まります。この PRIMARY KEY expressionはデータの取得効率を改善するために使用されます。 ClickHouseの主キーは伝統的なSQLデータベースと異なり一意性を強制しないが、クエリの処理を加速するためのパフォーマンス最適化ツールとして使用されます。

テーブルにデータをインポートし、インデックスを作成する

データセットをインポートして列を作成する実践的な経験を積んでみましょう。

定義されたテーブルにデータを挿入する

テーブルの作成プロセスの後、次のステップはテーブルにデータを挿入することです。したがって、以前にダウンロードしたデータを挿入します。

ベクトルインデックスの作成

次のステップはベクトルインデックスの作成です。どのように行われるかを見てみましょう。

MSTGベクトルインデックスは、MyScale社内で作成されたものであり、速度、精度、およびコスト効率の面で競合他社を大きく上回っています。

ベクトルインデックスが正常に作成されているかどうかを確認するために、次のコマンドを試してみましょう:

MyScaleを使用してさまざまなタイプのSQLクエリを書く

MyScaleを使用すると、基本的なクエリから複雑なクエリまで、さまざまな種類のクエリを書くことができます。最初に非常に基本的なクエリから始めましょう。

これにより、指定したエントリの上位10件の近隣データが表示されます。

MyScaleを使用して自然言語クエリを書く

MyScaleを使用して自然言語クエリでもクエリを行うことができますが、そのためには新しいデータを含む別のテーブルを作成する必要があります。ニューラルネットワークからの特徴を持つ新しいデータでテーブルを作成しましょう。

テーブルを作成する前に、データをロードしましょう。元のファイルはこちらからダウンロードできます (新しいウィンドウで開く)

MyScaleはSQLベクトルデータベースのリーダーです

MyScaleは、pgvectorなどの統合ベクトルデータベースやPineconeなどの専用ベクトルデータベースと比較して、非常に高い精度パフォーマンス、およびコスト効率を実現します。ベクトルを使用した検索に優れており、クエリの処理速度が高く、低コストで提供されます。パフォーマンスに加えて、SQLインターフェースは開発者にとって非常に使いやすく、最小限の学習で最大限の価値を提供します。

MyScaleは本当に画期的な存在です。ベクトルによるより良い検索にとどまらず、複雑なメタデータフィルタを含むシナリオにおいて高い精度とクエリパフォーマンスを実現します。さらに、もっとも重要なことは、登録すると、5百万のベクトルを処理できるS1ポッドを無料で使用できるということです。パワフルかつ費用効果の高いベクトルデータベースソリューションを必要とするすべての人にとって、これが選択肢となります。

MyScaleはAI統合を活用したアプリケーションを強化します

MyScaleは機能を強化し、AIテクノロジーとの統合によりより堅牢なアプリケーションを作成することができます。それらの統合のいくつかを見てみましょう。MyScaleアプリケーションを改善することができます。

LangChainとの統合

AIアプリケーションのユースケースが日々増える現代の世界では、LLMとデータベースを組み合わせるだけでは堅牢なAIアプリケーションを作成することはできません。より良いアプリケーションを開発するためには、異なるフレームワークやツールを使用する必要があります。この点で、MyScaleはLangChainとの完全な統合を提供し、高度な検索戦略による効果的かつ信頼性の高いAIアプリケーションを作成することができます。MyScaleの自己クエリリトリーバーは、テキストをメタデータフィルターされたベクトルクエリに変換するための柔軟かつ強力なメソッドを実装し、多くの実世界のシナリオで高い精度を実現しています。

OpenAIとの統合

OpenAIとMyScaleを統合することで、AIアプリケーションの精度と堅牢性を大幅に向上させることができます。OpenAIは、コンテキストと意味を保持した最適な埋め込みベクトルを取得できます。自然言語クエリを使用したベクトル検索やデータからの埋め込み抽出において、これは非常に重要です。これにより、アプリケーションの精度と正確性を向上させることができます。より詳細な理解については、弊社のOpenAIとの統合(新しいウィンドウで開きます)文書をご覧ください。

最近、OpenAIはGPTをリリースしました。これにより、開発者は簡単にGPTとチャットボットをカスタマイズすることができます。MyScaleは、サーバーサイドのコンテキストをGPTモデルにシームレスに注入することで、このシフトに適応します。MyScaleは、構造化データフィルタリングとSQL WHERE句を介した意味的な検索により、コンテキストの注入を効率化し、知識ベースの費用効果的なストレージを最適化し、GPT間での共有を可能にします。GPT StoreでMyScaleGPT(新しいウィンドウで開きます)をお試しください。また、知識ベースをGPTに結び付けるために、MyScale(新しいウィンドウで開きます)を使用してください。

まとめ

AIおよび機械学習アプリケーションの需要が増える中、MyScaleのようなデータベースの需要が高まっています。MyScaleは、従来のデータベースの速度と機能性と最新のベクトル検索能力を組み合わせた最新のSQLベクトルデータベースです。この組み合わせは、AIアプリケーションを強化するのに最適です。

さらに重要なことは、MyScaleがSQL構文と完全に互換性があるため、SQLに精通している開発者はすぐにMyScaleを使い始めることができます。さらに、MyScaleのコストは他のタイプのベクトルデータベースよりもずっと低いです(新しいウィンドウで開きます) 。したがって、MyScaleは大量のデータを管理する企業にとって魅力的な選択肢であり、SQLの熟知とパワーによる製品レベルのGenAIアプリケーションの構築において、明確な優位性を提供します。MyScaleの最新情報を知りたい場合は、今すぐDiscordまたはTwitterで参加してください。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more