前提条件
作業を始める前に、以下の環境を準備してください。- SambaCloud アカウントと API キー
- Exa アカウントと API キー
- Python 3.9 以降、または Node.js 18 以降
セットアップ
以下の手順に従って、必要な依存パッケージをインストールし、環境を設定します。1
依存パッケージのインストール
使用する言語に応じて、必要な SDK をインストールします。
- Python
- Node.js
Node.js の例では ES モジュールとトップレベル
await を使用しています。ファイルは .mjs 拡張子で保存してください (または package.json に "type": "module" を設定してください)。2
API キーの設定
プロジェクトディレクトリに
.env ファイルを作成します。3
Exa による Web 検索
Exa を使って、クエリに関連する Web コンテンツとハイライトを取得します。
- Python
- Node.js
4
検索結果による SambaNova モデルのグラウンディング
前のステップで取得した
results を使い、Exa の検索結果をコンテキストとして整形して、SambaNova でホストされているモデルに渡します。- Python
- Node.js
5
(任意) Exa によるツール呼び出しの有効化
エージェント型ワークフローでは、Exa 検索を Function tool として公開することで、モデル自身が Web 検索を行うタイミングを判断できるようになります。
- Python
- Node.js
検索モードと鮮度の制御
Exa は複数の検索戦略に対応しています。
返されるコンテンツの新しさは、
max_age_hours (Python) または maxAgeHours (Node.js) で制御できます。0 に設定すると Exa はライブコンテンツのみを取得し、24 に設定すると 1 日前までの結果が許容されます。
ユースケースの例
この連携により、以下のような一般的なユースケースを実現できます。- チャットボットの応答を最新の Web 情報でグラウンディングする
- 出典の引用付きリサーチアシスタントを構築する
- 最近のニュースや動向を取得する
- AI エージェントに Web 検索機能を追加する
- 独自の検索インフラを維持することなく、検索拡張生成 (RAG) ワークフローを構築する
参考情報
- Exa ドキュメント: Exa の Python / Node.js SDK の完全なリファレンス
- Exa Search API リファレンス: API パラメータとレスポンススキーマの詳細
- SambaNova ドキュメント: モデルの選択肢、API エンドポイント、利用ガイド

