MENU
  • サービス
    • Struccle(ストラクル)
      • スクレイピングテンプレート
    • AI エージェント
  • 事例
  • 料金
  • ブログ
  • FAQ
  • サポート
    • クイックスタート
    • 操作ガイド
    • Struccle コミュニティ
  • 会社概要
    • About us
    • お問い合わせ
  • 資料
上場企業から個人まで、スクレイピングツールの決定版
Struccle
  • サービス
    • Struccle(ストラクル)
      • スクレイピングテンプレート
    • AI エージェント
  • 事例
  • 料金
  • ブログ
  • FAQ
  • サポート
    • クイックスタート
    • 操作ガイド
    • Struccle コミュニティ
  • 会社概要
    • About us
    • お問い合わせ
  • 資料
   12/31まで無料相談受付中
   無料で始める
Struccle
  • サービス
    • Struccle(ストラクル)
      • スクレイピングテンプレート
    • AI エージェント
  • 事例
  • 料金
  • ブログ
  • FAQ
  • サポート
    • クイックスタート
    • 操作ガイド
    • Struccle コミュニティ
  • 会社概要
    • About us
    • お問い合わせ
  • 資料
  1. ホーム
  2. AI_Agent
  3. AI Agent開発日記 2025/04/17

AI Agent開発日記 2025/04/17

2025 4/17
AI_Agent
2025年4月17日
目次

この記事について

本記事は、Agent Builder を使用したデータストア参照型対話エージェントの作成に関する調査記録です。

やりたいこと

Agent Builder を用いたデータストア参照型対話エージェントの作成において、
データストアのファイル数が増加することで回答率が低下する問題への対処を進める。

前回の調査日記

あわせて読みたい
AI Agent開発日記 2025/04/16 この記事について 本記事は、Agent Builder を使用したデータストア参照型対話エージェントの作成に関する調査記録です。 やりたいこと Agent Builder を用いたデータス...

firebaseでの拡張機能を使ったelastic検索を試してみる。

  • やりたいこと
    • 拡張機能「Search with Elastic App Search」を使ったelastic検索を検証してみたいのだが、拡張機能で使用されているNode.js 14 のサポートが終了しているためエラーが発生した。
    • Firebase拡張機能はGitHub上にソースコードが公開されていて、自分の環境でカスタマイズしてインストールする「ローカルカスタムインストール」が可能
    • この方法を使って、拡張機能のソースコードに定義されているNode.jsのランタイムバージョン(nodejs14)を、現在サポートされている nodejs20 に書き換えて、自分の Firebase プロジェクトにインストールし直す事で、問題が解決されるかもしれないので検証。
    • 変更後Firebaseに拡張機能としてfirebaseにインストールしようとした所、拡張機能の設定のインデックスを入力した後に何も表示されなくなる問題が発生、FirebaseのFunctions側から見ても動作の痕跡がなかった為、その原因を調査したい。
  • 試したこと
    • 下記のことを試して問題に変化はなかった。
      • PCを再起動
        • 変化なし
      • 拡張機能インストール時に入力した値をもう一度丁寧に確認してみる
        1. 問題なかった
      • nodeのバージョンを変更したのが問題なのか確かめる為にもとに戻してみる
        1. 20の時と変わらずインデックスを入力後エラーも何も出なかった
      • Firebase CLI のキャッシュをクリアしてみる
        1. firebase ext:sources:clear
          firebase setup:cache:clear
        2. 変化なし
      • インデックスフィールドの設定値を、一旦最もシンプルな値 (name など、1つのフィールド名のみ)にしてみる
        1. 変化なし
      • 他に必要な権限などがないのか
        1. 今持っている権限で問題なさそう
  • 現状
    • Firebase に拡張機能をローカルからインストールする方法について書かれた他の記事を調査してみる。

ターミナルの状態

AIが作成した実行手順

現在検証中のため、この方法が必ずしも正しい情報であるとは限りません。

**✅ 手順の検証:**

