メインコンテンツへスキップ

概要

このガイドでは、Neuradex SDKを使って以下を行います:
  1. ナレッジを登録
  2. セマンティック検索を実行
  3. Chat APIでRAGを構築

セットアップ

1

SDKをインストール

まだの場合は、SDKをインストールしてください。
npm install @neuradex/sdk
2

クライアントを初期化

import { NdxClient } from '@neuradex/sdk';

const client = new NdxClient({
  apiKey: process.env.NEURADEX_API_KEY,
  projectId: process.env.NEURADEX_PROJECT_ID,
});

ナレッジの登録

ナレッジは、タイトル・コンテンツ・タグで構成されます。
// 単一のナレッジを作成
const knowledge = await client.knowledge.create({
  title: '返品ポリシー',
  content: `
    商品到着後30日以内であれば返品可能です。

    返品条件:
    - 未使用・未開封であること
    - タグが付いた状態であること
    - レシートまたは注文確認メールがあること

    返品手続き:
    1. マイページから返品申請
    2. 返送用ラベルを印刷
    3. 商品を梱包して発送
  `,
  tags: ['返品', 'ポリシー', 'カスタマーサポート'],
});

console.log(`作成完了: ${knowledge.id}`);

一括登録

複数のナレッジを一度に登録することもできます。
const items = await client.knowledge.bulkCreate([
  {
    title: '配送について',
    content: '通常配送は3-5営業日です。お急ぎ便は翌日配送。',
    tags: ['配送', 'FAQ'],
  },
  {
    title: '支払い方法',
    content: 'クレジットカード、銀行振込、コンビニ払いに対応。',
    tags: ['支払い', 'FAQ'],
  },
]);

セマンティック検索

登録したナレッジを自然言語で検索できます。
// 検索を実行
const results = await client.knowledge.search('商品を返品したい');

// 結果を表示
for (const result of results) {
  console.log(`${result.title} (スコア: ${result.score})`);
  console.log(`  概要: ${result.summary}`);
  console.log(`  タグ: ${result.tags.join(', ')}`);
}
search()はタイトル・タグ・スコアのみを返します。フルコンテンツが必要な場合はget()を使用します。

詳細を取得

検索結果から詳細を取得します。
// 最も関連性の高い結果の詳細を取得
if (results.length > 0) {
  const detail = await client.knowledge.get(results[0].id);

  console.log(detail.title);
  console.log(detail.content);

  // 関連するナレッジも確認
  for (const connected of detail.connectedKnowledge) {
    console.log(`関連: ${connected.title}`);
  }
}

Chat APIでRAGを構築

**Chat API**を使えば、コンテキスト取得・プロンプト構築・LLM呼び出しを1ステップで実現できます。
Chat APIは、コンテキスト取得・プロンプト構築・LLM呼び出しを内部で自動処理します。memory: { enabled: true } を指定するだけで、ナレッジベースを活用したRAGが完成します。
import { NdxClient } from '@neuradex/sdk';

const client = new NdxClient({
  apiKey: process.env.NEURADEX_API_KEY,
  projectId: process.env.NEURADEX_PROJECT_ID,
});

// これだけでRAG完成 — Memory取得もプロンプト構築もSDKが自動処理
const stream = client.chat.create({
  model: 'gpt-4o',
  messages: [
    {
      role: 'system',
      content: 'あなたはカスタマーサポートアシスタントです。',
    },
    {
      role: 'user',
      content: '返品したいのですが、どうすればいいですか?',
    },
  ],
  memory: { enabled: true, maxTokens: 4000, includeEpisodes: true },
});

// ストリーミングで即座に表示
for await (const chunk of stream.textStream) {
  process.stdout.write(chunk);
}

次のステップ

Chat API

メモリ付きChat Completions

Knowledge API

ナレッジの詳細な操作方法

Memory API

コンテキスト組み立ての詳細