Sign In
Free Sign Up
  • English
  • Español
  • 简体中文
  • Deutsch
  • 日本語
Sign In
Free Sign Up
  • English
  • Español
  • 简体中文
  • Deutsch
  • 日本語

MyScaleDB x Dify: 簡単かつ効率的にAIアプリを構築する

AIアプリケーションを迅速に構築したい場合、Difyは効率的なソリューションを提供します。AIアプリケーション向けにDify内でベクトルデータを処理および取得するために最適化されたベクトルデータベースをお探しの場合、MyScaleDB (opens new window)が最適な選択肢です。SQLベクトルデータベースであるMyScaleDBは、ベクトルの取得、全文検索、ハイブリッド検索をサポートするため、Difyに統合されました (opens new window)。開発者は、MyScaleDBの強力なSQL機能とベクトル検索機能を活用しながら、Difyの直感的なインターフェースを介して簡単にプロンプトを編成およびデバッグし、インテリジェントなチャットボット、テキスト生成ツールなどのAIアプリケーションを作成できます。この統合により、AIアプリケーションの開発が簡素化され、エンゲージメントが向上し、AIコミュニティに活力と創造性が注入されます。

# Difyとは?

Dify (opens new window)は、開発者がより簡単かつ迅速にAIアプリケーションを構築および運用できる次世代のオープンソースの大規模言語モデル(LLM)アプリケーション開発プラットフォームです。

以下は、Difyの主な特徴と機能です:

  • ビジュアルプロンプト編成: インターフェースベースのプロンプトの作成とデバッグを通じて、開発者は迅速にAIアプリケーションを作成できます。
  • データセット管理: エンタープライズのナレッジベースや製品ドキュメントをアップロードおよび管理し、ドメイン固有の知識に基づくAIアプリケーションを構築できます。
  • API統合: 使いやすいAPIを提供し、既存のシステムに簡単に統合できます。
  • 使いやすいWebアプリ: 使いやすいWebアプリケーションインターフェースを提供し、さらなる開発をサポートします。
  • マルチモデルサポート: OpenAI GPTシリーズやClaudeなど、さまざまな大規模言語モデルを統合し、開発者がモデルを選択および比較できるようにします。
  • ローコード開発: ビジュアルインターフェースを提供し、非技術者でもAIアプリケーションを作成および最適化できるようにします。
  • 運用と分析ツール: データラベリングやログ分析などの機能を備えており、AIアプリケーションのパフォーマンスを継続的に改善するのに役立ちます。

Difyは、クラウドコンピューティングサービスの使用と同じくらい簡単にAIアプリケーションの開発を行うことを目指して設計されており、基礎となる技術的な詳細に立ち入ることなく、アイデアを実用的なAIアプリケーションに素早く変換できるようになっています。インテリジェントなチャットボット、ナレッジベースを活用したQ&Aシステム、テキスト生成ツールなど、さまざまなAIアプリケーションを構築するのに適しています。

# MyScaleDBとは?

MyScaleDBは、ClickHouse上に構築されたオープンソースの高性能なSQLベクトルデータベース (opens new window)です。MyScaleDBは完全にSQL互換性があり、ベクトル検索、フィルタ検索、SQLベクトル結合クエリをサポートしています。MyScaleDBはSQLデータベース、データウェアハウス、ベクトルデータベース、全文検索エンジンを統一し、効率的なマルチモーダルデータ管理を提供します。

LLMアプリケーションの可観測性に関しては、MyScaleDBは大量のエージェント実行ログデータを格納することに優れています。MyScaleDB Telemetryは、MyScaleDB上でRAG(Retrieval-Augmented Generation)システムが実行されている間に異種のデータを収集し分析し、貴重な洞察を提供します。これにより、ユーザーはエージェントのワークフローを最適化し、モデルを調整し、データ分析に基づいてシステムの信頼性とパフォーマンスを継続的に改善することができます。

