目次
この記事について
本記事は、Agent Builder を使用したデータストア参照型対話エージェントの作成に関する調査記録です。
やりたいこと
Agent Builder を用いたデータストア参照型対話エージェントの作成において、
既存のデータストア機能だとデータ数増加により回答率の低下が発生する為、firebaseの拡張機能を使ったelastic検索をデータストアとしてエージェントに実装したい。
前回の調査日記
あわせて読みたい


AI Agent開発日記 2025/04/22
この記事について 本記事は、Agent Builder を使用したデータストア参照型対話エージェントの作成に関する調査記録です。 やりたいこと Agent Builder を用いたデータス...
firebaseでの拡張機能を使ったelastic検索を試してみる。
- 前回の問題
- .envファイルに環境変数を定義して、ローカルエミュレーターを起動した後下記のCOLLECTION_PATHが設定されていないというエラーが発生した、だがログを見る限り.env ファイルは読み込まれている
- 上記の問題はdotenvモジュールを使った環境変数取り込みで解決した
- .envファイルに環境変数を定義して、ローカルエミュレーターを起動した後下記のCOLLECTION_PATHが設定されていないというエラーが発生した、だがログを見る限り.env ファイルは読み込まれている
- やりたいこと
- ローカルエミュレーターでfirebaseのelastic検索拡張機能の動作を確認したい
- 現状
- ローカルエミュレーターを
firebase emulators:start
で起動し、ターミナルのログに出力されるURLからFirebase Emulator Suiteを開き、コレクションとドキュメントを作成後、ターミナルに
“URLパスが存在しないまたはapikeyが無効である”というエラーが出力されていた。 - pythonでエンドポイントurlとapikeyどちらが間違っているのかを確認した結果、エンドポイントurlは正しいようだが、apikeyを使ってアクセスする事が許可されなかった為、apikeyの問題ということが分かった、期限切れなどの可能性も考慮して、現在使用してるapikeyを調査する。
- ローカルエミュレーターを
ERROR内容
⚠ External network resource requested!
- URL: "[ endpoint_url ]/api/as/v1/engines/test1/documents"
> {"documentId":"doc1","error":{"errorMessages":["Not Found"]},"severity":"ERROR","message":"Error: CREATE 中にエラー発生"}
⚠ functions: Error: Not Found
参照記事
Qiita


Firebase extensionsがemulatorを使ってlocalで動かせるようになったので試してみた - Qiita
こんにちは。virapture株式会社でCEOしながらラグナロク株式会社でもCKOとして働いているもぐめっとです。このあいだ初めてマーダーミステリーというのをやってみました。...
拡張機能
GitHub

GitHub - elastic/app-search-firestore-extension: An extension that syncs data from Google's [Cloud F...
An extension that syncs data from Google's [Cloud Firestore](https://firebase.google.com/products/firestore) to [Elastic App Search](https://www.elastic.co/...
dotenvを使用してfunctions/src/index.tsファイルで環境変数を取り込んで出力するテストコード
import * as dotenv from 'dotenv';
import * as path from 'path';
// NODE_ENV が 'production' でない場合のみ .env を読み込む
if (process.env.NODE_ENV !== 'production') {
const envPath = path.resolve(__dirname, '../.env');
console.log(`[dotenv] Attempting to load .env from: ${envPath}`);
const result = dotenv.config({ path: envPath });
if (result.error) {
console.warn(`[dotenv] Warning: Failed to load .env file from ${envPath}:`, result.error.message);
} else {
console.log(`[dotenv] Successfully loaded environment variables from ${envPath}`);
}
}
export { shipToElastic } from "./shipToElastic";