* **① 拡張機能のソースコードをダウンロード:**
    * **方法A:ZIPでダウンロードする(簡単):**  GitHub リポジトリからの ZIP ダウンロード方法は、ソースコードを手軽に入手する有効な手段です。手順も正確で分かりやすいです。
    * **GitHub リポジトリ:**  `https://github.com/firebase/extensions` も正しいリポジトリへのリンクです。`firestore-elastic-app-search` ディレクトリを指定している点も適切です。

* **② `extension.yaml` を開いて編集:**
    * **`extension.yaml` の場所:** `firestore-elastic-app-search` フォルダの中に `extension.yaml` ファイルがあるという説明も正しいです。
    * **`runtime: nodejs14` の検索と置換:**  `extension.yaml` 内の `resources` セクションにある `shipToElastic` (Cloud Functions のリソース名) の `properties` 下に `runtime: nodejs14` が記述されている可能性が高いです。`nodejs20` への書き換えも正しい手順です。
    * **`runtime:` の複数箇所変更:**  **非常に重要な補足です!**  `extension.yaml` 内に複数の Cloud Functions リソース (`resources` の `type: firebaseextensions.v1beta.function` のブロック) が定義されている場合、それぞれに `runtime:` が存在する可能性があります。**すべて `nodejs20` に変更する必要がある** という注意喚起は適切です。

* **③ Firebase プロジェクトに拡張機能をインストール:**
    * **`cd path/to/firestore-elastic-app-search`:**  修正した拡張機能フォルダへの移動も正しい手順です。
    * **`firebase ext:install ./`:**  **`firebase ext:install ./` は、ローカルカスタムインストールを実行する正しいコマンド** です。`./` は現在のディレクトリ (修正した拡張機能フォルダ) を指定していることを意味し、YAML ファイルを Firebase CLI に認識させるために必要です。
    * **設定項目の入力:**  インストール時に Elastic App Search の API キーや接続情報などの設定項目を求められるという説明も正確です。Firebase Extensions の一般的なインストールフローです。

* **④ 確認する:**
    * **Firebase Console → 「拡張機能」:**  インストールされたか確認する場所として適切です。
    * **Cloud Functions → ext-firestore-elastic-app-search-* の関数が Node.js 20 で動いているか確認:**  Cloud Functions コンソールで、デプロイされた関数のランタイム環境を確認することは、変更が正しく反映されたかを検証する上で非常に重要です。関数名 `ext-firestore-elastic-app-search-*` も、この拡張機能で作成される Cloud Functions の命名規則に合致しています。

**💡補足:再インストール時のクリーンアップ**

* **古いバージョンのアンインストール (Firebase Console → 拡張機能):**  再インストール前に古いバージョンをアンインストールすることは、競合や設定の残存による問題を避けるために推奨されるプラクティスです。
* **Cloud Functions の削除 (Cloud Console → Cloud Functions):**  Cloud Functions が残っている場合も、削除しておくことでよりクリーンな状態から再インストールできます。関数名 `ext-firestore-elastic-app-search-*` を指定している点も適切です。
* **サービスアカウントの削除 (IAM → サービスアカウント):**  サービスアカウントの削除は、必須ではありませんが、不要なリソースを整理するという意味で、オプションとして提示するのは良いでしょう。`ext-xxxx 用のアカウント` という表現も、Firebase Extensions が自動生成するサービスアカウントの命名規則に基づいています。
AI_Agent
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
カテゴリー
人気記事
  • 【SUUMOスクレイピング】Struccleで物件データを全件収集
  • 【食べログスクレイピング】Struccleで飲食店データを全件収集し、法人リスト作成
  • 【ホットペッパービューティースクレイピング】Struccleでヘアサロンデータを全件収集
  • Struccle、DataStructor活用企業様の紹介
  • 【料金事例】営業コンサル企業が営業リスト収集のためSPEEDAから営業リスト収集
新着記事
  • 【決定版】Chromeスクレイピング拡張機能比較!7選
  • 「カスタム収集」の基本的な使い方
  • 「カスタム収集」とは?
目次
目次