さらに、MyScaleDBはAIアプリケーションの構築とスケーリングに特化して設計されています。MyScaleDBは、強力なデータ処理機能を確保しながら、使い慣れたSQLを使用して効率的にAIアプリケーションを作成および拡張するのに開発者を支援します。MyScaleDBは、大規模なベクトルデータの処理と構造化データとの複雑なクエリの組み合わせを必要とするAIアプリケーションのシナリオに適しています。

Boost Your AI App Efficiency now
Sign up for free to benefit from 150+ QPS with 5,000,000 vectors
Free Trial
Explore our product

# DifyでMyScaleDBを使用する方法

DifyがAIアプリケーションの開発をどのように強化し、基本的な機能を提供するかを理解したら、大規模なベクトルデータの管理とAIアプリケーションのパフォーマンスを最適化するためのMyScaleDBの堅牢な機能を組み合わせるために、MyScaleDBをDify内で統合する方法を探ってみましょう。

# MyScaleDBクラスタを作成する

Difyは、オープンソースのMyScaleDBとエンタープライズレベルのMyScale Cloud (opens new window)の両方をサポートしています。オープンソース版のMyScaleDBを使用する場合は、このセクションをスキップできます。MyScale Cloudを使用する場合は、https://console.MyScaleDB.com (opens new window)にアクセスし、登録してログインし、右上隅の「New Cluster」ボタンをクリックしてMyScaleクラスタを作成します。

クラスタの作成

クラスタ名を入力した後、「Next」ボタンをクリックし、クラスタの起動が完了するのを待ちます。

クラスタの起動

クラスタの右側にある「Actions」ボタンをクリックし、ポップアップリストから「Connection Details」を選択します。Python タブからhost/port/username/passwordの情報を記録します。この情報は、DifyがMyScaleクラスタにアクセスするための設定に使用されます。

クラスタの接続

# Difyを設定して実行する

DifyとMyScaleを統合するためには、まずDifyをデプロイする必要があります。

詳しい手順については、公式ドキュメント (opens new window)を参照してください。

docker-composeでDifyを起動する前に、.envファイルを編集し、MyScale関連の設定を入力してください。

  • VECTOR_STOREMyScaleに設定します。
VECTOR_STORE=MyScale
  • MyScale Cloudを使用している場合は、MyScale Cloudのウェブページから取得した詳細に基づいて関連する設定を調整します(MyScale_DATABASEは変更しないでください)。オープンソースのMyScaleDBを使用している場合、以下の設定は変更の必要はありません。
MyScale_HOST=MyScale
MyScale_PORT=8123
MyScale_USER=default
MyScale_PASSWORD=
MyScale_DATABASE=dify
  • 中国語のドキュメントなど、複数の言語をサポートする必要がある場合は、MyScale公式ドキュメント (opens new window)を参照して、MyScale_FTS_PARAMSパラメータを設定します。たとえば、中国語のトークナイザを使用する場合は、次のSQLを使用してMyScaleでフルテキストインデックスを作成します(テキスト情報がMyScaleのテーブルの「text」という列にあると仮定):
ALTER TABLE [table_name] ADD INDEX text_idx text
TYPE fts('{"text":{"tokenizer":{"type":"chinese",
"case_sensitive":false}}}');

それに応じて、MyScale_FTS_PARAMSを次のように変更します:

MyScale_FTS_PARAMS='{"text":{"tokenizer":{"type":"chinese",
"case_sensitive":false}}}'
  • これらの変更を行った後、次のようにDifyを起動します:
docker compose up -d

Dify knowledge base (opens new window) 機能を使用する際、ユーザーはベクトル検索、全文検索、およびハイブリッド検索方法をサポートするMyScaleDBを統合するオプションがあります。そして、ナレッジベースを作成 (opens new window)する際に、これらの検索方法の中から一つを選択することができます。

Join Our Newsletter

# 開発者への利点

DifyとMyScaleDBは、開発者のエクスペリエンスを向上させるための包括的なツールと機能を提供します。以下に、これらのプラットフォームを利用する開発者にとっての主な利点をいくつか紹介します。

# 簡単にAIアプリケーションの開発を開始できる

Difyは、直感的なビジュアルツールとさまざまな事前構築機能により、開発プロセスを効率化するローコード開発環境を作成します。これにより、開発者と非技術者の両方が積極的にAIアプリケーションの作成と最適化に参加できるようになります。

