メインコンテンツまでスキップ
Asgard SDK のインストール、設定、クイックスタート

SDK 概要

Asgard は JavaScript と React の公式 SDK を提供しています。低レベルな API の詳細を自分で扱わずに、チャットボット機能を組み込めます。

SDK が提供するもの​

  • API アクセスの簡素化: REST リクエストをラップし、認証とエンドポイント設定を一箇所にまとめます
  • SSE ストリームの処理: Server-Sent Events を自動で処理し、ボットの応答を生成されたそばから受け取れます
  • Channel の管理: セッションの永続化が組み込まれており、複数ターンの対話に対応します
  • React コンポーネント: @asgard-js/react がすぐ使えるチャット UI とフックを同梱しています

インストール​

JavaScript SDK​

あらゆる JavaScript 環境(Node.js、ブラウザ、フレームワーク非依存)向けです。

npm install @asgard-js/core

React SDK​

React アプリケーション向けで、UI コンポーネントとフックを含みます。

npm install @asgard-js/react

@asgard-js/react は @asgard-js/core を peer dependency とするため、両方をインストールしてください。

クイックスタート​

次の例は @asgard-js/core の低レベル API でメッセージを送り、ストリーミング応答を受け取るものです。

import { AsgardServiceClient, Channel, Conversation } from '@asgard-js/core';

const client = new AsgardServiceClient({
botProviderEndpoint:
'https://api.asgard-ai.com/ns/{namespace}/bot-provider/{botProviderId}',
});

const conversation = new Conversation({ messages: new Map() });

const channel = await Channel.reset({
client,
customChannelId: 'channel-123',
conversation,
statesObserver: (states) => {
console.log('Messages:', Array.from(states.conversation.messages.values()));
},
});

await channel.sendMessage({ text: 'こんにちは、自己紹介をお願いします' });

React を使う場合は <Chatbot> コンポーネントから始めるのが簡単です。

import { Chatbot } from '@asgard-js/react';
import '@asgard-js/react/style';

export default function App() {
return (
<div style={{ height: '100vh' }}>
<Chatbot
title="マイ AI アシスタント"
customChannelId="user-123"
config={{
botProviderEndpoint:
'https://api.asgard-ai.com/ns/{namespace}/bot-provider/{botProviderId}',
}}
/>
</div>
);
}

SDK と REST API 直接呼び出しの比較​

機能SDKREST API
SSE ストリームの処理自動自前で実装
認証初期化時に一度設定すれば自動付与リクエストごとにヘッダーを付与
Channel の管理セッション永続化が組み込み済みchannelId を自前で保持
React 連携フックとコンポーネントを提供自前でラップ
エラー処理統一されたエラーインターフェース種類ごとに自前で解析
TypeScript 対応完全な型定義自前で型を定義

関連ドキュメント​

GitHub​

ソースコードと最新版: asgard-ai-platform/asgard-js-sdk