メインコンテンツまでスキップ

SDK の使い方

Reveal SDK AI クライアントは、Web アプリケーションに AI 機能を提供する TypeScript/JavaScript ライブラリです。インサイト(データ分析の生成)とチャット(対話型アナリティクス)の2つの主要な API を公開しており、どちらも単一のクライアントインスタンスからアクセスできます。

初期化

AI 機能を使用する前に、サーバー URL を指定してクライアントを初期化します:

import { RevealSdkClient } from '@revealbi/api';

RevealSdkClient.initialize({
hostUrl: 'https://your-server.com'
});

UMD/CDN を使用する場合:

rv.RevealSdkClient.initialize({
hostUrl: 'https://your-server.com'
});
備考

クライアント SDK を使用するには、AI サーバー SDK がインストールされ、実行されている必要があります。すべての AI リクエストは、設定された LLM プロバイダーによってサーバーサイドで処理されます。

クライアントインスタンスの取得

初期化後、アプリケーション内のどこからでも共有クライアントインスタンスを取得できます:

const client = RevealSdkClient.getInstance();

API サーフェス

クライアントは client.ai 名前空間を通じて AI 機能を公開します:

インサイト

ダッシュボードやビジュアライゼーションからサマリー、分析、予測を生成します:

const insight = await client.ai.insights.get({
dashboardId: 'sales-dashboard',
type: 'summary',
});

console.log(insight.explanation);

詳しくはインサイトをご覧ください。

チャット

ユーザーが自然言語でデータと対話できる会話型インターフェースを構築します:

const response = await client.ai.chat.sendMessage({
message: 'Show me sales by region for Q4',
datasourceId: 'my-datasource',
});

console.log(response.explanation);

詳しくはチャットをご覧ください。

ストリーミングと非ストリーミング

両方の API で2つのレスポンスモードがサポートされています:

  • 非ストリーミング(デフォルト): 完全なレスポンスを待ちます。シンプルで分かりやすい方式です。
  • ストリーミング: テキストが生成されるとリアルタイムで受信し、ChatGPT のような体験を提供します。

ストリーミングを有効にするには、任意のリクエストに stream: true を追加します:

const stream = await client.ai.insights.get({
dashboardId: 'sales-dashboard',
type: 'summary',
stream: true,
});

stream.on('text', (content) => {
console.log(content); // Text arrives in chunks
});

const result = await stream.finalResponse();

詳しくはストリーミングレスポンスをご覧ください。