同時に、MyScaleDBの完全なSQL互換性により、ベクトル検索、フィルタ検索、SQLベクトル結合クエリなどのタスクにおいて、複雑な新しいツールやフレームワークをマスターする必要がなくなります。さらに、MyScaleDBは構造化データ、ベクトルデータ、テキストなどのデータタイプを管理および処理するための統一プラットフォームを提供するため、全体的な開発プロセスが簡素化されます。この組み合わせアプローチにより、AIアプリケーションの開発と運用に関連する学習コストが大幅に低減され、AIソリューションの迅速な展開とスケーラビリティが可能になります。

# 高いパフォーマンスとスケーラビリティ

Difyには、高品質なRetrieval-Augmented Generation(RAG)エンジンが組み込まれており、ナレッジベースのAIアプリケーションの精度と応答速度を効果的に向上させることができます。Difyは、ユーザーがビジネスニーズに応じてAIアプリケーションのスケールと機能を簡単に拡大できるように設計されています。Difyは、プロンプトエンジニアリング、コンテキスト管理、ログ分析、データ注釈などの機能も提供し、ユーザーがAIアプリケーションを継続的に最適化できるようにサポートします。

MyScaleDBは、高度なOLAPデータベースアーキテクチャと独自開発のMSTGベクトルアルゴリズムを活用して、アプリケーションのスケーリングを容易に行うだけでなく、高速なベクトル検索を保証します。MyScaleDB Telemetryは、LLMアプリケーションの可観測性と評価を向上させるためのLangSmithに類似した機能を提供します。LangChain Callbacksとシームレスに統合することで、詳細なトレースデータをキャプチャし、MyScaleDBに格納することができ、問題の診断、パフォーマンスの最適化、アプリケーションの動作の理解を容易にします。

# コスト効果の高さ

Difyは、さまざまなベクトルデータベースと統合されており、ユーザーは自分のニーズに応じて適切な基礎となるデータベースを選択できます。Difyと統合された唯一のSQLベクトルデータベースであるMyScaleDBは、追加のElasticsearchの必要なく、同じデータベース内でベクトル検索、全文検索、ハイブリッド検索を提供するだけでなく、大規模データの処理時に他の特化型ベクトルデータベース(WeaviateやQdrantなど)と比較して基本的な検索パフォーマンスにおいて優位性があります。

MyScaleベンチマーク

# 今後の展望

MyScaleDBとDifyは、今後も協力関係を深め、より革新的なAIアプリケーションの方向性を共同で探求していく予定です。この強力なパートナーシップが、開発者により便利で効率的なツールをもたらし、AI技術のさまざまな領域での広範な応用を推進すると信じています。

MyScaleDBは、引き続き高性能なベクトルデータベースの革新と開発に取り組み、技術的な能力とサービスレベルを向上させ、オープンソースコミュニティとAIエコシステムにより多くの活力と効果をもたらすことを目指します。手を取り合って前進し、AI時代の到来を推進し、よりスマートで便利な未来を創造しましょう。

次の記事では、MyScaleDBとDifyを使用して簡単にAIアプリケーションを構築する方法を紹介します。MyScaleDBとDifyの使用事例について話し合いたい場合は、Discord (opens new window)でお気軽にお問い合わせください。

Keep Reading
images
ベクトル検索とは

大規模データベースのクエリの効率を向上させるためのデータベース最適化技術を探しているソフトウェア開発者として想像してみてください。従来のSQLデータベースでは、「B-Treeインデックス」や単に「インデックス」といったキーワードを使用して関連するブログや記事を見つけるかもしれません。しかし、このキーワードベースのアプローチでは、「SQLチューニング」や「インデックス戦略」といった異なるが関連するフ ...

images
OpenAIのCLIPによるゼロショット分類

従来の画像分類モデル(例:畳み込みニューラルネットワーク(CNN))は、長年にわたり[コンピュータビジョン](https://myscale.com/blog/revolutionizing-real-world-scenarios ...

Start building your Al projects with MyScale today

Free Trial
Contact Us