MyScale (opens new window)は、統合SQLベクトルデータベースの最新バージョンであるEmbedText機能 (opens new window)を導入しました。この強力な機能により、SQLクエリの効率性と最新のAI駆動のテキスト埋め込み技術が組み合わさり、おなじみのSQL構文を使用して正確なテキストマッチングと効率的な意味的類似性の計算が可能になります。
Jina Embeddings v2 (opens new window)モデルの完全な統合により、MyScale EmbedTextでは、標準のSQL構文を使用して、最大8Kの入力長のテキストを処理することができます。これにより、これまで以上に長いテキストを理解し処理することが可能になります。複雑な多言語データの処理や高度なAIアプリケーションの作成において、開発者は開発プロセスのあらゆる段階でJina AIのトップ埋め込みモデルをMyScaleを介して即座に活用することができます。
# MyScaleとは
MyScaleは、SQLに精通した開発者が本番品質の生成型AIアプリケーションを構築できるクラウドネイティブなSQLベクトルデータベースです。ClickHouse (opens new window)をベースに構築され、ベクトル検索とストレージをスケーラブルなリレーショナルデータベースに統合し、構造化および非構造化データの効率的なストレージと処理を提供し、複雑なデータベースエンジニアリングを効率化します。また、AIアプリケーションの信頼性とパフォーマンスを最大限に確保します。
MyScaleのEmbedText機能は、SQLのおなじみの構文を活用してテキスト埋め込みベクトルを簡単に生成するためのものであり、ユーザーは自分のプロジェクトに人気のあるAIモデルを採用することができます。EmbedTextの自動バッチ処理を使用することで、開発者は外部ツールに頼ることなく、複雑なプログラミングを行うことなく、大量のデータの処理性能を大幅に向上させることができます。
# Jina Embeddingsとは
Jina Embeddings v2は、8192トークンの入力サイズをサポートする世界初かつ現在唯一のオープンソースのテキスト埋め込みモデルです。英語のみ (opens new window)、中国語-英語のバイリンガル (opens new window)、ドイツ語-英語のバイリンガル (opens new window)の3つのバージョンが利用可能です。
特徴:
- OpenAIのクローズドソースモデルであるAda 2モデルと同等の業界をリードするパフォーマンス。
- 8千以上のトークンのテキストをサポートし、長いテキストベクトル表現の壁を破り、開発者がテキストの意味を複数のスケールで完全に表現することができます。
- モデルには中国語と英語を1つの埋め込み空間で表現するモデルと、ドイツ語と英語を同様に表現するモデルの2つのバイリンガルモデルがあり、さらに多言語対応が予定されています。Jina Embeddingsは、異なる言語の大量の効率の悪いAIモデルではなく、それぞれの特定の言語に特化したモデルを使用することで、クロス言語アプリケーションを可能にします。これにより、大量の異なる言語に対してパフォーマンスが均等で明確でない大規模なAIモデルを使用する必要がなくなります。
- LlamaIndexによるランキング (opens new window)によれば、RAG(Retrieval-Augmented Generation)アプリケーション向けの世界最高の埋め込みモデルの一つです。
# MyScaleでJina Embeddings v2を使用する
開発者は、MyScaleのEmbedText機能でJina Embeddingsを使用して、データの挿入と埋め込みベースのクエリを行うことができます。このセクションでは、その詳細について説明します。
# 簡略化された関数の作成
実用的な戦略の一つは、テキスト埋め込みを作成し、関連するモデル名、プロバイダー、APIキーを含むSQLユーザー定義関数(UDF)を宣言することです。必要な場所に自分のAPIキーを挿入してください。
以下のSQLステートメントは、その目的のためにJinaAIEmbedText
関数を宣言しています。
CREATE FUNCTION JinaAIEmbedText ON CLUSTER '{cluster}'
AS (x) -> EmbedText(x, 'Jina', '', 'YOUR_API_KEY', '{"model":"jina-embeddings-v2-base-en"}')
これで、テキストの埋め込みを取得するためには、単にJinaAIEmbedText
を呼び出すだけです。
SELECT JinaAIEmbedText('YOUR_TEXT')
# Jina Embeddingsを使用したベクトル検索の最適化
簡略化された関数を作成したら、Jina Embeddingsを使用してベクトル検索を最適化することができます。埋め込みを使用したクエリは、標準のSQLメソッドに従います。JinaAIEmbedText
を使用すると非常に簡単です。
SELECT id, distance(vector_column_name, JinaAIEmbedText('YOUR_QUERY_TEXT')) AS dist
FROM table_name ORDER BY dist LIMIT 10
これにより、埋め込みベクトルに基づいてクエリに最もマッチする10件のレコードがテーブルに表示されます。
# データの挿入
JinaAIEmbedText
関数を使用して、テキストデータをベクトルに変換するSQLテーブルを作成することができます。例えば:
CREATE TABLE jina_embedding
(
id UInt32,
paragraph String,
vector Array(Float32) DEFAULT JinaAIEmbedText(paragraph),
CONSTRAINT check_length CHECK length(vector) = 768
)
ENGINE = MergeTree
ORDER BY id
その後、このテーブルにデータを挿入して自動的に埋め込みを生成します。
INSERT INTO jina_embedding (id, paragraph)
VALUES (1, 'YOUR_TEXT_1'), (2, 'YOUR_TEXT_2')
# AI開発者への利点
MyScaleのJina Embeddings v2モデルの統合により、開発者はデータベース駆動の生成型AIアプリケーションを構築するための堅牢なフレームワークを提供され、新しいアプリケーションを市場に投入する際の時間、労力、費用を節約することができます。
具体的な利点は以下の通りです:
- 計算コストの削減:MyScaleは、競合他社と比較してメモリ消費量を劇的に削減しながら優れたデータベースパフォーマンスを提供するため、AIアプリケーションのバックエンドとして非常にコスト効果の高い選択肢となります。Jina Embeddingsは、異なるモデルサイズと埋め込みベクトルサイズの選択肢を開発者に与えることで、計算およびストレージコストを管理するためのツールを提供します。
- 柔軟性の向上:MyScaleとJina Embeddingsのシナジーにより、特に長いドキュメントや大規模なドキュメントコレクションなどの難しいアプリケーションシナリオで、開発者は柔軟性を向上させることができます。
- より正確な検索:MyScaleは、独自のMSTGアルゴリズム (opens new window)による強力なメタデータフィルタリング検索を実現し、Jina Embeddingsはテキストの意味をより正確に表現する埋め込みを提供することで、情報検索の正確性を向上させます。これにより、より的確な意思決定と優れたアプリケーションパフォーマンスが実現され、特にRAGアプリケーションの正確性が向上します。これらの2つのテクノロジーの組み合わせにより、検索のレベルが向上します。
MyScaleとJina Embeddingsを組み合わせることで、特にRAG強化型のチャットボットに対して実用的なアプリケーションが可能になります。MyScaleは、Jina Embeddingsを強化することで、チャットボットの単一のデータソースとして機能し、データのセキュリティ、一貫性、整合性を確保します。MyScaleは、レコードへの参照を格納することでデータの冗長性を減らし、アクセシビリティを向上させ、高度なアクセス制御を提供することで、データの冗長性を減らします。
Jina Embeddings v2の長いテキストの処理能力は、対話システムへの入力の管理に理想的です。Jina Embeddingsで作成されたチャットボットは、会話の文脈をより理解しており、長いチャットや複雑なシナリオでのパフォーマンスを大幅に向上させます。
# 未来への展望
MyScaleとJina Embeddings v2の深い統合により、開発者はプロジェクトにAIを組み込むことができます。これには、インテリジェントな顧客サービスロボットの作成、より正確なクロス言語検索アプリケーションの開発、法務およびビジネス文書の分析と管理プロセスの最適化などが含まれます。開発者は、MyScaleとJina Embeddingsを使用して、より広範なアプリケーションシナリオを探索し、ユーザーにより多くの価値を提供するより革新的で実用的なAIアプリケーションを構築することができます。
もしMyScaleとJina AIの統合を使用したAIアプリケーションの構築についてのアイデアがあれば、MyScaleのDiscord (opens new window)またはTwitter (opens new window)で共有してください。